Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών Μπεμπέλης Ευάγγελος του Χαριλάου Αριθμός Μητρώου: 5702 Θέμα «Υλοποίηση συστήματος κρυφών μνημών» Επιβλέπων Γκούτης Κωνσταντίνος Αριθμός Διπλωματικής Εργασίας: Πάτρα, (Οκτώβρης, 2009)

2 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η Διπλωματική Εργασία με θέμα «Υλοποίηση συστήματος κρυφών μνημών» Του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Μπεμπέλης Ευάγγελος του Χαριλάου Αριθμός Μητρώου: 5702 Παρουσιάστηκε δημόσια και εξετάστηκε στο Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις.../../ Ο Επιβλέπων Ο Διευθυντής του Τομέα Γκούτης Κωνσταντίνος Καθηγητής Χούσος Ευθύμιος Καθηγητής 2

3 Αριθμός Διπλωματικής Εργασίας: Θέμα: «Υλοποίηση συστήματος κρυφών μνημών» Φοιτητής: Μπεμπέλης Ευάγγελος Επιβλέπων: Γκούτης Κωνσταντίνος Περίληψη Στα πλαίσια της παρούσας διπλωματικής εργασίας υλοποιήθηκε ένας εξομοιωτής κρυφών μνημών και ένας επεξεργαστής αρχιτεκτονικής τύπου MIPS σε γλώσσα προγραμματισμού Java. Με την χρήση του εξομοιωτή και ενός αλγορίθμου πολλαπλασιασμού πίνακα επί πίνακα γραμμένο σε συμβολική γλώσσα assembly αξιολογήθηκαν τα χαρακτηριστικά των κρυφών μνημών όπως συσχετιστικότητα, μέγεθος μπλοκ, μέγεθος μνήμης και ιεραρχία μνήμης. Ως αποτέλεσμα κατασκευάστηκε ένα εργαλείο αξιολόγησης τόσο της αρχιτεκτονικής του υλικού για έναν αλγόριθμο όσο και της αποδοτικότητας ενός αλγορίθμου που εισάγεται στο πρόγραμμα για μια αρχιτεκτονική.

4 Περιεχόμενα...1 ΕΙΣΑΓΩΓΗ...6 ΑΠΟΔΟΣΗ...8 Απόδοση υπολογιστικού συστήματος...8 Βελτίωση της απόδοσης...10 Απόδοση της CPU...11 Παραλληλισμός...13 ΜΝΗΜΗ...14 Τοπικότητα...14 Ιεραρχία μνήμης...14 Κρυφή μνήμη...16 Βασικές λειτουργίες κρυφών μνημών...18 Τοποθέτηση...19 Αναγνώριση...20 Αντικατάσταση...21 Εγγραφή...22 Απόδοση κρυφής μνήμης...23 Μέσος όρος προσπέλασης μνήμης και απόδοση του επεξεργαστή...24 Βελτίωση της απόδοσης της κρυφής μνήμης...25 Μείωση ποινής αστοχίας κρυφής μνήμης...25 Μείωση ρυθμού αστοχίας...28 Μειώνοντας την ποινή ή το ρυθμό αστοχίας μέσω παραλληλισμού...30 Μείωση χρόνου ευστοχίας...31 ΥΛΟΠΟΙΗΣΗ...33 Υλοποίηση εξομοιωτή...33 Αρχιτεκτονική επεξεργαστή...33 Ιεραρχία μνήμης...34 Εξομοίωση...34 ΜΕΤΡΗΣΕΙΣ ΣΥΜΠΕΡΑΣΜΑΤΑ...36 Διάταξη L1 Shared Cache L2 Shared Cache...38 Αλλαγή associativity...38 Αλλαγή μεγέθους μνήμης...41 Αλλαγή μεγέθους μνήμης Write Through...43 Αλλαγή μεγέθους μνήμης Write Back...45 Εξομοίωση bottleneck...46 Αλλαγή μεγέθους block με σταθερό μέγεθος μνήμης...47 Διάταξη L1 Instruction Cache, L1 Data Cache L2 Shared Cache...50 Αλλαγή associativity...50 Αλλαγή μεγέθους μνήμης...53 Αλλαγή μεγέθους μνήμης Write Through...56 Αλλαγή μεγέθους μνήμης Write Back...58 Εξομοίωση bottleneck...61 Αλλαγή μεγέθους block με σταθερό μέγεθος μνήμης...61 ΠΑΡΑΡΤΗΜΑΤΑ...65 Παράρτημα 1: Κώδικας Java του εξομοιωτή...65 Παράρτημα 2: Αλγόριθμος πολλαπλασιασμού πινάκων σε C

5 Παράρτημα 3: Αλγόριθμοι πολλαπλασιασμού πινάκων σε assembly x x

6 ΕΙΣΑΓΩΓΗ Από την εποχή που ο άνθρωπος άρχισε να μηχανεύεται, εμφανίστηκαν και οι πρώτες μηχανές που απλοποιούσαν τις αριθμητικές πράξεις και τους υπολογισμούς. Έτσι από το 5000 π.χ. εμφανίζεται ο άβακας. Κατά τα επόμενα χρόνια εμφανίστηκαν διάφορες άλλες υπολογιστικές μηχανές όπως ο αστρολάβος και ο μηχανισμός των Αντικυθήρων, αλλά η έννοια του υπολογιστή εμφανίστηκε την εποχή της αναγέννησης και δεν αναφερόταν σε μηχανή αλλά σε άνθρωπο που έκανε υπολογισμούς και πράξεις. Το 1822 ο Charles Babbage πρότεινε την κατασκευή μιας αναλυτικής μηχανής (analytical engine) η οποία υλοποιήθηκε το 1847 και ήταν ικανή να υπολογίζει λογαρίθμους και τριγωνομετρικές συναρτήσεις. Χρησιμοποιούσε ως είσοδο διάτρητες κάρτες που είχαν ήδη εμφανισθεί στους αργαλειούς και ως έξοδο είχε έναν εκτυπωτή, έναν σχεδιογράφο καμπυλών και ένα καμπανάκι. Η δομή του περιείχε στοιχεία που μοιάζουν πολύ με τους σύγχρονους υπολογιστές, όπως μνήμη και αριθμητική μονάδα ενώ η γλώσσα προγραμματισμού έμοιαζε πολύ με σύγχρονες συμβολικές γλώσσες (assembly language), ικανή να περιέχει διακλαδώσεις και επαναλήψεις. Στην αρχή του 20ου αιώνα η όλο και αυξανόμενη ανάγκη για επιστημονικούς υπολογισμούς οδήγησε στην ανάπτυξη των πρώτων σύγχρονων υπολογιστικών συστημάτων καθώς και την εμφάνιση εννοιών όπως η άλγεβρα Boolean, η διάτρητη κάρτα και η λυχνία. Το 1936 o Allan Turing διατύπωσε μια τυποποίηση της έννοιας του αλγορίθμου και του υπολογισμού με την μηχανή Turing. Κατά την διάρκεια του 2ου Παγκοσμίου Πολέμου η ανάγκη κρυπτογραφίας και ανάλυσης δεδομένων των αντιμαχόμενων πλευρών ώθησε στην ανάπτυξη όλο και πιο σύνθετων υπολογιστικών μηχανών όπως αυτή του Γερμανού Konrad Zuse, Z3, η οποία χρησιμοποιήθηκε για την στατιστική ανάλυση των ανεπιθύμητων ταλαντώσεων στα φτερά των αεροσκαφών. Άλλες μηχανές είναι η βρετανική Colossus που χρησιμοποιήθηκε για την αποκωδικοποίηση γερμανικών μηνυμάτων. Τελικά το 1946 εμφανίσθηκε ο πρώτος υπολογιστής γενικής χρήσης ο ENIAC (Electronic Numerical Integrator And Computer). Στις αρχές της δεκαετίας του 50 τα transistor ήταν διαθέσιμα δίνοντας την δυνατότητα κατασκευής φθηνότερων και πιο γρήγορων υπολογιστών. Οι υπολογιστές που υλοποιήθηκαν την εποχή αυτή αποτέλεσαν την δεύτερη γενιά υπολογιστών και έθεσαν τις βάσεις για την επόμενη και πιο σημαντική γενιά: των ολοκληρωμένων κυκλωμάτων (integrated circuits). Η εμφάνιση ολοκληρωμένων οφείλεται στους Jack St. Clair Kilby και Robert Noyce κατά την δεκαετία του Στα χρόνια που ακολούθησαν η ανάπτυξη των υπολογιστών ήταν ραγδαία. Στα μέσα του 1970 η απόδοση των υπολογιστών τόσο αυτών μεγάλης ισχύος (mainframes) όσο των προσωπικών υπολογιστών (mini-computers) αυξανόταν κατά 25% με 30% ετησίως. Η ανάπτυξη των ολοκληρωμένων κυκλωμάτων οδήγησε στην εμφάνιση του μικροεπεξεργαστή. Λόγω της μεγάλης εξάρτησης την ανάπτυξης των υπολογιστών με αυτή των ολοκληρωμένων κυκλωμάτων η απόδοση των μικροεπεξεργαστών αυξανόταν με ακόμα μεγαλύτερο ρυθμό αφού μπορούσε να ενσωματώνει πιο πολύ τις βελτιώσεις των ολοκληρωμένων κυκλωμάτων από τους λιγότερο ολοκληρωμένους υπολογιστές. Το μειωμένο κόστος λόγω μαζικής παραγωγής καθώς και η αυξανόμενη απόδοση ώθησε τους μικροεπεξεργαστές να αποσπούν όλο και μεγαλύτερο μέρος της αγοράς υπολογιστών. Εκείνη την περίοδο εμφανίστηκαν δυο σημαντικές αλλαγές στην αγορά των υπολογιστών. Πρώτον η εξάλειψη του προγραμματισμού συμβολικής γλώσσας μείωσε την ανάγκη συμβατότητας του πηγαίου κώδικα (source code) ενώ δεύτερον η δημιουργία 6

7 τυποποιημένων λειτουργικών συστημάτων τα οποία ήταν ανεξάρτητα από τους κατασκευαστές, όπως το UNIX μείωσε το ρίσκο της εισαγωγής μιας νέας αρχιτεκτονικής στην αγορά. Στην αρχή της δεκαετίας του 1980 πράγματι εμφανίστηκε έναν νέο σύνολο αρχιτεκτονικών, οι οποίες ονομάστηκαν αρχιτεκτονικές Υπολογιστών Μειωμένου Συνόλου Εντολών (Reduced Instruction Set Computers, RISC). Οι αρχιτεκτονικές αυτές οδήγησαν τους σχεδιαστές προς την χρήση δυο πολύ κρίσιμων τεχνικών όσον αφορά την απόδοση: την εκμετάλλευση του παραλληλισμού σε επίπεδο εντολής, μέσω της σωλήνωσης (pipeline) και την πολλαπλή έκδοση εντολών (multiple instruction issue), και την χρήση κρυφών μνημών (cache memory). Πλέον η ανάπτυξη των υπολογιστών δεν βασιζόταν μόνο στην ανάπτυξη της τεχνολογίας αλλά και στην ανάπτυξη της αρχιτεκτονικής. Το γεγονός αυτός εκτίναξε την ετήσια αύξηση της απόδοσης σε πάνω του 50%. Έτσι, ενώ το 1980 οι μικροεπεξεργαστές σχεδιάζονταν χωρίς κρυφές μνήμες οι μεταγενέστεροι ενσωματώνουν πολλαπλά επίπεδα κρυφής μνήμης. Όμως ενώ όπως αναφέρθηκε οι επεξεργαστές αναπτύσσονται με έναν ετήσιο ρυθμό άνω του 50% η αντίστοιχη ανάπτυξη των μνημών είναι της τάξης του 7% με αποτέλεσμα να υπάρχει ένα μεγάλο κενό απόδοσης επεξεργαστή μνήμης το οποίο πρέπει να καλυφθεί. Η εργασία αυτή μελετά την βελτιστοποίηση των διαφόρων χαρακτηριστικών των κρυφών μνημών ώστε να επιτευχθεί καλύτερη εκμετάλλευση των πόρων του επεξεργαστή.

8 ΑΠΟΔΟΣΗ Απόδοση υπολογιστικού συστήματος Ο χρόνος ανάμεσα στην έναρξη και την λήξη μιας διεργασίας ονομάζεται χρόνος εκτέλεσης (execution time). Αυτός ο χρόνος είναι πολύ σημαντικό χαρακτηριστικό ενός υπολογιστή αφού αποτελεί μέτρο σύγκρισης του υπολογιστή αυτού με άλλα συστήματα. Η απόδοση ενός υπολογιστή είναι: απόδοση= 1 χρόνος εκτέλεσης (1) Από την παραπάνω σχέση φαίνεται ότι η απόδοση (performance) και ο χρόνος εκτέλεσης (execution time) είναι αντίστροφα μεγέθη, αν αυξήσουμε την απόδοση θα μειωθεί ο χρόνος εκτέλεσης. Άλλο ένα σημαντικό χαρακτηριστικό ενός υπολογιστή είναι ο ρυθμός ολοκλήρωσης (throughtput). Το μέγεθος αυτό εκφράζει το συνολικό ποσό δουλειάς που γίνεται μέσα σε ένα συγκεκριμένο χρονικό διάστημα. Είτε χρησιμοποιούμε τον ρυθμό ολοκλήρωσης είτε τον χρόνο εκτέλεσης ο τρόπος μέτρησης είναι ο χρόνος, ο υπολογιστής που εκτελεί το ίδιο ποσό δουλείας σε λιγότερο χρόνο είναι ο πιο γρήγορος. Η διαφορά στα δυο μεγέθη είναι στο αν υπολογίζουμε βάση μιας εργασίας (χρόνος εκτέλεσης) ή βάση πολλών εργασιών (ρυθμός ολοκλήρωσης). Όμως ο χρόνος δεν είναι πάντα το κατάλληλο μέτρο σύγκρισης της απόδοσης των υπολογιστών. Αυτό συμβαίνει γιατί ο χρόνος εκτέλεσης μπορεί να οριστεί με διαφόρους τρόπους, ανάλογα με το τι μετράμε. Ο πιο άμεσος ορισμός του χρόνου λέγεται χρόνος ρολογιού τοίχου (wall clock time). Αυτός ο χρόνος περιλαμβάνει τον συνολικό χρόνο εκτέλεσης μιας εργασίας μαζί με τους χρόνους πρόσβασης δίσκου, των προσπελάσεων μνήμης των λειτουργιών εισόδου εξόδου (Ε/Ε), των επιβαρύνσεων του λειτουργικού συστήματος και ο,τιδήποτε άλλο επιβαρύνει το υπολογιστικό σύστημα την ώρα της μέτρησης. Ένας άλλος ορισμός είναι ο χρόνος CPU (Central Processing Unit - Κεντρική Μονάδα Επεξεργασίας, ΚΜΕ) που διακρίνει τους χρόνους που δαπανήθηκαν στις διεργασίες συστήματος και στον χρόνο που η CPU κάνει υπολογισμούς, χωρίς να περιλαμβάνεται ο χρόνος αναμονής για την Ε/Ε ή για την εκτέλεση άλλων προγραμμάτων. Ο χρόνος CPU υποδιαιρείται σε χρόνο εκτέλεσης του προγράμματος χρήστη και σε χρόνο εκτέλεσης του λειτουργικού συστήματος. Σημαντικό είναι να αναφερθούν τα προγράμματα τα οποία χρησιμοποιούνται για σύγκριση υπολογιστικών συστημάτων. Αυτά χωρίζονται στις παρακάτω κατηγορίες: 1. Πραγματικές εφαρμογές: Για την μέτρηση της απόδοσης μπορούν να χρησιμοποιηθούν πραγματικές εφαρμογές όπως μεταγλωττιστές της C, λογισμικό επεξεργασίας κειμένου και άλλα προγράμματα καθημερινής χρήσης. Οι εφαρμογές αυτές έχουν ένα μεγάλο μειονέκτημα ως προγράμματα σύγκρισης (benchmarks), αυτό είναι η περιορισμένη φορητότητα τους αφού εξαρτώνται από το λειτουργικό σύστημα ή από τον μεταγλωττιστή. Για την βελτίωση της φορητότητας 8

9 χρησιμοποιούνται τροποποιήσεις του πηγαίου κώδικα αλλά αυτό συνήθως έχει ως αποτέλεσμα την κατάργηση σημαντικών διεργασιών, όπως των αλληλεπιδρώντων γραφικών τα οποία συνήθως είναι εξαρτημένα από το σύστημα. 2. Τροποποιημένες (ή στημένες) εφαρμογές: Σε αυτήν την περίπτωση τα μετροπρογράμματα που χρησιμοποιούνται περιέχουν δομικά στοιχεία από πραγματικές εφαρμογές. Αυτό έχει ως σκοπό την βελτίωση της φορητότητας και την εστίαση της εκτέλεσης σε συγκεκριμένη πλευρά της απόδοσης του συστήματος. Δηλαδή για να γίνει πιο αποτελεσματική μέτρηση της απόδοσης μιας CPU πρέπει να απομακρυνθούν ή να ελαχιστοποιηθούν η επίδραση της Ε/Ε στον χρόνο εκτέλεσης. Αυτά τα μετροπρογράμματα χρησιμοποιούνται για την προσομοίωση πραγματικών εφαρμογών ή για προσομοίωση σύνθετων αλληλεπιδράσεων χρηστών σε έναν εξυπηρετητή. 3. Πυρήνες Σε αυτήν την περίπτωση αποσπώνται μικρά βασικά κομμάτια από πραγματικές εφαρμογές και χρησιμοποιούνται για την μέτρηση της απόδοσης. Σε αντίθεση με τις πραγματικές εφαρμογές κανείς δεν θα έτρεχε προγράμματα πυρήνα αφού χρησιμοποιούνται μόνο για την μέτρηση της απόδοσης. Οι πυρήνες χρησιμοποιούνται περισσότερο για την απομόνωση της απόδοσης κάποιων μεμονωμένων χαρακτηριστικών μιας μηχανής. Αυτό έχει ως σκοπό την εξήγηση των λόγων για τους οποίους υπάρχουν διαφορές στην απόδοση πραγματικών εφαρμογών. 4. Παιχνιδομετροπρογράμματα Τα προγράμματα αυτά είναι από 10 έως 100 γραμμές κώδικα και παράγουν ένα αποτέλεσμα το οποίο ο χρήστης γνωρίζει πριν τρέξει το παιχνιδοπρόγραμμα. Η καλύτερη χρήση αυτών των προγραμμάτων είναι για προγραμματιστικές ασκήσεις χαμηλού επιπέδου. 5. Συνθετικά μετροπρογράμματα Όπως και η πυρήνες τα συνθετικά μετροπρογράμματα προσπαθούν να επιτύχουν τη μέση συχνότητα λειτουργιών και τελεστών λειτουργίας ενός μεγάλου συνόλου προγραμμάτων. Κανένας χρήστης δεν τρέχει συνθετικά μετροπρογράμματα διότι δεν υπολογίζουν τίποτα από αυτά που ο χρήστης θα ήθελε. Για την ακρίβεια τα συνθετικά μετροπρογράμματα απέχουν ακόμα πιο πολύ από την πραγματικότητα από ότι οι πυρήνες επειδή ο κώδικας των πυρήνων προέρχεται από πραγματικά προγράμματα ενώ ο κώδικας των συνθετικών μετροπρογραμμάτων έχει δημιουργηθεί τεχνητά προκειμένου να επιτευχθεί ένα μέσο προφίλ εκτέλεσης. Τα συνθετικά μετροπρογράμματα δε είναι καν κομμάτια αληθινού προγράμματος, ενώ οι πυρήνες είναι. Πλέον είναι δημοφιλής η δημιουργία συλλογών από μετροπρογράμματα σε ια προσπάθεια μέτρησης της απόδοσης των επεξεργαστών με μια ποικιλία εφαρμογών. Αν και τέτοιου είδους συλλογές είναι τόσο καλές όσο τα μετροπρογράμματα που τις αποτελούν, το βασικό πλεονέκτημα που προσφέρουν είναι ότι η αδυναμία ενός μετροπρογράμματος μειώνεται από την παρουσία των άλλων. Αυτό είναι ιδιαίτερα αληθινό αν οι μέθοδοι που χρησιμοποιούνται για την σύνοψη της απόδοσης της συλλογής, απεικονίζουν τον χρόνο που χρειάζεται για να τρέξει ολόκληρη η συλλογή, και δεν επιβραβεύουν αυξήσεις της απόδοσης των επιμέρους προγραμμάτων, οι οποίες μπορούν να ανατραπούν από κάποιες βελτιστοποιήσεις.

10 Βελτίωση της απόδοσης Με βάση τα παραπάνω αξίζει πλέον να αναφερθούν τρόποι με τους οποίους βελτιώνεται η απόδοση ενός υπολογιστικού συστήματος. Η πλέον σημαντική και ευρεία αρχή του σχεδιασμού υπολογιστών είναι να γίνεται γρήγορη η κοινή περίπτωση. Σε κάθε σχεδίαση υπάρχει προτίμηση της συχνής περίπτωσης από ότι της σπάνιας. Η βελτίωση του συχνού γεγονότος έναντι του σπάνιου, προφανώς θα βελτίωση της απόδοση. Επίσης η συχνή περίπτωση συνήθως είναι απλούστερη και βελτιώνεται πιο γρήγορα από ότι η σπάνια. Για να εφαρμοστεί αυτή η αρχή πρέπει να εντοπιστεί η συνηθισμένη περίπτωση και κατά πόσο μπορεί να βελτιωθεί η απόδοση κάνοντας την γρηγορότερη. Ένας θεμελιώδης νόμος, ο Νόμος του Amdahl, μπορεί να χρησιμοποιηθεί για να ποσοτικοποιήσουμε αυτή την αρχή. Το κέρδος σε απόδοση που μπορούμε να έχουμε βελτιώνοντας κάποιο μέρος του υπολογιστή μπορεί να μετρηθεί χρησιμοποιώντας τον Νόμο του Amdahl. Ο Νόμος του Amdahl υποστηρίζει ότι η βελτίωση της απόδοσης που επιτυγχάνεται με την χρήση μιας πιο γρήγορης μεθόδου εκτέλεσης περιορίζεται από το κλάσμα του χρόνου στον οποίο μπορεί να χρησιμοποιηθεί η μέθοδος αυτή. Ο Νόμος του Amdahl ορίζει την επιτάχυνση που μπορούμε να αποκτήσουμε με ένα συγκεκριμένο χαρακτηριστικό. Επιτάχυνση είναι ο λόγος: Επιτάχυνση= Απόδοση χρησιμοποιώντας την βελτιστοποίηση όπου μπορούμε Απόδοση χωρίς την βελτιστοποίηση (2) Η επιτάχυνση εκφράζει το πόσο γρηγορότερα θα τρέχει μια εργασία χρησιμοποιώντας το μηχάνημα με την βελτιστοποίηση σε αντίθεση με το αρχικό μηχάνημα. Η επιτάχυνση μπορεί να εκφραστεί και ως εξής: Επιτάχυνση= Χρόνος Εκτέλεσης χωρίς βελτιστοποίηση Χρόνος εκτέλεσης χρησιμοποιώντας την βελτιστοποίηση όπου μπορούμε (3) Ο χρόνος εκτέλεσης χρησιμοποιώντας το μηχάνημα με την βελτιστοποίηση θα είναι ο χρόνος που δαπανήθηκε στο μη βελτιστοποιημένο κομμάτι της μηχανής συν το χρόνο που δαπανήθηκε στο βελτιστοποιημένο: 10

11 Χρόνος = Χρόνος Εκτέλεσης νέος Εκτέλεσης παλιός 1 Κλάσμα Κλάσμα βελτιστοποίησης βελτιστοποίησης Επιτάχυνση βελτιστοποίησης (4) Τελικά: = Χρόνος εκτέλεσης Επιτάχυνση συνολική = παλιός 1 Χρόνος εκτέλεσης 1 Κλάσμα βελτιστοποίησης Κλάσμα (5) βελτιστοποίησης νέος Επιτάχυνση βελτιστοποίησης Ο νόμος του Amdahl εκφράζει το νόμο των μειούμενων αποδόσεων: Η ποσοστιαία βελτίωση της επιτάχυνσης που αποκτάται με μια επιπρόσθετη βελτίωση της απόδοσης ενός μέρους μόνο του υπολογισμού, μειώνεται καθώς προστίθενται βελτιώσεις. Ένα σημαντικό πόρισμα που προκύπτει από τον νόμο του Amdahl είναι ότι, αν μια βελτιστοποίηση μπορεί να χρησιμοποιηθεί μόνο για ένα κλάσμα της εργασίας, τότε δεν μπορούμε να επιταχύνουμε την εργασία περισσότερο από το αντίστροφο του 1 μείον αυτό το κλάσμα. Ο Νόμος του Amdahl μπορεί να χρησιμεύσει ως οδηγός για το πόσο μια βελτιστοποίηση θα βελτιώσει την απόδοση και για το πως θα κατανέμουμε τους πόρους για να βελτιώσουμε τη σχέση κόστους προς απόδοση. Ξεκάθαρα, ο στόχος είναι να χρησιμοποιούνται οι πόροι αναλογικά με το που καταναλώνεται ο χρόνος. Απόδοση της CPU Η πλειοψηφία των σύγχρονων υπολογιστικών συστημάτων δουλεύουν σύγχρονα βάση ενός ρολογιού το οποίο λειτουργεί με σταθερή συχνότητα. Οι διακριτοί χρόνοι που προκύπτουν από το ρολόι που χρησιμοποιήται έχουν διάφορα ονόματα: τικ (ticks), χτύποι ρολογιού (clock ticks), περίοδοι ρολογιού (clock periods), ρολόγια (clocks), κύκλοι (cycles) ή κύκλοι ρολογιού (clock cycles). Σε αυτήν την εργασία θα χρησιμοποιηθεί ο όρος κύκλος (cycle). Η ποσότητα αυτή μετριέται είτε σε συχνότητα (Ghz) είτε σε χρόνο (ns). Ο χρόνος της CPU εκφράζεται ως: ΚύκλοιCPU Χρόνος CPU = ΚύκλοιCPU για ένα πρόγραμμα Χρόνος κύκλου = για ένα πρόγραμμα Συχνότητα ρολογιού (6) Εκτός από τον αριθμό των κύκλων ρολογιού που χρειάζονται για να εκτελεστεί ένα πρόγραμμα ένα άλλο σημαντικό μέγεθος είναι ο αριθμός των εντολών που εκτελούνται το μήκος μονοπατιού εντολών (instruction path length) ή τον αριθμό των εντολών ( instruction count, IC). Αν είναι γνωστός ο αριθμός των κύκλων ρολογιού και ο αριθμός των

12 εντολών τότε υπολογίζεται ο μέσος αριθμός των κύκλων ρολογιού ανά εντολή (clock cycles per instruction, CPI). Μερικές φορές χρησιμοποιούνται και οι εντολές ανά κύκλο ρολογιού (instructions per clock, IPC), το αντίστροφο του CPI. Το CPI υπολογίζεται ως εξής: CPI = Κύκλοι CPU γιαένα πρόγραμμα Αριθμός εντολών (7) Λόγω της ανεξαρτησίας του συνόλου εντολών το CPI είναι πολύ σημαντικό μέτρο απόδοσης το οποίο χρησιμοποιήται στην παρούσα εργασία. Επίσης το CPI μπορεί να συσχετιστεί με τον χρόνο CPU ως εξής: Αριθμός Εντολών Χρόνος CPU =Αριθμός εντολών Χρόνος κύκλου ρολογιού CPI = Συχνότητα ρολογ (8) Συμπερασματικά η απόδοση μιας CPU εξαρτάται από τον κύκλο ρολογιού, τους κύκλους ρολογιού ανά εντολή (CPI) και τον αριθμό εντολών. Οι τρεις αυτοί παράγοντες εξαρτώνται ως εξής: Χρόνος κύκλου ρολογιού - Τεχνολογία υλικού και οργάνωση CPI Οργάνωση και αρχιτεκτονική συνόλου εντολών Αριθμός εντολών Αρχιτεκτονική συνόλου εντολών και τεχνολογία μεταγλώττισης Λόγω της άμεσης αλληλεπίδρασης των τριών αυτών χαρακτηριστικών είναι δύσκολο να βελτιωθεί μόνο ένα από τα τρία χωρίς να επηρεαστούν τα άλλα δυο. Η κύρια τακτική είναι η βελτίωση του ενός από τα τρία με προβλέψιμες και μικρές επιδράσεις στα άλλα δυο. Σημαντικός επίσης είναι ο αριθμός των συνολικών κύκλων ρολογιού της CPU με τον τύπο: n Κύκλοι ρολογιούcpu = IC i CPI i (9) i=1 όπου IC ο αριθμός τον φορών που εκτελείται η εντολή i σε ένα πρόγραμμα και το CPI συμβολίζει το μέσο αριθμό κύκλων ρολογιού για την εντολή i. Αυτός ο τύπος μπορεί να χρησιμοποιηθεί για να εκφραστεί ο χρόνος CPU ως: Χρόνος CPU = i=1 n IC i CPI i Χρόνος κύκλου ρολογιού (10) και το συνολικό CPI: 12

13 n IC i CPI i n i=1 CPI = Αριθμός εντολών = i =1 IC i Αριθμός εντολών CPI i (11) Το CPI υπολογίζεται με τον πολλαπλασιασμό κάθε ξεχωριστού CPI με το κλάσμα των εμφανίσεων της εντολής i σε ένα πρόγραμμα. Το CPI της κάθε i εντολής πρέπει να μετριέται και όχι να υπολογίζεται ώστε να περιλαμβάνονται οι επιδράσεις του pipeline (σωλήνωση) και οι αστοχίες της κρυφής μνήμης που θα αναλυθούν παρακάτω. Παραλληλισμός Η έννοια του παραλληλισμού είναι πολύ σημαντική στους υπολογιστές για αυτόν τον λόγο μια σύντομη αναφορά σε αυτήν την έννοια θα γίνει σε αυτήν την παράγραφο. Υπάρχουν τρία κύρια επίπεδα παραλληλισμού. Το πρώτο είναι ο παραλληλισμός σε επίπεδο συστήματος. Για να έχουμε άμεση επιτάχυνση ενός υπολογιστικού συστήματος μπορούμε να χρησιμοποιήσουμε πολλαπλούς επεξεργαστές και πολλαπλούς δίσκους. Αυτός είναι ο κύριος λόγος που ένα από τα πιο σημαντικά χαρακτηριστικά ενός υπολογιστή είναι η επεκτασιμότητα του. Το δεύτερο επίπεδο είναι ο παραλληλισμός μεταξύ εντολών ο οποίος είναι σημαντικός για την επίτευξη υψηλής απόδοσης. Ο πιο απλός τρόπος επίτευξης αυτού του είδους παραλληλισμού είναι μέσω του pipeline. Η βασική ιδέα του pipeline είναι η επικάλυψη της εκτέλεσης των εντολών για να μειωθεί ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας εντολών. Η άμεση επίδραση του pipeline στην απόδοση της CPU φαίνεται από τους παραπάνω τύπους αφού μπορούμε να θεωρήσουμε ότι το pipeline μειώνει το CPI καθώς επιτρέπει την επικάλυψη εντολών με πολλαπλούς κύκλους εκτέλεσης. Ένα βασικό χαρακτηριστικό που επιτρέπει στο pipeline να έχει αυτά τα αποτελέσματα είναι ότι αρκετές εντολές είναι ανεξάρτητες από τις αμέσως προηγούμενες τους και έτσι η εκτέλεση των εντολών μερικώς ή εξ ολοκλήρου παράλληλα μπορεί να είναι δυνατή. Τέλος μπορούμε να εκμεταλλευτούμε τον παραλληλισμό στο επίπεδο της λεπτομερούς ψηφιακής σχεδίασης. Αυτές οι τεχνικές χρησιμοποιούνται για παράδειγμα στις συνολοσυσχετιστικές κρυφές μνήμες συνάφειας συνόλου όπου πολλές υπομονάδες μνήμης ενεργοποιούνται παράλληλα κατά την διάρκεια μιας αναζήτησης.

14 ΜΝΗΜΗ Σε αυτό το κεφάλαιο θα αναφερθούν κάποιες βασικές έννοιες των μνημών όπως η τοπικότητα και η ιεραρχία μνήμης καθώς και των κρυφών μνημών και των χαρακτηριστικών τους. Τοπικότητα Παρά το γεγονός ότι ο Νόμος του Amdahl είναι ένα θεώρημα που εφαρμόζεται σε οποιοδήποτε σύστημα, άλλες σημαντικές παρατηρήσεις προέρχονται από τις ιδιότητες των προγραμμάτων. Η πιο σημαντική ιδιότητα την οποία χρησιμοποιούμε συχνά είναι η αρχή της τοπικότητας (locality). Τα προγράμματα τείνουν να ξαναχρησιμοποιήσουν δεδομένα και εντολές που χρησιμοποίησαν πρόσφατα. Ένας γενικά αποδεκτός εμπειρικός κανόνας λέει ότι ένα πρόγραμμα περνά το 90% του χρόνου εκτέλεσης σε μόνο 10% του κώδικα. Αποτέλεσμα της τοπικότητας είναι η δυνατότητα πρόβλεψης με σχετική ακρίβεια ποιες εντολές και ποια δεδομένα θα χρησιμοποιηθούν από ένα πρόγραμμα στο άμεσο μέλλον βάση των προσβάσεων του προγράμματος στο πρόσφατο παρελθόν. Η αρχή της τοπικότητας ισχύει και για προσβάσεις δεδομένων αλλά όχι τόσο όσο στις προσβάσεις κώδικα. Έχουν παρατηρηθεί δυο διαφορετικά είδη τοπικότητας: Η χρονική τοπικότητα η οποία ορίζει ότι τα αντικείμενα που χρησιμοποιήθηκαν πρόσφατα θα χρησιμοποιηθούν στο εγγύς μέλλον. Η χωρική τοπικότητα λέει ότι αντικείμενα των οποίων οι διευθύνσεις είναι κοντινές μεταξύ τους τείνουν να προσπελάζονται σε κοντινούς μεταξύ τους χρόνους. Ιεραρχία μνήμης Είναι κοινά αποδεκτό ότι θα ήταν ιδανικό ένας υπολογιστής να έχει πρόσβαση σε απεριόριστες ποσότητες ταχείας μνήμης. Αυτό όμως δεν είναι δυνατόν λόγω κόστους για αυτό μια οικονομικότερη λύση η οποία εκμεταλλεύεται την τοπικότητα και το κόστος απόδοσης των τεχνολογιών μνήμης. Αυτή είναι η δημιουργία μιας ιεραρχικής δομής μνημών διαφορετικού μεγέθους, ταχύτητας και κόστους. Έτσι οι μνήμες χωρίζονται σε μικρές μνήμες οι οποίες επιτρέπουν γρήγορη πρόσβαση και πολύ μεγάλο bandwidth, σε αργότερες μεγαλύτερες μνήμες οι οποίες μπορούν να καλύπτουν μεγαλύτερο μέρος της μνήμης και έχουν μια ικανοποιητικά γρήγορη ταχύτητα και τέλος σε τεράστιες μνήμες οι οποίες κρατούν δεδομένα που σπανίως χρειάζονται και χρησιμοποιούνται για την ορθότητα του συστήματος. Όλα μαζί αυτά τα επίπεδα παρέχουν την εμφάνιση μιας μεγάλης γρήγορης μνήμης με κόστος φθηνής αργής μνήμης. Όπως ήδη αναφέρθηκε η ιεραρχική μνήμη δουλεύει λόγω της τοπικότητας τόσο χωρικής όσο και τοπικής καθώς και του γεγονότος του ότι γίνονται περισσότερες αναγνώσεις από εγγραφές στην μνήμη. Αυτό συμβαίνει γιατί όλες οι φορτώσεις εντολών (instruction fetches) είναι αναγνώσεις και οι περισσότερες προσβάσεις σε δεδομένα είναι αναγνώσεις. Έτσι οι ιεραρχικές μνήμες σχεδιάζονται με βελτιστοποιημένη την ικανότητα ανάγνωσης. Ένα απλό μοντέλο κρυφής μνήμης μπορεί να εκτιμηθεί ως εξής: Με t c τον χρόνο προσπέλασης της κρυφής μνήμης, t m ο επιπρόσθετος χρόνος σε 14

15 περίπτωση αστοχίας της κρυφής μνήμης και h το κλάσμα της μνήμης που προσπελαύνεται επιτυχώς στην κρυφή μνήμη τότε η μέσος ή αποτελεσματικός χρόνος προσπέλασης μνήμης είναι: t eff =h t c 1 h t m (12) Εύκολα είναι παρατηρήσιμο ότι για μεγάλες τιμές του h η αποτελεσματική απόδοση της μνήμης πλησιάζει αυτή της κρυφής μνήμης. Μια τυπική ιεραρχία μνήμης είναι η παρακάτω: Σχήμα 1: Ιεραρχία Μνήμης Όπως φαίνεται στο σχήμα 1 οι μνήμες με το μικρότερο μέγεθος και το μικρότερο χρόνο προσπέλασης βρίσκονται κοντινότερα στον επεξεργαστή ενώ μεγαλώνουν όσο η μνήμη απομακρύνεται από τον επεξεργαστή. Κρυφή μνήμη Κρυφή μνήμη είναι το όνομα που δίνεται στο πρώτο επίπεδο της ιεραρχίας της μνήμης που συναντάται από την στιγμή που η διεύθυνση αφήνει την CPU.[CA001] Από την στιγμή που η αρχή της τοπικότητας ισχύει σε σε πολλά επίπεδα και η εκμετάλλευση της

16 τοπικότητας για βελτίωση της απόδοσης είναι δημοφιλής, ο όρος κρυφή μνήμη πλέον απευθύνεται οπουδήποτε γίνεται εκμετάλλευση της μνήμης για να χρησιμοποιηθούν στοιχεία που συχνά συναντώνται. Όταν η CPU βρίσκει ένα αιτούμενο στοιχείο δεδομένων στην κρυφή μνήμη αυτό ονομάζεται ευστοχία κρυφής μνήμης (cache hit). Όταν η CPU δεν βρίσκει ένα στοιχείο δεδομένων στην κρυφή μνήμη συμβαίνει αστοχία κρυφής μνήμης (cache miss). Μια συγκεκριμένου μεγέθους συλλογή δεδομένων, που περιλαμβάνει την απαιτούμενη λέξη που ονομάζεται μπλοκ, ανασύρεται από την κυρία μνήμη και τοποθετήται στην κρυφή μνήμη. Το μέγεθος είναι τις τάξης των 2 k bytes όπου το k συνήθως παίρνει τιμές από 1 μέχρι 15. Το μέγεθος του μπλοκ μπορεί να διαφέρει από την κύρια μνήμη στην cache και από την κύρια μνήμη στον δίσκο (σελιδοποίηση εικονικής μνήμης, virtual memory page). Η χρονική τοπικότητα προβλέπει ότι μια λέξη θα χρησιμοποιηθεί πάλι στο εγγύς μέλλον έτσι είναι σωστό να τοποθετηθεί στην κρυφή μνήμη όπου θα είναι γρήγορα προσπελάσιμη. Λόγω της χωρικής τοπικότητας υπάρχει υψηλή πιθανότητα ότι και τα τα άλλα δεδομένα του μπλοκ θα χρειαστούν σύντομα. Ο χρόνος που χρειάζεται για την αστοχία κρυφής μνήμης εξαρτάται από την καθυστέρηση και από το εύρος ζώνης της μνήμης. Η καθυστέρηση αποφασίζει το χρόνο απόσυρσης της πρώτης λέξης του μπλοκ και το εύρος ζώνης τον χρόνο απόσυρσης του υπόλοιπου μπλοκ. Μια αστοχία μνήμης χειρίζεται το υλικό και αναγκάζει του επεξεργαστές, οι οποίοι ακολουθούν εκτέλεση σε σειρά να σταματήσουν ή να καθυστερήσουν μέχρι να είναι διαθέσιμα τα δεδομένα. Ομοίως, δεν είναι ανάγκη να είναι παρόντα στην κυρια μνήμη όλα τα αντικείμενα που αναφέρονται σε ένα πρόγραμμα/ Αν ο υπολογιστής έχει εικονική μνήμη, τότε μερικά αντικείμενα μπορούν να βρίσκονται στον δίσκο. Ο χώρος διευθύνσεων συνήθως διαιρείται σε μπλοκ σταθερού μεγέθους, που ονομάζονται σελίδες. Οποιαδήποτε στιγμή οποιαδήποτε σελίδα βρίσκεται είτε στην μνήμη είτε στον σκληρό δίσκο. Όταν η CPU αναφέρεται σε ένα στοιχείο μέσα σε μια σελίδα που δεν είναι παρούσα στην κρυφή μνήμη ή στην κύρια μνήμη, συμβαίνει ένα σφάλμα σελίδας και ολόκληρη η σελίδα μετακινείται από τον δίσκο στην κύρια μνήμη. Από την στιγμή που τα σφάλματα σελίδας καθυστερούν τόσο πολύ τα χειρίζεται λογισμικό και η CPU δεν σταματά. Η CPU συνήθως στρέφεται σε κάποια άλλη εργασία, ενώ συμβαίνει η προσπέλαση στο δίσκο. Η κρυφή μνήμη και η κύρια μνήμη έχουν την ίδια σχέση όπως η κύρια μνήμη και ο δίσκος. Εξαιτίας της τοπικότητας και της μεγαλύτερης ταχύτητας των μικρότερων μνημών, μια ιεραρχία μνήμης μπορεί ουσιαστικά να βελτιώσει την απόδοση σημαντικά. Μια μέθοδος αξιολόγησης της απόδοσης της κρυφής μνήμης είναι να επεκτείνουμε τον τύπο του χρόνου εκτέλεσης CPU που ήδη αναφέρθηκε. Υπολογίζοντας τον αριθμό των κύκλων, στη διάρκεια των οποίων η CPU σταματά περιμένοντας για μια προσπέλαση μνήμης, τους οποίους ονομάζουμε κύκλους καθυστέρησης μνήμης. Η απόδοση τότε είναι το γινόμενο του χρόνου κύκλου ρολογιού και του αθροίσματος των κύκλων CPU και των κύκλων καθυστέρησης μνήμης: Χρόνος εκτέλεσης CPU = Κύκλοι ρολογιούcpu κύκλοι καθυστέρησης Χρόνος κύκλ (13) Αυτή η ισότητα υποθέτει ότι οι κύκλοι ρολογιού CPU περιλαμβάνουν το χρόνο να χειριστούν μια ευστοχία μνήμης και ότι η CPU σταματά στην διάρκεια αστοχίας της μνήμης. Ο αριθμός των κύκλων καθυστέρησης μνήμης εξαρτάται και από τον αριθμό των αστοχιών 16

17 και από το κόστος ανά αστοχία, το οποίο ονομάζεται ποινή αστοχίας: Κύκλοι καθυστέρησης μνήμης= Αριθμός αστοχιών ποινή αστοχίας (14) Κύκλοι καθυστέρησης μνήμης= IC Αστοχίες Εντολή Ποινή αστοχίας (15) Κύκλοι καθυστέρησης μνήμης=ic προσπελάσεις μνήμης ρυθμό αστοχίας ποινήασ εντολή (16) Τα πλεονεκτήματα του τελευταίου τύπου είναι ότι τα συστατικά στοιχεία μπορούν εύκολα να μετρηθούν. Είναι ήδη γνωστό πως μετράμε τον αριθμό. Το μέτρημα του αριθμού αναφορών μνήμης ανά εντολή μπορεί να γίνει με τον ίδιο τρόπο κάθε εντολή απαιτεί μια προσπέλασης εντολής και μπορούμε εύκολα να αποφασίσουμε αν απαιτεί επίσης και προσπέλαση δεδομένων. Αν και η ποινή αστοχίας έχει υπολογιστεί ως μέσος όρος παρακάτω χρησιμοποιήται σαν να ήταν σταθερή. Η μνήμη πίσω από την κρυφή μνήμη μπορεί να είναι απασχολημένη τη στιγμή της αστοχίας εξαιτίας απαιτήσεων της μνήμης που έγιναν νωρίτερα ή λόγω ανανέωσης της μνήμης. Ο αριθμός των κύκλων ρολογιού επίσης ποικίλλει στις διεπαφές ανάμεσα στα διαφορετικά ρολόγια του επεξεργαστή, διαύλου και μνήμης. Γι' αυτό μόνο ένας αριθμός για ποινή αστοχία είναι απλούστευση. Ο ρυθμός αστοχίας είναι ο λόγος του αριθμού προσπελάσεων που αστοχούν προς τον αριθμό των συνολικών προσπελάσεων. Οι ρυθμοί αστοχίας μπορούν να μετρηθούν με προσομοιωτές κρυφής μνήμης οι οποίοι παίρνουν ένα ίχνος διευθύνσεων και των αναφορών σε εντολές και δεδομένα, προσομοιώνουν την συμπεριφορά των κρυφών μνημών για να εντοπίσουν ποιες αναφορές ευστοχούν και ποιες αστοχούν και μετά αναφέρουν τα αθροίσματα των ευστοχιών και αστοχιών. Κάποιοι μικροεπεξεργαστές παρέχουν υλικό για να μετρούν τν αριθμό των αστοχιών και των αναφορών μνήμης, γεγονός το οποίο αποτελεί έναν πολύ γρηγορότερο και ευκολότερο τρόπο για τη μέτρηση του ρυθμού αστοχίας. Ο τύπος που που αναφέρθηκε πιο πάνω αποτελεί μια προσέγγιση από την στιγμή που οι ρυθμοί αστοχίας και οι ποινές αστοχίας συχνά διαφέρουν από τις αναγνώσεις και τις εγγραφές. Για αυτόν τον λόγο οι χρόνοι ρολογιού καθυστέρησης μνήμης μπορούν να οριστούν με δικούς τους όρους: τον αριθμό προσπελάσεων μνήμης ανά εντολή, την ποινή αστοχίας (σε κύκλους ρολογιού) για εγγραφές και αναγνώσεις και τον ρυθμό αστοχίας για εγγραφές και αναγνώσεις. Κύκλοι ρολογιού καθυστέρησης μνήμης = IC Αναγνώσεις ανά εντολή Ποινή αστοχίας Ποινή αστοχίας αναγνώσεων αναγνώσεων (17) IC Εγγραφές Ρυθμός αστοχίας Ποινή αστοχίας ανά εντολές εγγραφών εγγραφών Είναι συνηθισμένη η απλούστευση του παραπάνω τύπου συνδυάζοντας εγγραφές και αναγνώσεις και βρίσκοντας τον μέσο όρο ρυθμού αστοχίας και ποινής αστοχίας για αναγνώσεις και εγγραφές. (18)

18 Κύκλοι ρολογιού Προσπελάσεις μνήμης = IC Ρυθμός αστοχίας Ποινή αστοχία (19) καθυστέρησης μνήμης Εντολή Ο ρυθμός αστοχίας είναι μια από τις πιο σημαντικές παραμέτρους των κρυφών μνημών. Μια διαφορετική έκφραση του ρυθμού αστοχίας πέρα από το αστοχίες ανά αναφορά μνήμης είναι η αστοχία ανά εντολή: Ρυθμός Προσπελάσεις μνήμης Αστοχίες Εντολή = αστοχίας Αριθμός εντολών = Ρυθμός Προσπελάσεις μνήμης αστοχίας Εντολή (20) Το πλεονέκτημα των αστοχιών ανά εντολή είναι ότι είναι ανεξάρτητες από την υλοποίηση σε υλικό. Λόγο του διαφορετικού μεγέθους του συνόλου εντολών που χρησιμοποιεί ο κάθε επεξεργαστής, η διαφορά στο ποσοστό του πλήθους των εντολών που πραγματικά χρησιμοποιούνται μπορεί τεχνητά να μειώσει το ρυθμό αστοχίας αν μετρηθεί ως αστοχίες ανά αναφορά μνήμης παρά ανά εντολή. Το μειονέκτημα είναι ότι οι αστοχίες ανά εντολή είναι αρχιτεκτονικά εξαρτώμενες επειδή για παράδειγμα ο μέσος αριθμός των προσπελάσεων μνήμης ανά εντολή μπορεί να είναι πολύ διαφορετική ανά επεξεργαστή. Βασικές λειτουργίες κρυφών μνημών Υπάρχουν τέσσερα βασικά ζητήματα που προκύπτουν με την ιεραρχία μνήμης και την χρήση των κρυφών μνημών.[mem001] Αυτά είναι τα παρακάτω: Τοποθέτηση Αναγνώριση Αντικατάσταση Εγγραφή Τοποθέτηση Το πρόβλημα με την τοποθέτηση έγκειται στο που μπορεί να τοποθετηθεί ένα μπλοκ σε μια κρυφή μνήμη. Υπάρχουν τρεις διαφορετικές περιπτώσεις οργάνωσης κρυφής μνήμης: Αν κάθε μπλοκ έχει μόνο μια θέση που μπορεί να εμφανίζεται στην κρυφή μνήμη,η κρυφή μνήμη ονομάζεται άμεσα αντιστοιχισμένη (direct mapped). Αυτή η αντιστοίχηση ορίζεται ως εξής: διεύθυνση του μπλοκ MOD αριθμός μπλοκ στην κρυφή μνήμη (21) Αν ένα μπλοκ μπορεί να τοποθετηθεί οπουδήποτε μέσα στην μνήμη, η κρυφή μνήμη ονομάζεται πλήρως συσχετιστική (fully associative). 18

19 Αν ένα μπλοκ μπορεί να τοποθετηθεί σε περιορισμένο αριθμό θέσεων στην κρυφή μνήμη τότε η κρυφή μνήμη είναι συνολοσυσχετιστική (set associative). Ένα σύνολο είναι μια ομάδα από μπλοκ στην κρυφή μνήμη. Ένα block αρχικά αντιστοιχίζεται σε ένα σύνολο και μετά το μπλοκ μπορεί να τοποθετηθεί οπουδήποτε μέσα σε αυτό το σύνολο. Το σύνολο επιλέγεται όπως επιλέγεται η θέση στην περίπτωση direct mapped μνήμης: διεύθυνση του μπλοκ MOD αριθμός συνόλων στην κρυφή μνήμη (22) Αν υπάρχουν n μπλοκ σε ένα σύνολο, η τοποθέτηση στη κρυφή μνήμη ονομάζεται συνολοσυσχετιστική n δρόμων (n-way set- associative). Σχήμα 1: Τοποθέτηση μπλοκ σε κρυφή μνήμη Το εύρος κρυφών μνημών από την άμεσα αντιστοιχισμένη μέχρι την πλήρως συσχετιστική είναι στην πραγματικότητα μια συνέχεια επιπέδων από συνολοσυσχετισμό. Η άμεσα αντιστοιχισμένη είναι μια συνολοσυσχετιστική ενός δρόμου και μια πλήρως συσχετιστική κρυφή μνήμη με m μπλοκ είναι μια συνολοσυσχετιστική m δρόμων. Ισοδύναμα η άμεσα αντιστοιχισμένη μπορεί να θεωρηθεί ότι έχει m σύνολα και η πλήρως συσχετιστική ότι έχει ένα σύνολο. Η τεράστια πλειοψηφία των κρυφών μνημών επεξεργαστών σήμερα είναι άμεσα αντιστοιχισμένες, συνολοσυσχετιστικές 2 ή 4 δρόμων. Για παράδειγμα όπως φαίνεται στο παραπάνω σχήμα, η διεύθυνση 13 στην περίπτωση της άμεσα συσχετισμένης μπορεί να τοποθετηθεί στο τέταρτο μπλοκ (13mod8 = 5 άρα στην 5η θέση δηλαδή στο #4 μπλοκ). Στη περίπτωση της συνολοσυσχετιστικής 4 δρόμων πρέπει να τοποθετηθεί στο πρώτο σετ (13mod4 = 1 άρα στο πρώτο σετ άρα στο #0 σετ.). Έτσι μπορεί να τοποθετηθεί είτε στο #0 είτε στο #1 μπλοκ. Στην πλήρως συσχετιστική μνήμη η διεύθυνση 13 μπορεί να τοποθετηθεί σε οποιοδήποτε μπλοκ της κρυφής μνήμης. Στο σχήμα φαίνεται και ο όρος tag (ετικέτα) ο οποίος θα εξηγηθεί αμέσως πιο κάτω στην

20 αναγνώριση. Αναγνώριση Οι κρυφές μνήμες έχουν μια ετικέτα διεύθυνσης (tag) σε κάθε πλαίσιο μπλοκ η οποία δίνει την διεύθυνση του μπλοκ. Η ετικέτα κάθε μπλοκ κρυφής μνήμης που θα μπορούσε να περιέχει την επιθυμητή πληροφορία ελέγχεται για να δούμε αν ταιριάζει με την διεύθυνση του μπλοκ από την CPU. Ως κανόνας, όλες οι πιθανές ετικέτες ελέγχονται παράλληλα γιατί η ταχύτητα είναι σημαντική υπόθεση. Πρέπει να υπάρχει ένας τρόπος για να είναι δυνατόν να γνωστοποιήται αν ένα μπλοκ κρυφής μνήμης δεν έχει έγκυρες πληροφορίες. Η συνηθέστερη διαδικασία είναι να προστεθεί ένα bit εγκυρότητας στην ετικέτα το οποίο θα δείχνει αν μια εγγραφή περιέχει μαι έγκυρη διεύθυνση. Αν το bit δεν έχει τεθεί δεν μπορεί να υπάρχει ταίριασμα σε αυτήν την διεύθυνση. Έτσι μια διεύθυνση διαιρείται ως εξής: Η πρώτη υποδιαίρεση είναι ανάμεσα στην διεύθυνση του μπλοκ (hash) και και την απόκλιση του μπλοκ (offset). Η διεύθυνση του πλαισίου του μπλοκ μπορεί να διαιρεθεί περαιτέρω σε πεδίο ετικέτας (tag) και πεδίο δείκτη (index). Το πεδίο απόκλισης επιλέγει το επιθυμητό δεδομένο από το μπλοκ, το πεδίο δέικτη επιλέγει το σετ και το πεδίο της ετικέτας συγκρίνεται με αυτό για μια ευστοχία. Αν και η σύγκριση μπορούσε να γίνει περισσότερο πάνω στην διεύθυνση παρά πάνω στην ετικέτα, δεν υπάρχει τέτοια ανάγκη για τους παρακάτω λόγους: Η απόκλιση δεν θα έπρεπε να χρησιμοποιήται στη σύγκριση, αφού ολόκληρο το μπλοκ ή είναι παρόν ή όχι και συνεπώς όλες οι αποκλίσεις έχουν ως αποτέλεσμα ένα ταίριασμα εξ' ορισμού. Το να ελέγχουμε το δείκτη είναι πλεονάζον, αφού είχε χρησιμοποιηθεί για να επιλέξει το σύνολο που έπρεπε να ελεγχθεί. Μια διεύθυνση αποθηκευμένη στο σύνολο 0,για παράδειγμα, πρέπει να έχει 0 στο πεδίο δείκτη, αλλιώς δεν θα μπορούσε να αποθηκευθεί στο σύνολο 0. Αυτή η βελτιστοποίηση εξοικονομεί υλικό και ισχύ, μειώνοντας το πλάτος του μεγέθους μνήμης για την ετικέτα της κρυφής μνήμης. Σχήμα 2: Τμήματα μιας διεύθυνσης μιας συνολοσυσχετιστικής κρυφής μνήμης Αν το συνολικό μέγεθος της κρυφής μνήμης έχει διατηρηθεί ίδιο, αυξάνοντας τη συσχετιστικότητα αυξάνεται και ο αριθμός των μπλοκ αν σύνολο και κατ' αυτόν τον τρόπο μειώνοντας το μέγεθος του δείκτη και αυξάνοντας το μέγεθος της ετικέτας. Κύριος σκοπός της ετικέτας όπως φαίνεται είναι να μοναδικοποιεί ένα μπλοκ δεδομένων μέσα σε ένα σύνολο. Τυπικά οι παραπάνω τιμές υπολογίζονται ως εξής: διεύθυνση μπλοκ Hash =διεύθυνση MOD μέγεθος cache (23) 20

21 δείκτης index =hash/ μέγεθος ενός συνόλου σε δεδομένα (24) ετικέτα tag =hash MOD μέγεθος συνόλου σε δεδομένα (25) απόκλιση offset =διεύθυνση MOD μέγεθος ενός μπλοκ σε δεδομένα (26) Μέγεθος σε δεδομένα είναι το ελάχιστο ποσό δεδομένων που μπορούν να διαβαστούν. Έτσι, για παράδειγμα, αν το μέγεθος ενός μπλοκ είναι 16 bytes και το ελάχιστο ποσό δεδομένων είναι 4 bytes τότε το μέγεθος του μπλοκ σε δεδομένα είναι 4. Αντικατάσταση Το επόμενο σημαντικό ζήτημα είναι τι συμβαίνει όταν συμβεί μια αστοχία στην κρυφή μνήμη. Όταν συμβαίνει μια αστοχία, ο ελεγκτής της κρυφής μνήμης πρέπει να επιλέξει ένα μπλοκ να αντικατασταθεί με τα επιθυμητά δεδομένα. Ένα πλεονέκτημα της τοποθέτησης της άμεσης αντιστοίχισης είναι ότι οι επιλογές υλικού απλοποιούνται στην πραγματικότητα τόσο πολύ που δεν υπάρχει καμία επιλογή, μόνο ένα πλαίσιο του μπλοκ ελέγχεται για ευστοχία και μόνο αυτό το μπλοκ μπορεί να αντικατασταθεί. Με πλήρως συσχετιστική ή συνολοσυσχετιστική τοποθέτηση, υπάρχουν πολλά μπλοκ να επιλέξει κάνεις σε περίπτωση αστοχίας. Υπάρχουν τρεις βασικές στρατηγικές που χρησιμοποιούνται για την επιλογή του μπλοκ που αντικαθίστανται: Τυχαία. Για να απλοποιηθεί η κατανομή ομοιόμορφα, τα υποψήφια μπλοκ επιλέγονται τυχαία. Μερικά συστήματα παράγουν ψευδοτυχαίους αριθμούς μπλοκ για να πάρουν αναπαραγωγική συμπεριφορά, η οποία είναι ιδιαίτερα χρήσιμη όταν το υλικό εκκαθαρίζεται από σφάλματα. Λιγότερο προσφάτως χρησιμοποιημένο (least-recently used, LRU). Για να μειωθεί η πιθανότητα να απαλειφθεί πληροφορία που θα είναι χρήσιμη σύντομα, οι προσπελάσεις στα μπλοκ καταγράφονται. Χρησιμοποιώντας στο παρελθόν γίνεται μια πρόβλεψη του μέλλοντος, το μπλοκ που αντικαθίσταται είναι αυτό που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα. Το LRU στηρίζεται σε ένα συμπέρασμα της τοπικότητας: αν πρόσφατα χρησιμοποιημένα μπλοκ έιναι πιθανόν να χρησιμοποιηθούν πάλι, τότε ένας καλός υποψήφιος για απόρριψη είναι το λιγότερο προσφάτως χρησιμοποιημένο μπλοκ. Πρώτο μέσα, πρώτο έξω (First in First out, FIFO). Επειδή το LRU μπορεί να είναι περίπλοκο να το υπολογίσει κανείς, αυτό προσεγγίζει το LRU αποφασίζοντας το παλαιότερο μπλοκ αντί για το LRU. Όχι το πιο προσφάτως χρησιμοποιημένο (Not Most Recently Used, NMRU). Είναι μια λογική η οποία μοιάζει πολύ με την LRU αλλά είναι πιο δύσκολη σε υλοποίηση και δεν προτιμάτε. Ένα πλεονέκτημα της τυχαίας αντικατάστασης είναι ότι είναι απλή να την υλοποιήσεις στο υλικό. Καθώς ο αριθμός των μπλοκ που παρακολουθούνται αυξάνεται το LRU γίνεται βαθμιαία ακριβό και συχνά μόνο προσεγγίζεται.

22 Εγγραφή Οι αναγνώσεις κυριαρχούν στις προσπελάσεις κρυφής μνήμης του επεξεργαστή. Όλες οι προσπελάσεις εντολών είναι αναγνώσεις και οι περισσότερες εντολές δεν γράφουν στη μνήμη. Από την κυκλοφορία δεδομένων κρυφής μνήμης, οι εγγραφές είναι 10%. Για να επιταχυνθεί η συνηθισμένη περίπτωση πρέπει να βελτιστοποιηθούν οι αναγνώσεις, ειδικά επειδή οι επεξεργαστές παραδοσιακά περιμένουν τις αναγνώσεις να ολοκληρωθούν ενώ δεν χρειάζεται να περιμένουν για την ολοκλήρωση μιας εγγραφής. Ευτυχώς η συνηθισμένη περίπτωση είναι επίσης και η εύκολη περίπτωση για να επιταχυνθεί. Το μπλοκ μπορεί να διαβαστεί από την κρυφή μνήμη την ίδια στιγμή που διαβάζεται και συγκρίνεται η ετικέτα, έτσι η ανάγνωση του μπλοκ ξεκινά αμέσως μόλις η διεύθυνση του μπλοκ είναι διαθέσιμη. Αν η ανάγνωση είναι εύστοχη, το αιτούμενο κομμάτι του μπλοκ περνιέται στην CPU αμέσως. Εάν είναι μια αστοχία δεν υπάρχει όφελος αλλά ούτε ζημιά στους επεξεργαστές. Απλώς αγνοούν την τιμή που αναγνώστηκε. Θα ήταν επιθυμητό σε μια ανάγνωση για να αποφευχθεί περιττή δουλειά να έχουν διαχωριστεί τα δεδομένα ανάγνωσης από τον έλεγχο της διεύθυνσης, έτσι ώστε τα δεδομένα να μην διαβάζονται σε μια αστοχία. Αυτό δεν είναι δυνατόν σε μια εγγραφή. Η αλλαγή σε ένα μπλοκ δεν μπορεί να ξεκινήσει αν δεν ελεγχθεί η ετικέτα για να δούμε αν η διεύθυνση είναι εύστοχη. Επειδή ο έλεγχος της ετικέτας δεν μπορεί να συμβεί παράλληλα, οι εγγραφές φυσιολογικά παίρνουν περισσότερο χρόνο από ότι οι αναγνώσεις. Μια άλλη επιπλοκή είναι ότι ο επεξεργαστής επίσης προσδιορίζει το μέγεθος της εγγραφής συνήθως ανάμεσα σε 1 και 8 bytes, μόνο αυτό το τμήμα του μπλοκ μπορεί να αλλαχθεί. Αντιθέτως οι αναγνώσεις μπορούν να προσπελάσουν περισσότερα bytes από ότι είναι απαραίτητο άφοβα. Οι πολιτικές εγγραφών συχνά διακρίνουν τα σχέδια κρυφών μνημών. Υπάρχουν δυο βασικές επιλογές όταν γράφεις στην κρυφή μνήμη: Διεγγραφή (write through). Η πληροφορία γράφεται στο μπλοκ και στην κρυφή μνήμη και στο μπλοκ στην μνήμη χαμηλότερου επιπέδου. Ετεροχρονισμένη εγγραφή (write back). Η πληροφορία γράφεται μόνο στο μπλοκ στην κρυφή μνήμη. Το αλλαγμένο μπλοκ κρυφής μνήμης γράφεται στην κύρια μνήμη μόνο όταν αντικαθίσταται. Για να μειωθεί τη συχνότητα των ετεροχρονισμένα εγγεγραμμένων μπλοκ στην αντικατάσταση, ένα χαρακτηριστικό που ονομάζεται bit αλλοίωσης χρησιμοποιήται συχνά. Αυτό το bit κατάστασης υποδεικνύει αν το μπλοκ είναι αλλοιωμένο (αλλαγμένο ενώ είναι στην κρυφή μνήμη) ή καθαρό (μη αλλαγμένο). Αν είναι καθαρό, το μπλοκ δεν εγγράφεται ετεροχρονισμένα στην περίπτωση αστοχίας αφού η ίδια πληροφορία με αυτή της κρυφής μνήμης βρίσκεται σε χαμηλότερα επίπεδα. Τόσο το write back όσο το write through έχουν τα δικά τους πλεονεκτήματα το καθένα. Με το write back, οι εγγραφές συμβαίνουν με την ταχύτητα της κρυφής μνήμης και πολλαπλές εγγραφές μέσα σε ένα μπλοκ απαιτούν μόνο μία εγγραφή στη μνήμη χαμηλότερου επιπέδου. Αφού κάποιες εγγραφές δεν πηγαίνουν στην μνήμη, το write back χρησιμοποιεί λιγότερο εύρος ζώνης μνήμης κάνοντας το ελκυστικό για πολυεπεξεργαστές που χρησιμοποιούνται σε εξυπηρετητές. Αφού το write back χρησιμοποιεί το υπόλοιπο της ιεραρχίας μνήμης και τους διαύλους μνήμης λιγότερο από το write through εξοικονομεί επίσης ισχύ όντας πιο ελκυστικό σε ενσωματωμένες εφαρμογές. Το write through είναι ευκολότερο να υλοποιηθεί από ότι το write back. Η κρυφή μνήμη 22

23 είναι πάντα καθαρή, οπότε αντίθετα με τις αστοχίες ανάγνωσης στην περίπτωση του write back ποτέ δεν έχουν ως αποτέλεσμα εγγραφές στο χαμηλότερο επίπεδο. Το write through έχει επίσης το πλεονέκτημα ότι το αμέσως επόμενο χαμηλότερο επίπεδο έχει το πιο πρόσφατο αντίγραφο των δεδομένων, το οποίο απλοποιεί την συμβατότητα των δεδομένων. Η συμβατότητα των δεδομένων είναι σημαντική για τους πολυεπεξεργαστές που χρησιμοποιούν κοινές κρυφές μνήμες. Όταν η CPU πρέπει να περιμένει να ολοκληρωθούν οι εγγραφές στη διάρκεια του write through, η CPU λέγεται ότι είναι σε καθυστέρηση εγγραφής. Μια συνηθισμένη βελτιστοποίηση για να μειώσει κανείς τις καθυστερήσεις εγγραφών είναι μια μνήμη εγγραφών η οποία επιτρέπει στον επεξεργαστή αμέσως μόλις τα δεδομένα έχουν εγγραφή στην μνήμη επιταχύνοντας έτσι παραλληλισμό στην εκτέλεση του επεξεργαστή με την ενημέρωση μνήμης. Καθώς τα δεδομένα δεν χρειάζονται σε μια εγγραφή, υπάρχουν δυο επιλογές σε μια αστοχία εγγραφής: Κατανομής εγγραφής (write allocate). Το μπλοκ κατανέμεται σε μια αστοχία εγγραφής ακολουθούμενο από τις παραπάνω ενέργειες εύστοχης εγγραφής. Σε αυτή τη φυσική επιλογή, οι αστοχίες εγγραφών λειτουργούν ως αστοχίες αναγνώσεων. Κατανομή μη εγγραφής (no-write allocate). Αυτή η προφανώς ασυνήθιστη εναλλακτική λύση είναι ότι οι αστοχίες εγγραφής δεν επηρεάζουν την κρυφή μνήμη. Αντιθέτως, το μπλοκ αλλάζει μόνο στην μνήμη χαμηλότερου επιπέδου. Έτσι τα μπλοκ μένουν έξω από την κρυφή μνήμη στην κατανομή μη εγγραφής μέχρι το πρόγραμμα να προσπαθήσει να διαβάσει τα μπλοκ αλλά ακόμα και τα μπλοκ που είναι μόνο γραμμένα θα είναι ακόμα στην κρυφή μνήμη με την κατανομή εγγραφής. Η πολιτική της αστοχίας εγγραφής θα μπορούσε να χρησιμοποιηθεί είτε με write through είτε με write back. Φυσιολογικά οι κρυφές μνήμες χρησιμοποιούν write back και κατανομή εγγραφής, ελπίζοντας ότι οι επακόλουθες εγγραφές στο ίδιο μπλοκ θα συλληφθούν από την κρυφή μνήμη. Οι κρυφές μνήμες που χρησιμοποιούν write through συνήθως χρησιμοποιούν κατανομή μη εγγραφής. Η λογική σε αυτή την τακτική είναι ότι ακόμα κι αν υπάρχουν ακόλουθες εγγραφές στο ίδιο μπλοκ εφόσον οι εγγραφές σε αυτό το μπλοκ πρέπει να πάνε σε ακόμα χαμηλότερο επίπεδο δεν υπάρχει ουσιαστικό κέρδος. Απόδοση κρυφής μνήμης Όπως ήδη αναφέρθηκε η εκτίμηση της απόδοσης μιας CPU μόνο από τον αριθμό των εντολών είναι λάθος. Αντίστοιχα η εκτίμηση μιας ιεραρχίας μνήμης από τον ρυθμό αστοχίας είναι επίσης λάθος γιατί όπως ο αριθμός των εντολών είναι ανεξάρτητος από την ταχύτητα του υλικού. Μια καλύτερη μέτρηση της απόδοσης της μνήμης είναι ο μέσος χρόνος προσπέλασης της μνήμης: Μέσος χρόνος προσπέλασης = χρόνος της μνήμης ευστοχίας ρυθμός αστοχίας ποινή αστοχίας (27) όπου χρόνος ευστοχίας έιναι ο χρόνος της ευστοχίας στην κρυφή μνήμη. Τα συστατικά του μέσου όρου προσπέλασης μπορούν να μετρηθούν είτε σε απόλυτο χρόνο είτε σε αριθμό κύκλων ρολογιού που η CPU περιμένει για την μνήμη. Με βάση αυτόν τον χρόνο μπορούμε να συγκρίνουμε αποδόσεις μεταξύ διηρημένες κρυφές μνήμες και μια ενοποιημένη κρυφή μνήμη.

24 Μέσος όρος προσπέλασης μνήμης και απόδοση του επεξεργαστή Ο μέσος όρος προσπέλασης μνήμης προβλέπει την απόδοση του επεξεργαστή. Επειδή βέβαια υπάρχουν κι άλλοι λόγοι για παύση του επεξεργαστή πέρα από την μνήμη όπως οι διακοπές και συγκρούσεις που οφείλονται σε συσκευές εισόδου εξόδου που χρησιμοποιούν μνήμη. Στα παρακάτω θεωρούμε ότι δεν υπάρχουν παύσεις πέρα από αυτές που οφείλονται στην μνήμη αν και αυτό είναι απλοποίηση. Επίσης είναι σαφές ότι η απόδοση του επεξεργαστή εξαρτάται από την CPU. Αν θεωρήσουμε μια CPU η οποία δουλεύει εν σειρά τότε πράγματι ο μέσος όρος προσπέλασης μνήμης μπορεί να προβλέψει την απόδοση του επεξεργαστή. Οι παύσεις της CPU στη διάρκεια των αστοχιών, και ο χρόνος συστήματος της μνήμης είναι ισχυρώς συσχετισμένα με το μέσο χρόνο προσπέλασης μνήμης. Με βάση τις δυο παραπάνω παραδοχές λοιπόν μπορούμε να υπολογίσουμε τον χρόνο της CPU ως εξής: Χρόνος CPU = Κύκλοι ρολογιού Κύκλοι ρολογιού Χρόνος κύκλου εκτέλεσης CPU παύσης ρολογιού (28) Για έναν επεξεργαστή εκτέλεσης εκτός σειράς τα παραπάνω είναι πολύ πιο πολύπλοκα. Λόγω της επικάλυψης του χρόνου ποινής αστοχίας με την εκτέλεση άλλων εντολών έιναι δύσκολο να διαχωρίσει κάποιος με σαφήνεια ποια είναι η ποινή αστοχίας. Σε αυτήν την περίπτωση χρειάζεται ο παρακάτω καινούριος ορισμός των παύσεων μνήμης: Κύκλοι σταματήματος μνήμης = αστοχίες εντολή Εντολή καθυστέρηση συνολικής αστοχίας μη επικαλυπτόμενη καθυστέρησηαστοχίας (29) Ομοίως, όπως μερικές CPU εκτελέσεις εκτός σειράς διευρύνουν τον χρόνο ευστοχίας, αυτή η αναλογία της εξίσωσης της απόδοσης θα μπορούσε να διαιρεθεί από το σύνολο της καθυστέρησης της ευστοχίας μείον την μη επικαλυπτόμενη καθυστέρηση ευστοχίας. Αυτή η εξίσωση θα μπορούσε να επεκταθεί περαιτέρω για να υπολογίσει και τις συγκρούσεις για όρους μνήμης σε έναν επεξεργαστή εκτέλεσης εκτός σειράς διαιρώντας τη συνολική καθυστέρηση αστοχίας σε καθυστέρηση χωρίς συγκρούσεις και καθυστέρηση οφειλόμενη σε συγκρούσεις. Αφού ορίστηκε η παύση μνήμης πρέπει να οριστούν και τα παρακάτω: Μέγεθος της καθυστέρησης μνήμης. Τι δηλαδή θεωρείται ως η αρχή και το τέλος μιας λειτουργίας μνήμης σε έναν επεξεργαστή εκτός σειράς. Μέγεθος της επικαλυπτόμενης καθυστέρησης. Ποια είναι η αρχή της επικάλυψης με τον επεξεργαστή ή πότε μια λειτουργία μνήμης σταματάει τον επεξεργαστή. Λόγω της πολυπλοκότητας των επεξεργαστών εκτός σειράς δεν χρησιμοποιείται κάποιος σαφής ορισμός. Από την στιγμή που μόνο δεσμευμένες λειτουργίες παρατηρούνται στο επίπεδο αποχώρησης διοχέτευσης λέμε ότι ένας επεξεργαστής σταματάει σε έναν κύκλο ρολογιού αν δεν αποσύρει τον μεγαλύτερο πιθανό αριθμό εντολών σε αυτόν τον κύκλο. Βέβαια αυτός ο ορισμός δεν είναι απόλυτος. Για την καθυστέρηση η μέτρηση μπορεί να ξεκινάει από την στιγμή που η εντολή μνήμης μπαίνει στην ουρά στο παράθυρο εντολών, ή όταν η εντολή ουσιαστικά στέλνεται στο σύστημα μνήμης. Λόγω της πληθώρας επιλογών 24

25 στην παρούσα εργασία ο επεξεργαστής εκτελεί εντολές σε σειρά. Βελτίωση της απόδοσης της κρυφής μνήμης Ο τύπος μέσου χρόνου προσπέλασης μνήμης μας δίνει ένα σκελετό για να παρουσιαστούν οι βελτιστοποιήσεις κρυφής μνήμης που επέζησαν για βελτίωση της σειράς μνήμης ή της ισχύος: Μέσος χρόνος προσπέλασης = χρόνος της μνήμης ευστοχίας ρυθμός αστχίας ποινή αστοχίας Έτσι οι βελτιστοποιήσεις τις κρυφής μνήμης οργανώνονται σε τέσσερις κατηγορίες: Μείωση της ποινής αστοχίας: πολυεπίπεδες κρυφές μνήμες, την κρίσιμη λέξη πρώτα, αστοχία ανάγνωσης πριν από αστοχία εγγραφής και κρυφές μνήμες θυμάτων Μειώνοντας το ρυθμό αστοχίας: μεγαλύτερο μέγεθος μπλοκ, μεγαλύτερο μέγεθος κρυφής μνήμης, υψηλότερη συσχετιστικότητα πρόβλεψη δρόμων και ψευδοσυσχετιστικότητα και βελτιώσεις μεταφραστών (compilers). Μειώνοντας την ποινή ή το ρυθμό αστοχίας μέσω παραλληλισμού: κρυφές μνήμες που δεν μπλοκάρουν προ-λήψη υλικού και προ-λήψη compiler. Μειώνοντας το χρόνο να ευστοχήσουμε μέσα στην κρυφή μνήμη: μικρές και απλές κρυφές μνήμες, αποφεύγοντας την μετάφραση της διευθύνσεως, διοχέτευση προσπέλασης κρυφής μνήμης και κρυφές μνήμες παρακολούθησης. Μείωση ποινής αστοχίας κρυφής μνήμης (30) Πολυεπίπεδες κρυφές μνήμες: Πολλές τεχνικές για να μειωθεί η ποινή αστοχίας επηρεάζουν την CPU. Αυτή η τεχνική αγνοεί την CPU, εστιάζοντας στη διεπαφή ανάμεσα στην κρυφή μνήμη και στην κύρια μνήμη. Το κενό απόδοσης ανάμεσα στους επεξεργαστές και τις μνήμες οδηγεί στην ανάγκη τόσο μεγαλύτερων όσο και γρηγορότερων κρυφών μνημών. Προσθέτοντας άλλο ένα επίπεδο κρυφής μνήμης ανάμεσα στην αρχική κρυφή μνήμη και την μνήμη συνδυάζεται τόσο η ταχύτητα της μικρής κρυφής μνήμης που συμβαδίζει με την ταχύτητα του επεξεργαστή τόσο και η χωρητικότητα της δεύτερης κρυφής μνήμης που ελαττώνει τις αστοχίες μνήμης που θα πηγαίναν στην κύρια μνήμη, μειώνοντας έτσι την αποτελεσματική ποινή αστοχίας. Η απόδοση επηρεάζεται ως εξής: (L1 και L2 τα δυο επίπεδα κρυφής μνήμης) Μέσος χρόνος προσπέλασης μνήμης = χρόνος ρυθμός ποινή ευστοχίας L1 αστοχίας L1 αστοχίας (31) L1 όπου ποινή = χρόνος ρυθμός ποινή αστοχίας L1 ευστοχίας L2 αστοχίας L2 αστοχίας (32) L2

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή

ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή ΠΛΕ- 027 Μικροεπεξεργαστές 9ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Κρυφές μνήμες εισαγωγή Αρης Ευθυμίου Σύστημα μνήμης Η μνήμη είναι σημαντικό κομμάτι ενός υπολογιστή Επηρεάζει κόστος, ταχύτητα, κατανάλωση

Διαβάστε περισσότερα

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 7ο μάθημα: Κρυφές μνήμες (cache) - εισαγωγή Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Σύστημα μνήμης! Η μνήμη είναι σημαντικό

Διαβάστε περισσότερα

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

Διαβάστε περισσότερα

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy)

Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) Κεφάλαιο 7 Ιεραρχία Μνήμης (Memory Hierarchy) 1 Συστήματα Μνήμης Η οργάνωση του συστήματος μνήμης επηρεάζει τη λειτουργία και απόδοση ενός μικροεπεξεργαστή: Διαχείριση μνήμης και περιφερειακών (Ι/Ο) απότολειτουργικόσύστημα

Διαβάστε περισσότερα

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών

Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Επιπλέον διδακτικό υλικό κρυφών μνημών: set-associative caches, πολιτικές αντικατάστασης, χειρισμός εγγραφών Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering. Εργαστήριο 8. Χειμερινό Εξάμηνο Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών H/Y Department of Electrical and Computer Engineering Οργάνωση και Σχεδίαση Η/Y (HY232) Εργαστήριο 8 Χειμερινό Εξάμηνο 2016-2017 1. Προσομοίωση λειτουργίας ιεραρχίας

Διαβάστε περισσότερα

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (2 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Ταχύτητα εκτέλεσης Χρόνος εκτέλεσης = (αριθμός εντολών που εκτελούνται) Τί έχει σημασία: Χ (χρόνος εκτέλεσης εντολής) Αριθμός

Διαβάστε περισσότερα

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης

Διάλεξη 15 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 5 Απόδοση της Ιεραρχίας Μνήμης Βελτιστοποίηση της απόδοσης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πόσο μεγάλη είναι μια μνήμη cache;

Διαβάστε περισσότερα

Συστήματα μνήμης και υποστήριξη μεταφραστή για MPSoC

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

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

Διαβάστε περισσότερα

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης i Στα σύγχρονα

Διαβάστε περισσότερα

Τεχνολογίες Κύριας Μνήμης

Τεχνολογίες Κύριας Μνήμης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Τεχνολογίες Κύριας (και η ανάγκη για χρήση ιεραρχιών μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κύρια Μνήμη

Διαβάστε περισσότερα

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση : Λυμένες Ασκήσεις Έστω ένα σύστημα μνήμης, στο οποίο έχουμε προσθέσει μια κρυφή μνήμη θυμάτων 6 θέσεων

Διαβάστε περισσότερα

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ Η Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit -CPU) ή απλούστερα επεξεργαστής αποτελεί το μέρος του υλικού που εκτελεί τις εντολές ενός προγράμματος υπολογιστή

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης

Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης Chapter 4 (1) Αξιολόγηση και κατανόηση της απόδοσης Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση: Καθ. Εφαρμογών Νικόλαος Πετράκης, Τμήματος Ηλεκτρονικών Μηχανικών του

Διαβάστε περισσότερα

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Κρυφές μνήμες Αρης Ευθυμίου Το σημερινό μάθημα Κρυφές μνήμες (cache memory) Βασική οργάνωση, παράμετροι: γραμμές, συσχετιστικότητα, συνολική χωρητικότητα Επίδοση:

Διαβάστε περισσότερα

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ Γιώργος Δημητρίου Μάθημα 8 ο ΠΜΣ Εφαρμοσμένη Πληροφορική ΜΟΝΑΔΑ ΜΝΗΜΗΣ Επαρκής χωρητικότητα αποθήκευσης Αποδεκτό μέσο επίπεδο απόδοσης Χαμηλό μέσο κόστος ανά ψηφίο Ιεραρχία μνήμης

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 1 η : Βασικές Αρχές Αρχιτεκτονικής Η/Υ Σύγχρονοι Μικροεπεξεργαστές Intel 6-core i7 (Gulftown) 2010, >1 billion transistors Απόδοση Μικροεπεξεργαστών V Μετρήσεις με μετροπρογράμματα

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ:

ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Ονοματεπώνυμο: ΑΜ: ΕΘΝΙKΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ονοματεπώνυμο: ΑΜ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ (τμήμα Μ - Ω) Κανονική εξεταστική Φεβρουαρίου

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 11: Κρυφές Μνήμες και η Επίδοσή τους Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

Διαβάστε περισσότερα

Chapter 4 ( ή 1 στο βιβλίο σας)

Chapter 4 ( ή 1 στο βιβλίο σας) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 4 ( ή 1 στο βιβλίο σας) Αξιολόγηση και κατανόηση της απόδοσης Δέκατη (10 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Η υπολογιστική

Διαβάστε περισσότερα

Κωνσταντίνος Κυριακουλάκος Α.Μ.:

Κωνσταντίνος Κυριακουλάκος Α.Μ.: ΠΟΛΥΤΕΧΝΕΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Κωνσταντίνος Κυριακουλάκος Α.Μ.:2000030020 ΔΙΠΛΩΜΑΤΙΚΉ ΕΡΓΑΣΊΑ ΥΛΟΠΟΙΗΣΗ ΚΑΙ ΠΡΟΣΟΜΟΙΩΣΗ ΜΙΑΣ ΠΑΡΑΜΕΤΡΙΚΗΣ ΚΡΥΦΗΣ ΜΝΗΜΗΣ Επιβλέπων Καθηγητής:

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας

Κεντρική Μονάδα Επεξεργασίας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κεντρική Μονάδα Επεξεργασίας (Σχεδιασμός και λειτουργία μιας απλής ΚΜΕ) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 5 Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση

Διαβάστε περισσότερα

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα

Διαβάστε περισσότερα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα1 Υλικό Λογισμικό και Εφαρμογές Κεφ1: Υλικό Υπολογιστών - Hardware Τι ονομάζουμε υλικό υπολογιστών; Με τον όρο υλικό (hardware) αναφερόμαστε σε οτιδήποτε έχει μια φυσική-υλική υπόσταση σε ένα υπολογιστικό

Διαβάστε περισσότερα

Παραλληλισμός σε επίπεδο εντολών

Παραλληλισμός σε επίπεδο εντολών Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2015-16 Παραλληλισμός σε επίπεδο εντολών (Pipelining και άλλες τεχνικές αύξησης απόδοσης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ ΤΕΛΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232) Τετάρτη, 21 Δεκεμβρίου 2016 ΔΙΑΡΚΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ 3 ΩΡΕΣ Για πλήρη

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ Απαντήσεις στις ερωτήσεις του βιβλίου ΚΕΦΑΛΑΙΟ 3 1. 2. Από ποια στοιχεία αποτελείται το κεντρικό μέρος ενός υπολογιστή και ποια η λειτουργία καθενός; Κεντρική Μονάδα επεξεργασίας

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ 1. Εισαγωγή Η λειτουργία της CPU καθορίζεται από τις εντολές που εκτελεί, και που ονομάζονται εντολές μηχανής (machine instructions) ή εντολές υπολογιστή (computer

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση Αρης Ευθυμίου Απόδοση απλής υλοποίησης Υλοποίηση ενός κύκλου είναι πολύ αργή κάθε κύκλος είναι τόσο μεγάλος όσο χρειάζεται

Διαβάστε περισσότερα

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ,

Άσκηση 1η. Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, Ασκήσεις Caches Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4 way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1 byte

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

Διαβάστε περισσότερα

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ

Φόρμα Σχεδιασμού Διάλεξης (ημ/α:15/10/07, έκδοση:0.1 ) 1. Κωδικός Μαθήματος : 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ 2. Α/Α Διάλεξης : 1 1. Τίτλος : 1. Εισαγωγή στην Αρχιτεκτονική Η/Υ 2. Μαθησιακοί Στόχοι : Οι θεμελιώδεις αρχές λειτουργίας των υπολογιστών. Τύποι υπολογιστικών συστημάτων και στόχοι της αρχιτεκτονικής

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Οργάνωση Υπολογιστών Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI Μανόλης Γ.Η. Κατεβαίνης Τμήμα Επιστήμης Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Ασκήσεις Caches

Ασκήσεις Caches Ασκήσεις Caches 1 Άσκηση 1η Θεωρήστε ένα σύστημα μνήμης με μία cache: 4-way set associative μεγέθους 256ΚΒ, με cache line 8 λέξεων. Χαρακτηριστικά συστήματος μνήμης: μέγεθος της λέξης είναι 32 bits. 1

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΠΡΟΗΓΜΕΝΑ ΘΕΜΑΤΑ

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 17: Χειρισμός Εισόδου - Εξόδου Συστήματα Εισόδου / Εξόδου: Το Υλικό Ε/Ε Μεγάλη ποικιλία συσκευών Ε/Ε Και μεγαλώνει Συνηθισμένες έννοιες: Πόρτα Δίαυλος Κοινό μέσο πρόσβασης

Διαβάστε περισσότερα

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

Διαβάστε περισσότερα

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

Διαβάστε περισσότερα

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache)

SMPcache. Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) SMPcache Ένα εργαλείο για προσομοίωση-οπτικοποίηση κρυφής μνήμης (Cache) 1. Βασικές ρυθμίσεις του συστήματος: δημιουργία μια δικής μας σύνθεσης συστήματος. Το SMPcache είναι ένα εργαλείο με το οποίο μπορούμε

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 15: Caching Δίσκου, Αστοχίες, Συστήματα Αρχείων με Ημερολόγιο Η Χρήση Cache Τα γνωστά Αν το παρελθόν είναι παρόμοιο με το μέλλον μπορούμε να χρησιμοποιήσουμε cache

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

Διαβάστε περισσότερα

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΣΧΕΔΙΑΣΜΟΥ ΟΛΟΚΛΗΡΩΜΕΝΩΝ ΚΥΚΛΩΜΑΤΩΝ ΜΕΓΑΛΗΣ ΚΛΙΜΑΚΑΣ (VLSI-DESIGN) Διπλωματική

Διαβάστε περισσότερα

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ

ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΠΑΡΑΛΛΗΛΗ ΕΠΕΞΕΡΓΑΣΙΑ ΜΝΗΜΗ Πρωτόκολλα Συνέπειας Μνήµης σε Πολυεπεξεργαστικά Υπολογιστικά Συστήµατα ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΥΨΗΛΩΝ ΕΠΙ

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ ΑΣ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ ΙΚΩΝ Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.ece.ntua.gr

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ Δρ. Γκόγκος Χρήστος Εκτέλεση προγραμμάτων Πρόγραμμα: Ένα σύνολο από εντολές.

Διαβάστε περισσότερα

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

Διαβάστε περισσότερα

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ; Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2017-18 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://mxstef.gthub.o/courses/comparch/ Μ.Στεφανιδάκης

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών

Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος 2006-2007 Νεκτάριος Κοζύρης Νίκος Αναστόπουλος {nkoziris,anastop}@cslab.ece.ntua.gr Άσκηση 1: pipelining Εξετάζουμε την εκτέλεση του παρακάτω

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (ΙI)

Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (ΙI) (κύρια και κρυφή μνήμη) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

Ασκήσεις Caches. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης Αρχιτεκτονική Υπολογιστών 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: 2014-2015 Νεκ. Κοζύρης nkoziris@cslab.ece.ntua.gr Ασκήσεις Caches http://www.cslab.ece.ntua.gr/courses/comparch/ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τελική Εξέταση, Απαντήσεις/Λύσεις

Τελική Εξέταση, Απαντήσεις/Λύσεις ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) HMΜY 212 Οργάνωση Η/Υ και Μικροεπεξεργαστές Εαρινό Εξάμηνο, 2007 Τελική Εξέταση, Απαντήσεις/Λύσεις Άσκηση 1: Assembly για

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

Διαβάστε περισσότερα

Εικονική Μνήμη (1/2)

Εικονική Μνήμη (1/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα