Υλοποίηση DMA για υπολογιστικό σύστημα με Scratch pad μνήμη και βελτιστοποιημένη υλοποίηση εφαρμογών

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

Download "Υλοποίηση DMA για υπολογιστικό σύστημα με Scratch pad μνήμη και βελτιστοποιημένη υλοποίηση εφαρμογών"

Transcript

1 Εργαστήριο Ηλεκτρονικής Τοµέας Ηλεκτρονικής και Υπολογιστών Τµήµα Φυσικής Πανεπιστήµιο Πατρών Ειδική Επιστημονική εργασία Υλοποίηση DMA για υπολογιστικό σύστημα με Scratch pad μνήμη και βελτιστοποιημένη υλοποίηση εφαρμογών Μπαλταγιάννης Αγαμέμνων Α.Μ. 264 Επιβλέπων Καθηγητής: Κ. Γκούτης Πάτρα 2007 σε συνεργασία με το Εργαστήριο Σχεδιασμού Ολοκληρωμένων Κυκλωμάτων -Μικροηλεκτρονικής (VLSI-DESIGN) Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

2 Περιεχόμενα Πρόλογος 3 1. Αρχιτεκτονική μνημών 1.1 Εισαγωγή Ιεραρχία μνήμης Εισαγωγή στις Cache και Scratch pad μνήμες Η βασική δομή της SRAM μνήμης Η Cache μνήμη Η Scratch pad μνήμη Υλικό για την υλοποίηση Prefetch και τεχνικές Prefetching 2.1 Εισαγωγή DMA ελεγκτής PREFETCHING Αρχιτεκτονική υπολογιστικών συστημάτων Προτεινόμενη αρχιτεκτονική με scratch pad μνήμη 3.1 Εισαγωγή Αρχιτεκτονική με μνήμη cache Αρχιτεκτονική με scratch pad μνήμη Υλοποίηση σε VHDL της αρχιτεκτονική με scratch pad μνήμη Πειραματικές μετρήσεις και προγράμματα 4.1 Εισαγωγή Πρόγραμμα σε assembly Πρόγραμμα σε C Πειραματικές μετρήσεις - Συγκρίσεις Συμπεράσματα 79 Παράρτημα Α Κώδικες VHDL 80 Παράρτημα Β Η γλώσσα περιγραφής υλικού VHDL 112 Βιβλιογραφία 123 1

3 2

4 Πρόλογος Ο αυξανόμενος αριθμός των ενσωματωμένων συστημάτων κάνει επιτακτική την ανάγκη για ανάπτυξη αρχιτεκτονικών με τις οποίες θα επιτυγχάνεται μικρή κατανάλωση ενέργειας και μικρό μέγεθος ολοκλήρωσης χωρίς όμως να παραβλέπεται η απόδοση του συστήματος. Η scratch pad μνήμη είναι ένα παράδειγμα γρήγορης μνήμης, με μικρή επιφάνεια ολοκλήρωσης και μικρή κατανάλωση ενέργειας. Κύριος σκοπός της εργασίας είναι η μελέτη και η υλοποίηση αρχιτεκτονικής ενός συστήματος με μνήμη scratch pad καθώς και η συγγραφή ενσωματωμένου λογισμικού (embedded software) για την διαχείριση αυτής της μνήμης. Αρχικά παρουσιάζονται τα πλεονεκτήματα και τα μειονεκτήματα της scratch pad μνήμης έναντι της cache μνήμης. Μετά την ολοκλήρωση του σχεδιασμού του συστήματος, μετρούνται οι επιδόσεις του και γίνεται σύγκριση με τις επιδόσεις αντίστοιχου συστήματος με μνήμη cache. Τα πειραματικά αποτελέσματα προκύπτουν από την μέτρηση των κύκλων εκτέλεσης ενός αντιπροσωπευτικού προγράμματος. Αναμένουμε ότι η επίδοση της προτεινόμενης αρχιτεκτονικής μας με μνήμη scratch pad θα είναι πολύ καλύτερη από αυτή του συστήματος με μνήμη cache. Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή κ. Κωνσταντίνο Γκούτη για την καθοδήγηση και την εμπιστοσύνη, καθώς και τον διδάκτορα Αθανάσιο Μηλιδώνη και τον υποψήφιο διδάκτορα Βασίλειο Πόρποδα για την συμπαράσταση, τις γνώσεις και την υποστήριξη που μου παρείχαν καθ όλη τη διάρκεια εκπόνησης αυτής της εργασίας. Η παρούσα διπλωματική εργασία εκπονήθηκε στο Εργαστήριο Σχεδιασμού Ολοκληρωμένων Κυκλωμάτων - Μικροηλεκτρονικής (VLSI-DESIGN) του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών του Πανεπιστημίου Πατρών. Ιδιαίτερες ευχαριστίες για την πολύχρονη διδασκαλία, καθοδήγηση και εμπιστοσύνη τους θέλω να εκφράσω για όλους τους καθηγητές του εργαστηρίου ηλεκτρονικής, ELLAB, του τμήματος Φυσικής καθώς η παρούσα Ειδική Επιστημονική Εργασία σηματοδοτεί την ολοκλήρωση ενός κύκλου που ξεκίνησε προπτυχιακά στο τμήμα Φυσικής και συνεχίστηκε στο μεταπτυχιακό στην Ηλεκτρονική και τους Υπολογιστές. 3

5 ΚΕΦΑΛΑΙΟ 1 Αρχιτεκτονική μνημών 1.1 Εισαγωγή Κύριος σκοπός της εργασίας είναι η μελέτη και η υλοποίηση αρχιτεκτονικής ενός συστήματος με μνήμη scratch pad καθώς και η συγγραφή ενσωματωμένου λογισμικού (embedded software) για την διαχείριση αυτής της μνήμης. Οι scratch pad μνήμες είναι γρήγορες SRAM μνήμες ελεγχόμενες από compiler, οι οποίες έχουν ορισμένα σημαντικά πλεονεκτήματα και αντικαθιστούν τις μνήμες cache που ελέγχονται από το υλικό (hardware). Είναι αποδεδειγμένα πιο 4

6 γρήγορες ενώ ταυτόχρονα καταναλώνουν σημαντικά λιγότερη ενέργεια και απαιτούν μικρότερη επιφάνεια ολοκλήρωσης. Ο αριθμός των ενσωματωμένων συστημάτων αυξάνεται συνεχώς και ένα σημαντικό ποσοστό αυτών αγορά φορητές συσκευές. Οι φορητές συσκευές όμως θέτουν και κάποιους περιορισμούς όσον αφορά το μέγεθος, το βάρος και την ισχύ της μπαταρίας. Η ισχύς της μπαταρίας βελτιώνεται με πολύ αργούς ρυθμούς σε σύγκριση με το ρυθμό αύξησης της κατανάλωσης ενέργειας των επεξεργαστών και των μνημών. Επιπρόσθετα, η θερμότητα που προκύπτει από την κατανάλωση της ενέργειας πρέπει να απομακρυνθεί. Το μέγεθος κάποιων laptops δεν μπορεί να μειωθεί άλλο εξαιτίας του συστήματος απομάκρυνσης της θερμότητας. Εξαιτίας αυτού του αυξανόμενου κενού, οι μηχανικοί έχουν ως αποστολή να μειώσουν την κατανάλωση της ενέργειας, να ξεπεράσουν τους περιορισμούς και να δημιουργήσουν νέες εφαρμογές μικρότερου μεγέθους και βάρους για τα ενσωματωμένα συστήματα. Ένας τρόπος για να εξοικονομήσουμε ενέργεια είναι να επενδύσουμε στην ιεραρχία μνήμης. Οι off-chip κύριες μνήμες είναι οι πιο αργές και αυτές που καταναλώνουν τη μεγαλύτερη ενέργεια. Η ενέργεια ισούται με το γινόμενο της τάσης Vdd, του ρεύματος I και του χρόνου t. Ο χρόνος εκτέλεσης ισούται με το γινόμενο των κύκλων ρολογιού επί το χρόνο ενός κύκλου ρολογιού. Δηλαδή, E = Vdd * I * t = Vdd * I * n * T. Η μικρή ταχύτητα η οποία οδηγεί σε μεγάλο αριθμό κύκλων ρολογιού n και ο μεγάλος αριθμός των προσβάσεων στην κύρια μνήμη είναι οι κύριοι λόγοι της κατανάλωσης ενέργειας στην κύρια μνήμη. Πρόσθετες μνήμες όπως είναι η κρυφή (cache) μνήμη και η scratch pad μνήμη μπορούν να μειώσουν τον αριθμό των προσβάσεων στην κύρια μνήμη για τα πιο συχνά χρησιμοποιούμενα δεδομένα ή μεταβλητές. Οι cache μνήμες είναι οι πιο ευρέως διαδεδομένες. 5

7 1.2 Ιεραρχία μνήμης Οι ειδικοί σε θέματα αρχιτεκτονικής υπολογιστικών συστημάτων προέβλεψαν εδώ και χρόνια ότι οι προγραμματιστές θα επιθυμούσαν απεριόριστο μέγεθος γρήγορης μνήμης. Μια οικονομική λύση σε αυτή την επιδίωξη είναι η ιεραρχία της μνήμης. Τα περισσότερα προγράμματα των υπολογιστών δεν προσπελαύνουν όλο τον κώδικα ή όλα τα δεδομένα ομοιόμορφα. Η πιο σημαντική ιδιότητα των προγραμμάτων είναι ότι τείνουν τα επαναχρησιμοποιούν τα δεδομένα και τις εντολές τις οποίες έχουν ήδη χρησιμοποιήσει. Ο κανόνας αυτός ονομάζεται Locality of reference. Κατά μέσο όρο ένα πρόγραμμα σπαταλάει το 90 % του χρόνου εκτέλεσης του για το 10 % του κώδικά του. Επίσης τα πιο μικρά κομμάτια hardware είναι κατά κανόνα και πιο γρήγορα. Αυτές τις ιδιότητες εκμεταλλεύτηκαν οι επιστήμονες ώστε να βελτιώσουν τις επιδόσεις των υπολογιστικών συστημάτων χτίζοντας ιεραρχίες μνημών διαφορετικών μεγεθών και ταχυτήτων. Οι πολύ γρήγορες μνήμες είναι πολύ ακριβές έτσι η ιεραρχία της μνήμης οργανώνεται σε επίπεδα με το κάθε υψηλότερο επίπεδο να είναι αυτό με τις γρηγορότερες, πιο μικρές σε μέγεθος και ακριβότερες ανά Byte μνήμες. Συνήθως γρήγορες και ακριβές μνήμες είναι οι SRAM και ROM, ενώ φθηνές αλλά και πιο αργές είναι οι DRAM μνήμες. Το κέρδος προέρχεται από το ότι το σύστημά με ιεραρχία μνήμης έχει κόστος τόσο χαμηλό όσο και αυτό της φθηνότερης από τις μνήμες στην ιεραρχία αλλά ταχύτητα τόσο μεγάλη όση και αυτή της γρήγορης μνήμης. Στο σχήμα 1 φαίνεται μια τυπική ιεραρχία μνήμης. Ανάμεσα από της κεντρική μονάδα επεξεργασίας (CPU) και τις εξωτερικές συσκευές (Ι/Ο devices) υπάρχει η κύρια μνήμη και ένα επίπεδο cache μνήμης. Θέλουμε οι πιο μικρές μνήμες, οι οποίες είναι και γρηγορότερες να βρίσκονται κοντά στην CPU, ενώ οι μεγαλύτερες σε μέγεθος μνήμες, οι οποίες είναι πιο αργές άρα και φθηνότερες να τοποθετηθούν σε πιο χαμηλό επίπεδο μακριά από την CPU. 6

8 Σχήμα 1 Επίπεδα της τυπικής ιεραρχίας μνήμης Η σημαντικότητα της ιεραρχίας στην μνήμη αυξήθηκε παράλληλα με την αύξηση της απόδοσης των επεξεργαστών. Είναι χαρακτηριστικό ότι το 1980 τα μικρουπολογιστικά συστήματα σχεδιάζονταν χωρίς καθόλου cache ενώ το 1995 συνήθως είχαν cache 2 επιπέδων. Όπως φαίνεται στο σχήμα 2, η απόδοση των επεξεργαστών βελτιώθηκε κατά 35 % μέχρι το 1986 και κατά 55 % από εκείνη την χρονιά και έπειτα. Η βελτίωση στην αύξηση του χρόνου προσπέλασης της κύριας μνήμης, όπως φαίνεται στο ίδιο σχήμα είναι σαφώς μικρότερη. Είναι σαφές ότι υπάρχει ένα σημαντικό χάσμα ανάμεσα στην ταχύτητα των επεξεργαστών και των μνημών το οποίο οι επιστήμονες έπρεπε να κλείσουνε. Αυτό το σκοπό εξυπηρετεί η ιεραρχία της μνήμης, χρησιμοποιώντας συνήθως μνήμες cache, ενώ τα τελευταία χρόνια χρησιμοποιείται και ένας άλλος τύπος μνημών, οι scratch pad. 7

9 Σχήμα 2 Συγκριτική απόδοση μνημών και CPUs 1.3 Εισαγωγή στις Cache και Scratch pad μνήμες Τόσο στους προσωπικούς υπολογιστές όσο και στα embedded συστήματα χρησιμοποιούνται διάφοροι τύποι μνημών, όπως είναι οι SRAM, DRAM, ROM, EPROM, Flash κ.ο.κ. Από τις μνήμες στις οποίες μπορούμε να εγγράψουμε δεδομένα οι SRAM είναι πολύ γρήγορες αλλά και ακριβές, ενώ οι DRAM είναι περίπου 10 φορές πιο αργές αλλά και περίπου 20 φορές φθηνότερες. Στους προσωπικούς υπολογιστές η συνήθης χρήση της SRAM είναι για να σχηματίσει την hardware cache μνήμη. Ο μηχανισμός ελέγχου της λανθάνουσας μνήμης αποθηκεύει τα πιο συχνά χρησιμοποιούμενα δεδομένα στην μνήμη cache. Αυτή η χρήση της SRAM ως cache μνήμης είναι πολύ διαδεδομένη και δεν προβλέπεται να καλυφθεί από τις scratch pad μνήμες. Αντιθέτως στα ενσωματωμένα συστήματα, embedded systems, οι SRAM χρησιμοποιούνται ως μνήμες scratch pad ελεγχόμενες από λογισμικό, και έχουν σημαντικά πλεονεκτήματα. Τα πλεονεκτήματα των scratch pad μνημών σε σχέση με τις cache έγκειται στην απαιτούμενη επιφάνεια ολοκλήρωσης, στο κόστος, στην κατανάλωση ενέργειας, και στο hit latency. Σύμφωνα με πειραματικά αποτελέσματα μια scratch pad μνήμη 8

10 καταλαμβάνει 34 % μικρότερο area και έχει 40 % μικρότερη κατανάλωση ισχύος από ότι μια cache του ίδιου μεγέθους. Αυτά τα δυο πλεονεκτήματα είναι σημαντικότατα αν σκεφτούμε ότι μια on chip μνήμη cache καταλαμβάνει το 25 έως 50 % της επιφάνειας ολοκλήρωσης ενός επεξεργαστή και απαιτεί περίπου τα ίδια ποσοστά ενέργειας. Επίσης η scratch pad μνήμη είναι 18 % πιο γρήγορη κατά μέσο όρο από τις cache, χρησιμοποιώντας απλούς αλγορίθμους. Φυσικά αυτή η επίδοση μπορεί να βελτιωθεί κατά πολύ ανάλογα με την φύση της εφαρμογής και συγγράφοντας αποτελεσματικότερους αλγόριθμους. Αυτά τα πλεονεκτήματα των scratch pad μνημών δεν αφήνουν καμία αμφιβολία ότι θα κυριαρχήσουν στα ενσωματωμένα συστήματα και η πρόκληση είναι η διαχείριση τους μέσο compiler και των κατάλληλων ενσωματωμένων λογισμικών. 1.4 Η βασική δομή της SRAM μνήμης Η βασική οργάνωση της κρυφής μνήμης SRAM φαίνεται στο παρακάτω σχήμα: Σχήμα 3 Μνήμη SRAM 9

11 Ο αποκωδικοποιητής (decoder) αποκωδικοποιεί τη διεύθυνση και επιλέγει την κατάλληλη γραμμή οδηγώντας μια word line στον πίνακα δεδομένων (data array) και μια άλλη word line στον πίνακα των ετικετών (tag array). Κάθε πίνακας έχει τόσες word lines όσες και οι γραμμές του πίνακα, αλλά μόνο μια word line σε κάθε πίνακα μπορεί να έχει υψηλό δυναμικό κάθε φορά. Κάθε κύτταρο μνήμης κατά μήκος της επιλεγμένης γραμμής συνδέεται με ένα ζευγάρι από γραμμές bit (bit lines). Κάθε γραμμή bit έχει φορτιστεί από πριν. Όταν μια word line έχει υψηλό δυναμικό, τότε κάθε κύτταρο μνήμης αυτής της γραμμής αναγκάζει μια από τις γραμμές bit να πάει στο μηδέν. Το ποια από τις δύο γραμμές θα πάει σε χαμηλό δυναμικό καθορίζεται από την τιμή που θα αποθηκευτεί στο κύτταρο μνήμης. Όπως φαίνεται στο σχήμα κάθε sense amplifier παρακολουθεί τις γραμμές bit και ελέγχει αν έχει συμβεί κάποια αλλαγή. Εντοπίζοντας ποια γραμμή πάει στο μηδέν ο sense amplifier μπορεί να προσδιορίσει τα περιεχόμενα του επιλεγμένου κυττάρου μνήμης. Είναι δυνατό ένας sense amplifier να ελέγχει περισσότερες από μια γραμμές. Σε αυτή την περίπτωση ένας πολυπλέκτης προστίθεται πριν από τον sense amplifier. Ο πολυπλέκτης οδηγείται από τον αποκωδικοποιητή ώστε να επιλέγει τις σωστές γραμμές. Ο αριθμός των γραμμών bit που ελέγχει ο sense amplifier εξαρτάται από τις παραμέτρους του layout. H πληροφορία που διαβάζεται από τον πίνακα ετικετών συγκρίνεται με τα bits της ετικέτας της διεύθυνσης. Σε μια συνολοσυσχετιστική μνήμη Α δρόμων απαιτούνται Α συστήματα σύγκρισης. Τα αποτελέσματα των Α συγκρίσεων χρησιμοποιούνται για να οδηγήσουν τόσο μια έξοδο εγκυρότητας (hit/miss) όσο και την έξοδο των πολυπλεκτών. Αυτοί οι πολυπλέκτες που βρίσκονται στην έξοδο επιλέγουν τα κατάλληλα δεδομένα από τον πίνακα δεδομένων και οδηγούν τα επιλεγμένα δεδομένα έξω από την κρυφή μνήμη. 1.5 Η Cache μνήμη Οι cache ή κρυφές μνήμες είναι μνήμες SRAM και έχουν ως σκοπό να κρατούν αποθηκευμένο ένα υποσύνολο των δεδομένων (data) της κύριας μνήμης. Η χρησιμότητα τους έγκειται στο ότι η κεντρική μονάδα επεξεργασίας (CPU) έχει πολύ γρήγορη πρόσβαση στα δεδομένα τα οποία είναι αποθηκευμένα σε αυτές. Τα 10

12 δεδομένα μέσα στην κρυφή μνήμη είναι οργανωμένα σε block και όταν η CPU ζητήσει κάποια δεδομένα ελέγχει πρώτα την κρυφή μνήμη για να δει αν ήδη υπάρχουν εκεί αποθηκευμένα. Στo σχήμα 4 φαίνεται η δομή της cache μνήμης σε block δομή και αναλυτικά. Σχήμα 4 Δομή cache μνήμης 11

13 Αν τα δεδομένα που ζητάει η CPU δεν βρίσκονται στη cache, έχουμε αστοχία της κρυφής μνήμης (miss). Σε αυτή την περίπτωση τα ζητούμενα δεδομένα αναζητούνται στην κύρια μνήμη και μεταφέρονται στην cache και από εκεί στην CPU. Ως miss rate ορίζεται το ποσοστό των προσπελάσεων (accesses) οι οποίες δεν βρίσκουν τα ζητούμενα δεδομένα στην cache και ως miss penalty ορίζεται ο αριθμός των κύκλων της CPU που σπαταλούνται για να εξυπηρετηθούν τα misses. Ο χρόνος που επιβαρύνει κάθε αστοχία κρυφής μνήμης εξαρτάται τόσο από την καθυστέρηση της μνήμης, δηλαδή το χρόνο που απαιτείται για να αρχίσει να έρχεται το block δεδομένων όσο και από το εύρος της μνήμης το οποίο επηρεάζει το χρόνο ολοκλήρωσης της μεταφοράς του block. Στην περίπτωση αστοχία της κρυφής μνήμης η εκτέλεση του προγράμματος σταματά μέχρι να γίνουν διαθέσιμα τα δεδομένα άρα οι συνεχόμενες αστοχίες καθυστερούν σημαντικά την ολοκλήρωση ενός προγράμματος. Τα κύρια ερωτήματα που αφορούν την λειτουργία της cache είναι: α) πως μπορεί ένα block δεδομένων να αποθηκευτεί στο ανώτερο επίπεδο ιεραρχίας β) πως εξακριβώνεται αν ένα block δεδομένων βρίσκεται στο ανώτερο επίπεδο ιεραρχίας γ) ποιο block δεδομένων πρέπει να αντικατασταθεί σε ενδεχόμενο miss δ) τι συμβαίνει κατά την εγγραφή των δεδομένων Όπως είναι φυσικό ο μέσος χρόνος προσπέλασης και κατ επέκταση η απόδοση της κρυφής μνήμης επηρεάζεται από τη συχνότητα με την οποία εμφανίζονται οι αστοχίες (miss rate). Όσο πιο πολλές είναι οι αστοχίες στην κρυφή μνήμη τόσο περισσότερες φορές θα πρέπει να προσπελαστεί η κύρια μνήμη, γεγονός που εισάγει μεγάλη καθυστέρηση. Έτσι, ο μέσος χρόνος προσπέλασης της κρυφής μνήμης ισούται με: μέσος χρόνος προσπέλασης = χρόνος ευστοχίας + ρυθμός αστοχίας * ποινή αστοχίας average memory access time = hit time + miss rate * miss penalty 12

14 O ρυθμός αστοχίας (miss rate) είναι ένας πολύ βασικός παράγοντας που επηρεάζει άμεσα την απόδοση και γι αυτό τον λόγο στην προτεινόμενη αρχιτεκτονική μας έχουν ληφθεί μετρήσεις και έχει αναλυθεί το miss rate. Οι αστοχίες μπορούν ταξινομηθούν ως εξής: Υποχρεωτικές: Η πρώτη προσπέλαση σε ένα μπλοκ δεν μπορεί να είναι στην κρυφή μνήμη, έτσι το μπλοκ πρέπει να μεταφερθεί στη κρυφή μνήμη. Αυτές επίσης λέγονται αστοχίες κρύας έναρξης ή αστοχίες πρώτης φοράς. Χωρητικότητα: Αν η κρυφή μνήμη δεν μπορεί να περιλαμβάνει όλα τα μπλοκ που χρειάζονται κατά τη διάρκεια της εκτέλεσης ενός προγράμματος, αστοχίες χωρητικότητας θα συμβούν εξαιτίας των μπλοκ που απορρίφθηκαν και αργότερα επανακτήθηκαν. Σύγκρουση: Αν η στρατηγική τοποθέτησης είναι συνολοσυσχετιστική (set associativity) ή άμεσα αντιστοιχισμένη (direct mapped), οι αστοχίες σύγκρουσης θα συμβούν διότι ένα μπλοκ μπορεί να απορριφθεί και αργότερα μπορεί να επανακτηθεί αν υπερβολικά πολλά μπλοκ αντιστοιχούν στο σύνολό του. Η κρυφή μνήμη εκμεταλλεύεται και τα δύο είδη τοπικότητας. Τη χρονική τοπικότητα διότι τα δεδομένα που βρίσκονται στην κρυφή μνήμη παραμένουν εκεί και μετά την ανάγνωση τους για πιθανή χρήση στο κοντινό μέλλον και τη χωρική τοπικότητα διότι κάθε φορά που έχουμε αστοχία μεταφέρεται ένα ολόκληρο block και όχι μόνο τα δεδομένα που ζήτησε ο επεξεργαστής Πως μπορεί ένα block δεδομένων να αποθηκευτεί στο ανώτερο επίπεδο ιεραρχίας 13

15 Σχήμα 5 Αποθήκευση block από την κύρια στην cache μνήμη Όταν ένα block μεταφέρεται από την κύρια μνήμη μπορεί να τοποθετηθεί σε μια από τις θέσεις της cache μνήμης με τρεις τρόπους: με άμεση αντιστοίχηση (direct mapped), με πλήρη συσχέτιση (fully associativity) και με συνολοσυσχέτιση (set associativity). Όπως φαίνεται στο σχήμα 5 με άμεση αντιστοίχηση κάθε μπλοκ μπορεί να τοποθετηθεί μόνο σε μια θέση στην κρυφή μνήμη. Η αντιστοίχηση αυτή συνήθως ορίζεται ως εξής: (διεύθυνση του block) MOD (αριθμός block στην κρυφή μνήμη) Αντίθετα, με πλήρη συσχέτιση κάθε μπλοκ μπορεί να τοποθετηθεί σε οποιαδήποτε θέση μέσα στην κρυφή μνήμη. Τέλος, με τη μέθοδο της συνολοσυσχέτισης ένα μπλοκ μπορεί να τοποθετηθεί σε περιορισμένο αριθμό θέσεων στην κρυφή μνήμη. Αρχικά, το block αντιστοιχίζεται σε ένα σύνολο όπου ένα σύνολο είναι μια ομάδα από block στην κρυφή μνήμη. Μετά το block μπορεί να τοποθετηθεί οπουδήποτε σε αυτό το σύνολο. Το σύνολο συνήθως επιλέγεται σε επιλογή bit, δηλαδή (διεύθυνση του μπλοκ) MOD (αριθμός συνόλων στην κρυφή μνήμη) Αν υπάρχουν n block σε ένα σύνολο, η τοποθέτηση στην κρυφή μνήμη ονομάζεται συνολοσυσχετιστική n δρόμων ( n-way set associativity). 14

16 1.5.2 Πως εξακριβώνεται αν ένα block δεδομένων βρίσκεται στην cache Οι μνήμες cache έχουν από μια ετικέτα διευθύνσεων (address tag) για κάθε block, και αυτή η ετικέτα δίνει μια συγκεκριμένη διεύθυνση στο block. Για να εξακριβωθεί αν το ζητούμενο block δεδομένων βρίσκεται ήδη στην cache ελέγχονται οι ετικέτες διευθύνσεων όλων των block της cache μνήμης και συγκρίνονται με την block address που ζητάει η CPU. Συνήθως, οι ετικέτες ελέγχονται παράλληλα για αύξηση της ταχύτητας. Θα πρέπει να υπάρχει ένας τρόπος ώστε να γνωρίζει η CPU αν ένα block της cache μνήμης έχει ή όχι τα επιθυμητά δεδομένα. Αυτό επιτυγχάνεται προσθέτοντας ένα valid bit στην ετικέτα, το οποίο είναι 1 όταν τα δεδομένα είναι έγκυρα (valid) και 0 όταν δεν είναι. Στο παρακάτω σχήμα φαίνονται καθαρά τα τρία τμήματα που αποτελούν την διεύθυνση μιας associative ή direct-mapped cache. Το tag χρησιμοποιείται για τον έλεγχο όλων των block, ενώ το index για να επιλέξει το επιθυμητό set. To block offset είναι η διεύθυνση του επιθυμητού δεδομένου μέσα στο ίδιο το block. Όταν το συνολικό μέγεθος της cache είναι σταθερό, αυξάνοντας της associativity αυξάνουμε τον αριθμό των block ανά set. Γι αυτό τον λόγο μειώνοντας το μέγεθος του index αυξάνουμε το μέγεθος του tag. Η γραμμή του ορίου μεταξύ tag και index στο σχήμα 6 μπορεί να μετακινηθεί δεξιά αυξάνοντας της associativity, με την οριακή θέση της πλήρους συσχέτισης (fully associativity) cache να μην έχει καθόλου κομμάτι index. Σχήμα 6 Η address μιας set-associative ή direct-mapped cache Ποιο block δεδομένων πρέπει να αντικατασταθεί σε ενδεχόμενο miss Όταν υπάρξει ένα miss ο ελεγκτής της κρυφής μνήμης (cache controller) πρέπει να επιλέξει ποιο block θα αντικατασταθεί με τα επιθυμητά data που έρχονται από την κύρια μνήμη. Σε αυτό το σημείο ένα πλεονέκτημα της άμεσης αντιστοίχησης (direct-mapped) είναι η απλότητα του hardware. Μόνο ένα block frame ελέγχεται και 15

17 μόνο αυτό το block θα αντικατασταθεί σε ενδεχόμενο miss. Στην περίπτωση όπου έχουμε πλήρη συσχέτιση (fully associativity) ή συνολοσυσχέτιση (set associativity) υπάρχουν πολλά block τα οποία μπορούν να αντικατασταθούν και η επιλογή του κατάλληλου βασίζεται σε δύο φιλοσοφίες: α) Τυχαία (Random) Για μια ομοιόμορφη κατανομή της πιθανότητας, το block που θα αντικατασταθεί από το ζητούμενο block δεδομένων επιλέγεται τυχαία. Πλεονέκτημα αυτής της μεθόδου είναι ότι είναι εύκολη η υλοποίηση του σε hardware. β) Η λιγότερο χρησιμοποιούμενη πληροφορία ( Least Recently Used - LRU ) Για να μειωθεί η πιθανότητα να απορριφθούν από την cache δεδομένα τα οποία η CPU θα χρειαστεί και να καλέσει σύντομα, καταγράφονται τα access στα δεδομένα της cache. Το block δεδομένων το οποίο αντικαθίσταται σε ενδεχόμενο miss είναι αυτό που έχει μείνει αχρησιμοποίητο για το μεγαλύτερο χρονικό διάστημα. Αυτή η προσέγγιση εκμεταλλεύεται την λογική που λέει ότι τα πιο πρόσφατα χρησιμοποιούμενα blocks είναι πιο πιθανό να ξαναχρειαστούν, άρα το πιο άχρηστο block είναι το Least Recently Used. Το μοναδικό μειονέκτημα αυτής της προσέγγισης είναι ότι απαιτεί πολύπλοκο hardware και γίνεται ασύμφορα ακριβό το κόστος υλοποίησης όσο μεγαλώνει ο αριθμός των block. Στο σχήμα που ακολουθεί φαίνεται μια σύγκριση του ρυθμού αστοχιών (miss rates) για διάφορες associativities μεταξύ της Least Recently Used μεθόδου και της τυχαίας (Random). Σχήμα 7 Αποθήκευση block από την κύρια στην cache μνήμη 16

18 1.5.4 Τι συμβαίνει κατά την εγγραφή των δεδομένων Οι αναγνώσεις κυριαρχούν έναντι των εγγραφών στις κρυφές μνήμες. Συνήθως όλες οι προσπελάσεις είναι αναγνώσεις και οι περισσότερες εντολές δεν εγγράφουν δεδομένα στην κρυφή μνήμη. Υπάρχουν δύο βασικές επιλογές κατά την εγγραφή στην cache, η απ ευθείας εγγραφή (Write through) και η εγγραφή προς τα πίσω (Write back). Κατά την απευθείας εγγραφή το block δεδομένων εγγράφεται τόσο στην cache όσο και στην μνήμη που βρίσκεται στο χαμηλότερο επίπεδο της ιεραρχίας. Αντιθέτως στην εγγραφή προς τα πίσω η πληροφορία εγγράφεται μόνο στο block δεδομένων στην cache μνήμη, ενώ το τροποποιημένο block εγγράφεται πάλι πίσω στην κύρια μνήμη μόνο όταν αντικαθίστάται από κάποιο άλλο στην cache Απόδοση της cache μνήμης Η απόδοση της κρυφής μνήμης μπορεί να βελτιωθεί με τέσσερις στρατηγικές : α) Μείωση της ποινής αστοχίας Η μείωση της ποινής αστοχίας μπορεί να επιτευχθεί με τη χρήση πολυεπίπεδων κρυφών μνημών. Αυτή η τεχνική αγνοεί την κεντρική μονάδα επεξεργασίας, εστιάζοντας στη διεπαφή ανάμεσα στην κρυφή και την κύρια μνήμη. Το κενό απόδοσης ανάμεσα στους επεξεργαστές και τις μνήμες οδηγεί τον αρχιτέκτονα σε αυτήν την ερώτηση: Θα έπρεπε να κάνω την κρυφή γρηγορότερη για να συμβαδίζει με την ταχύτητα της κεντρικής μονάδας επεξεργασίας ή να κάνω την κρυφή μνήμη μεγαλύτερη για να ξεπεράσω το διευρυνόμενο κενό ανάμεσα στην κεντρική μονάδα επεξεργασίας και την κύρια μνήμη. Η απάντηση στο ερώτημα αυτό δίνεται με την προσθήκη ενός ακόμη επιπέδου κρυφής μνήμης ανάμεσα στην αρχική κρυφή μνήμη και την κύρια μνήμη. Η κρυφή μνήμη πρώτου επιπέδου μπορεί να είναι αρκετά μικρή για να ισοδυναμεί με τον χρόνο κύκλου ρολογιού της γρήγορης κεντρικής μονάδας επεξεργασίας. Όμως, η κρυφή μνήμη δευτέρου επιπέδου μπορεί 17

19 να είναι αρκετά μεγάλη να συλλάβει πολλές προσπελάσεις που θα μπορούσαν να πάνε στην κύρια μνήμη μειώνοντας έτσι την ποινή αστοχίας. Οι πολυεπίπεδες κρυφές μνήμες απαιτούν παραπάνω υλικό για να μειώσουν την ποινή αστοχίας κάτι που δε συμβαίνει με τη δεύτερη τεχνική. Αυτή βασίζεται στην παρατήρηση ότι η κεντρική μονάδα επεξεργασίας κανονικά χρειάζεται μόνο μια λέξη από κάθε μπλοκ. Εδώ υπάρχουν δύο στρατηγικές: Η κρίσιμη λέξη πρώτη. Ζητάμε την απαιτούμενη λέξη πρώτα από την μνήμη και αμέσως μόλις φτάσει την στέλνουμε στην κεντρική μονάδα επεξεργασίας. Αφήνουμε την CPU να συνεχίσει την εκτέλεση ενώ γεμίζουμε τις υπόλοιπες λέξεις στα μπλοκ. Η ανάκληση της κρίσιμης λέξης πρώτα ονομάζεται και περιβαλλόμενη ανάκληση και απαιτούμενη πρώτη λέξη. Γρήγορη επανεκκίνηση. Ανακαλούμε τις λέξεις με την κανονική σειρά αλλά μόλις η απαιτούμενη λέξη του μπλοκ φθάσει, τη στέλνουμε στην CPU και αφήνουμε την CPU να συνεχίσει την εκτέλεση. Γενικά, αυτές οι τεχνικές έχουν εφαρμογή κυρίως σε μεγάλες κρυφές μνήμες, αφού το όφελος είναι χαμηλό εκτός αν τα μπλοκ είναι μεγάλα. Η τρίτη τεχνική χρησιμοποιεί τους προσωρινούς χώρους εγγραφής για τη μείωση της ποινής αστοχίας. Οι προσωρινοί χώροι εγγραφής χρησιμοποιούνται με δύο τρόπους: Δίνοντας προτεραιότητα στις αστοχίες ανάγνωσης έναντι της εγγραφής Συγχωνεύοντας τον προσωρινό χώρο αποθήκευσης Μια τελευταία προσέγγιση για να μειώσουμε την ποινή αστοχίας είναι να θυμόμαστε τι είχε απορριφθεί, σε περίπτωση που χρειαστεί πάλι. Από τη στιγμή που τα απορριφθέντα δεδομένα έχουν ανακληθεί, μπορούν να χρησιμοποιηθούν ξανά με μικρό κόστος. Τέτοια ανακύκλωση απαιτεί μια μικρή πλήρως συσχετιστική κρυφή μνήμη ανάμεσα σε μια κρυφή μνήμη και το μονοπάτι της επαναπλήρωσής της. Η κρυφή μνήμη θύματος περιλαμβάνει μόνο μπλοκ που απορρίφθηκαν από μια κρυφή μνήμη 18

20 λόγω μιας αστοχίας- θύματα και ελέγχονται σε μια αστοχία για να δούμε αν έχουν τα επιθυμητά δεδομένα πριν πάμε στο χαμηλότερο επίπεδο μνήμης. Αν βρεθεί εκεί, το θύμα μπλοκ και το μπλοκ της κρυφής μνήμης αντιμετατίθενται. Σχήμα 8 Τοποθέτηση της κρυφής μνήμης θυμάτων στην ιεραρχία της μνήμης β) Μείωση του ρυθμού αστοχίας Ο απλούστατος τρόπος για να μειώσουμε το ρυθμό αστοχίας είναι να αυξήσουμε το μέγεθος του μπλοκ δεδομένων. Το παρακάτω σχήμα δείχνει την αλληλεπίδραση του μεγέθους του μπλοκ με το ρυθμό αστοχίας για ένα σύνολο προγραμμάτων και μεγεθών κρυφών μνημών. Μεγαλύτερα μεγέθη μπλοκ θα μειώσουν τις υποχρεωτικές αστοχίες. Αυτή η μείωση συμβαίνει εξαιτίας της αρχής της τοπικότητας που έχει δύο συστατικά : τη χρονική και τη χωρική τοπικότητα. Τα μεγαλύτερα μπλοκ εκμεταλλεύονται τη χωρική τοπικότητα. 19

21 Σχήμα 9 miss rate σε σχέση με το μέγεθος του block δεδομένων για πέντε διαφορετικού μεγέθους μνήμες cache Την ίδια στιγμή, τα μεγαλύτερα μπλοκ αυξάνουν την ποινή αστοχίας. Αφού μειώνουν τον αριθμό των μπλοκ στην κρυφή μνήμη, τα μεγαλύτερα μπλοκ μπορεί μα αυξήσουν τις αστοχίες σύγκρουσης και ακόμη τις αστοχίες χωρητικότητας, αν η κρυφή μνήμη είναι μικρή. Σαφώς δεν υπάρχει σημαντικός λόγος να αυξήσουμε το 20

22 μέγεθος του μπλοκ σε τέτοιο μέγεθος που να αυξήσουμε το ρυθμό αστοχίας. Επίσης δεν υπάρχει όφελος στη μείωση του ρυθμού αστοχίας, αν αυτό αυξάνει το μέσο χρόνο προσπέλασης της μνήμης. Η αύξηση της ποινής αστοχίας μπορεί να υπερτερεί της μείωσης του ρυθμού αστοχίας. Η δεύτερη τεχνική για τη μείωση της αστοχίας περιλαμβάνει τη χρήση μεγαλύτερων κρυφών μνημών. Το προφανές μειονέκτημα σε αυτή την περίπτωση είναι ο μεγαλύτερος χρόνος ευστοχίας και το υψηλότερο κόστος. Αυτή η τεχνική έχει υπάρξει ιδιαιτέρως δημοφιλείς σε κρυφές μνήμες εκτός chip επεξεργαστή. Ακόμη, οι ρυθμοί αστοχίας βελτιώνονται με μεγαλύτερη συσχετιστικότητα. Για μικρές μνήμες στην πράξη ισχύει ότι η συνολοσυσχετιστική μνήμη οχτώ δρόμων είναι εξίσου αποτελεσματική με την πλήρως συσχετιστική και ότι μια μνήμη μεγέθους Ν με άμεση αντιστοίχηση έχει ίδιο ρυθμό αστοχίας με μία μνήμη δύο δρόμων μεγέθους Ν. Μια άλλη προσέγγιση που μειώνει τις αστοχίες σύγκρουσης και παρόλα αυτά διατηρεί την ταχύτητα ευστοχίας της άμεσα αντιστοιχισμένης κρυφής μνήμης είναι η πρόβλεψη δρόμων. Επιπλέον bits που διατηρούνται στην κρυφή μνήμη χρησιμοποιούνται για να προβλέψουν τους δρόμους ή τα μπλοκ μέσα στο σύνολο για την επόμενη προσπέλαση κρυφής μνήμης. Αν η πρόβλέψη αποδειχθεί αληθής έχουμε πολύ μικρότερη καθυστέρηση κρυφής μνήμης. Στην αντίθετη περίπτωση έχουμε πολύ μεγάλη καθυστέρηση. Αν το ποσοστό επιτυχούς πρόβλεψης είναι υψηλό μπορούμε να πετύχουμε μεγάλη βελτίωση στην απόδοση. Άλλη μια μέθοδος μείωσης του ρυθμού αστοχίας είναι η βελτιστοποίηση του μεταφραστή. Είναι η μόνη τεχνική που δεν απαιτεί αλλαγές στο υλικό αλλά μόνο αλλαγές στο λογισμικό. Απλές αλλαγές στον κώδικα, όπως μια αλλαγή στη σειρά των εντολών, μπορούν να έχουν επίδραση στην απόδοση κρυφής μνήμης εφόσον ληφθεί υπόψη η αρχιτεκτονική κρυφής μνήμης του συστήματος στο οποίο θα εκτελεστούν. γ) Με παραλληλισμό που μειώνει την ποινή ή το ρυθμό αστοχίας Για τους επεξεργαστές που επιτρέπουν την ολοκλήρωση εκτός σειράς (out-oforder completion) η CPU δεν χρειάζεται να σταματήσει σε μια αστοχία της κρυφής μνήμης. Για παράδειγμα, η CPU θα μπορούσε να συνεχίσει να φέρνει εντολές από 21

23 την κρυφή μνήμη εντολών, ενώ περιμένει την κρυφή μνήμη δεδομένων να επιστρέψει τα ζητούμενα δεδομένα. Για επεξεργαστές που δεν επιτρέπουν απαραίτητα εκτέλεση εκτός σειράς: Προανάκληση μπλοκ από υλικό: Η CPU ανακαλεί δύο μπλοκ σε περίπτωση αστοχίας (το απαιτούμενο και το επόμενο που τοποθετείται σε προσωρινό χώρο αποθήκευσης) Προανάκληση από το μεταφραστή: Ο μεταφραστής εισάγει εντολές προανάκλησης απαιτώντας τα δεδομένα πριν τα χρειαστούμε δ) Μείωση του χρόνου ευστοχίας Η μείωση του χρόνου ευστοχίας είναι επιθυμητή διότι επηρεάζει το μέσο χρόνο προσπέλασης μνήμης και το ρυθμό ρολογιού του επεξεργαστή. Μπορεί να επιτευχθεί με μικρή κρυφή μνήμη η οποία τοποθετείται στο ίδιο chip με την ΚΜΕ, με απλή λειτουργία κρυφής μνήμης(π.χ. με άμεση αντιστοίχιση), με προσπέλαση μνήμης με pipeline και με κρυφή μνήμη ίχνους η οποία βρίσκει μια δυναμική ακολουθία εντολών για να φορτώσει σε ένα μπλοκ κρυφής μνήμης. 1.6 Η Scratch pad μνήμη Τα ενσωματωμένα συστήματα συνήθως απαρτίζονται από πολλά διαφορετικά chips τα οποία αποτελούνται από μικροεπεξεργαστικά συστήματα, off-chip μνήμες και on-chip μνήμες. Οι on-chip SRAM μνήμες είναι συνήθως scratchpad μνήμες. Τα κύρια χαρακτηριστικά τους είναι η ταχύτητα τους, η μικρή επιφάνεια ολοκλήρωσης τους και η μικρή κατανάλωση ενέργειας καθώς δε διαθέτουν tag-decoding logic όπως οι cache μνήμες. Η ιδιαιτερότητα τους αυτή φαίνεται στα σχήματα 8 και 9, ειδικά αν συγκριθεί η δομή της με αυτή της μνήμης cache που φαίνεται στο σχήμα 4. 22

24 Σχήμα 10 Οργάνωση Scratch pad μνήμης Σχήμα 11 Δομή Scratch pad μνήμης Οι scratchpad μνήμες χαρακτηρίζονται ως compiler-managed SRAM memories, καθώς ο έλεγχος τους επαφίεται στους μεταγλωττιστές (compilers). Ο compiler είναι αυτός που πρέπει να αποφασίσει ποια από τα δεδομένα θα τοποθετήσει στην scratchpad μνήμη και ποια θα αφαιρέσει από αυτή. Προτεραιότητα έχουν τα 23

25 δεδομένα που προσπελαύνονται με μεγαλύτερη συχνότητα. Αυτό είναι ένα σημαντικό σημείο προκειμένου να μπορέσουμε να εκμεταλλευτούμε πλήρως τα πλεονεκτήματα της scratchpad μνήμης. Για αυτό και γίνεται μεγάλη προσπάθεια για την ανάπτυξη των αλγορίθμων αυτών που θα βελτιστοποιήσουν την απόδοση της. Η scratchpad μνήμη είναι μια μικρή μνήμη δεδομένων η οποία έχει δικό της σύστημα διευθυνσιοδότησης διαφορετικό από αυτής της off-chip μνήμης. Ακόμη, ο compiler τοποθετεί στην scratchpad μνήμη μόνο τα δεδομένα που είναι απαραίτητα για την εκτέλεση μιας εφαρμογής και ως εκ τούτου η scratchpad μνήμη έχει πάντα ευστοχία (hits) και ποτέ αστοχίες (misses) σε αντίθεση με την κρυφή μνήμη. Αυτό προϋποθέτει όμως να είναι στατική η εφαρμογή και να επιτρέπει από την φύση της να εφαρμοστεί η βέλτιστη compiler τεχνική κατά την συγγραφή του αλγόριθμου. Σχήμα 12 Scratch pad memory array Στο παραπάνω σχήμα φαίνεται το array cell της scratchpad μνήμης(a), το κύτταρο μνήμης(b) και τα 6 transistors της SRAM. Κάθε πίνακας έχει τόσες word lines όσες και οι γραμμές του πίνακα, αλλά μόνο μια word line σε κάθε πίνακα μπορεί να έχει υψηλό δυναμικό κάθε φορά. Κάθε κύτταρο μνήμης κατά μήκος της επιλεγμένης γραμμής συνδέεται με ένα ζευγάρι από γραμμές bit (bit lines). Κάθε γραμμή bit έχει φορτιστεί από πριν. Όταν μια word line έχει υψηλό δυναμικό, τότε κάθε κύτταρο μνήμης αυτής της γραμμής αναγκάζει μια από τις γραμμές bit να πάει 24

26 στο μηδέν. Το ποια από τις δύο γραμμές θα πάει σε χαμηλό δυναμικό καθορίζεται από την τιμή που θα αποθηκευτεί στο κύτταρο μνήμης. Όπως αναφέρθηκε προηγουμένως οι scratch pad μνήμες δεν διαθέτουν tagdecoding logic όπως οι cache μνήμες, αφού δεν της χρειάζεται καθώς τον έλεγχο τους έχει αναλάβει ο compiler. Αυτό δίνει το πλεονέκτημα της σημαντικά χαμηλότερης κατανάλωσης σε σχέση με τις cache μνήμες σε ένα ποσοστό περίπου 33 %. Επίσης στο σχήμα 10 που ακολουθεί φαίνεται η κατανομή της κατανάλωσης ενέργειας σε μια scratch pad μνήμη. Το 64 % της ενέργειας καταναλώνεται από τον πίνακα δεδομένων (data array) ενώ το υπόλοιπο 36 % καταναλώνεται στο πίνακα ετικετών (tag array). Σχήμα 13 κατανομή κατανάλωσης της Scratch pad μνήμης Σχήμα 14 Σύγκρισή κατανάλωσης Scratch pad με διάφορες cache μνήμες 25

27 ΚΕΦΑΛΑΙΟ 2 Υλικό για την υλοποίηση Prefetch και τεχνικές Prefetching 2.1 Εισαγωγή Ο επεξεργαστής έχει την ικανότητα να εκτελεί πολλές εργασίες μαζί, όπως υπολογισμούς, ανακλήσεις και αποθηκεύσεις δεδομένων καθώς και μείωση ή αύξηση δεικτών. Πολλοί από τους κύκλους που σπαταλάει η CPU είναι για μεταφορά δεδομένων, load και store εντολές, καθώς και για υπολογισμό διευθύνσεων. Όπως είναι φυσικό η απόδοση του επεξεργαστή βελτιώνεται αν τα δεδομένα μεταφέρονται χωρίς να απασχολείται ο επεξεργαστής με την εκτέλεση των μεταφορών αυτών. 26

28 Στο σημείο αυτό, ο direct memory access (DMA) controller έρχεται να βοηθήσει. Οι επεξεργαστές χρειάζονται τους DMA ελεγκτές ώστε να απελευθερωθούν από το φορτίο αυτών των μεταφορών μεταξύ εσωτερικών/ εξωτερικών μνημών και περιφερειακών συσκευών, καθώς και των μεταφορών μεταξύ των μνημών. Με τον όρο prefetching εννοούμε τη μεταφορά μπλοκ δεδομένων στην κρυφή μνήμη πριν αυτά ζητηθούν από την κεντρική μονάδα επεξεργασίας. Με αυτόν τον τρόπο, καλύπτεται η καθυστέρηση που ανακύπτει από μια αστοχία, δηλαδή ο επεξεργαστής δε χρειάζεται να περιμένει για να έρθουν τα δεδομένα από την κύρια μνήμη. 2.2 DMA ελεγκτής Υπάρχουν δύο τύποι DMA ελεγκτών. O Cycle-stealing DMA ο οποίος χρησιμοποιεί τους κύκλους που δε χρησιμοποιεί ο επεξεργαστής για να εκτελέσει τη μεταφορά δεδομένων. Ένας τέτοιος ελεγκτής αποδεικνύεται ανεπαρκής στην περίπτωση όπου το επεξεργαστικό φορτίο είναι μεγάλο για παράδειγμα στις εφαρμογές πολυμέσων. Αντίθετα, έχει μεγαλύτερη απόδοση ένας ελεγκτής DMA που λειτουργεί ανεξάρτητα από την κεντρική μονάδα επεξεργασίας. Η σημαντικότητα ενός DMA ελεγκτή μπορεί να γίνει καλύτερα κατανοητή από το εξής απλό παράδειγμα. Ας υποθέσουμε λοιπόν ότι έχουμε έναν επεξεργαστή από μια συσκευή video ο οποίος θα πρέπει να διαβάζει τα εισερχόμενα δεδομένα κάθε φορά που αυτά είναι διαθέσιμα στη θύρα εισόδου. Σε αυτή την περίπτωση η κεντρική μονάδα επεξεργασίας για να επεξεργαστεί τα δεδομένα που καταφθάνουν θα πρέπει να διακόψει τη λειτουργία της πάρα πολλές φορές μέσα σε ένα δευτερόλεπτο. Ο DMA ελεγκτής δηλώνεται κατά την αρχικοποίηση, επομένως η κεντρική μονάδα επεξεργασίας το μόνο που κάνει είναι να ανταποκρίνεται στις διακοπές του DMA ελεγκτή, όταν ολοκληρωθούν όλες οι μεταφορές δεδομένων. Ο DMA ελεγκτής μπορεί να προγραμματιστεί να μεταφέρει τα δεδομένα παράλληλα με τον 27

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

30 βίντεο μπορεί κατευθείαν να οδηγηθούν στην εξωτερική μνήμη και αυτό συμβαίνει επειδή ενδέχεται η εσωτερική μνήμη να μην είναι αρκετά μεγάλη για να αποθηκεύσει όλο το φορτίο των δεδομένων που απαιτείται. Όμως, προσπαθούμε να αποφεύγουμε την ανάκληση δεδομένων από εξωτερικές μνήμες κάθε φορά που απαιτείται η εκτέλεση ενός υπολογισμού κι αυτό διότι πρόκειται για μια αρκετά χρονοβόρα διαδικασία. Με τη βοήθεια όμως του DMA ελεγκτή η μεταφορά μεταξύ εσωτερικής και εξωτερικής μνήμης γίνεται ταχύτερα. Στο παρακάτω σχήμα παρουσιάζονται κάποιες τυπικές μεταφορές που πραγματοποιεί ένας DMA ελεγκτής. Σχήμα 16 - Μεταφορά δεδομένων από την κύρια μνήμη ή τη δευτερεύουσα μνήμη σε μια περιφερειακή συσκευή με τη βοήθεια ενός DMA ελεγκτή Σχήμα 17 - Μεταφορά δεδομένων από μια περιφερειακή συσκευή στην κύρια μνήμη ή σε μια δευτερεύουσα μνήμη με τη βοήθεια ενός DMA ελεγκτή 29

31 Σχήμα 18 - Μεταφορά δεδομένων μεταξύ της κύριας μνήμης και μιας δευτερεύουσας μνήμης ή μεταξύ δύο δευτερεύυσων μνημών. Θα μπορούσαμε να χαρακτηρίσουμε τον DMA ελεγκτή σαν μια ιδανική περιφερειακή συσκευή της οποίας το κύριο έργο είναι να μεταφέρει δεδομένα μέσα στο σύστημα. Χαρακτηρίζεται ως περιφερειακή συσκευή με την έννοια ότι προγραμματίζεται από την κεντρική μονάδα επεξεργασίας να εκτελεί ένα σύνολο μεταφορών. Διαθέτει τη μοναδική ικανότητα να αλληλεπιδρά τόσο με τις περιφερειακές συσκευές όσο και με τις μνήμες είτε εσωτερικές ή εξωτερικές. Περιφερειακές συσκευές με μεγάλη ροή δεδομένων της τάξης των Kbytes ή και μεγαλύτερη χρειάζονται έναν DMA ελεγκτή ώστε οι μεταφορές των δεδομένων να γίνονται ταχύτερα, διαφορετικά επιβαρύνουν αρκετά την κεντρική μονάδα επεξεργασίας. Τέτοια παραδείγματα είναι οι συσκευές video, audio και οι διεπαφές δικτύων. Περιφερειακές συσκευές με μικρότερο bandwidth μπορούν να εξοπλιστούν με ελεγκτή DMA, ωστόσο δεν είναι μεγάλο φορτίο για τον επεξεργαστή η μεταφορά των δεδομένων σε αυτή την περίπτωση. Oι DMA ελεγκτές περιλαμβάνουν ένα δίαυλο διευθύνσεων, ένα δίαυλο δεδομένων και καταχωρητές ελέγχου. Ένας αποτελεσματικός DMA ελεγκτής μπορεί να έχει πρόσβαση σε οποιοδήποτε πόρο του συστήματος απαιτείται, χωρίς να είναι απαραίτητη η παρέμβαση του επεξεργαστή και για να γίνει αυτό απαραίτητη είναι η δημιουργία διακοπών. Τέλος, θα πρέπει να έχει την ικανότητα να υπολογίζει τις διευθύνσεις των δεδομένων που πρόκειται να μεταφερθούν. 30

32 Ένας επεξεργαστής μπορεί να περιέχει πολλούς DMA ελεγκτές και κάθε ελεγκτής περιέχει πλήθος από κανάλια και διαύλους με τους οποίους συνδέεται απευθείας με τις μνήμες και τις περιφερειακές συσκευές. Αυτό φαίνεται και στο σχήμα που ακολουθεί. Όταν ο επεξεργαστής έχει πολλούς DMA ελεγκτές τότε αυτοί χωρίζονται σε δύο μεγάλες ομάδες και εκτελούν διαφορετικές διεργασίες. Οι ελεγκτές της πρώτης ομάδας ονομάζονται System DMA και έχουν πρόσβαση στις περιφερειακές συσκευές και στις εξωτερικές μνήμες. Οι ελεγκτές της δεύτερης ομάδας ονομάζονται Internal Memory DMA και έχουν πρόσβαση μόνο στις εσωτερικές μνήμες. Σχήμα 19 - Η αρχιτεκτονική του DMA Στην περίπτωση που ο DMA ελεγκτής έχει να εξυπηρετήσει πολλές αιτήσεις μπορεί να έχει προγραμματιστεί, αναλόγως με το σύστημα στο οποίο ανήκει, να ικανοποιεί την αίτηση του καναλιού με τη μεγαλύτερη προτεραιότητα. Επιπλέον, για τα DMA κανάλια ενδέχεται να ισχύει η round robin πρόσβαση. Ένα κανάλι μνήμης δηλαδή, μπορεί να έχει πρόσβαση στο δίαυλο για ένα προγραμματισμένο αριθμό κύκλων πριν παραδώσει το δίαυλο σε ένα άλλο κανάλι μνήμης το οποίο τον δεσμεύει για τον ίδιο αριθμό κύκλων. Επίσης όταν υπάρχουν περισσότεροι από ένας DMA ελεγκτές, τα κανάλια του ενός ελεγκτή μπορεί να αποτελούν την ίδια στιγμή 31

33 μέρος των καναλιών του άλλου ελεγκτή. Αυτό μπορεί να συμβεί για παράδειγμα στην περίπτωση που λαμβάνει χώρα μια μεταφορά μεταξύ εσωτερικής και εξωτερικής μνήμης στον πρώτο ελεγκτή, ενώ ο δεύτερος ελεγκτής εκτελεί μια μεταφορά μεταξύ μιας περιφερειακής συσκευής και μιας δευτερεύουσας μνήμης. Αν δύο DMA ελεγκτές προσπαθήσουν να έχουν πρόσβαση στον ίδιο πόρο όπως σε μια εξωτερική μνήμη την ίδια χρονική στιγμή τότε το πρόβλημα που προκύπτει λύνεται με διαιτησία, δηλαδή ένας από τους δύο ελεγκτές πρέπει να προγραμματιστεί να έχει μεγαλύτερη προτεραιότητα από τον άλλο. Κάθε DMA ελεγκτής έχει μια FIFO η οποία λειτουργεί σαν buffer μεταξύ του DMA υποσυστήματος και των περιφερειακών συσκευών ή τις μνήμες και βελτιώνει την απόδοση καθώς παρέχει ένα μέρος όπου τα δεδομένα μπορούν να αποθηκευτούν όταν μια μεταφορά δεν είναι δυνατό να ολοκληρωθεί. Εάν ο DMA ελεγκτής εκτελεί κυρίως μεταφορές μεταξύ μνημών είναι πιθανό να διαθέτει από μια FIFO για τις διευθύνεις του προορισμού και της προέλευσης. Ανεξάρτητα από το εάν ο DMA ελεγκτής εκτελεί μεταφορές δεδομένων μεταξύ μνημών ή μιας περιφερειακής συσκευής και μιας μνήμης θα πρέπει να διευκρινιστούν ποια θα είναι η αρχική διεύθυνση προέλευσης και ποια θα είναι αρχική διεύθυνση προορισμού. Στην περίπτωση των περιφερειακών συσκευών, η FIFO υποκαθιστά τη διεύθυνση προορισμού και προέλευσης. Όταν μια περιφερειακή συσκευή είναι το σημείο από το οποίο θα μεταφερθούν τα δεδομένα τότε η διεύθυνση προορισμού μπορεί να είναι μια διεύθυνση σε μια εσωτερική ή εξωτερική μνήμη. Αντιστρόφως, όταν πρέπει να σταλούν δεδομένα από μια θέση μνήμης (εσωτερική ή εξωτερική) σε μια περιφερειακή συσκευή τότε η διεύθυνση προορισμού υποκαθίσταται από τη FIFO της περιφερειακής συσκευής. Εκτός από την αρχική διεύθυνση προορισμού και προέλευσης ο DMA ελεγκτής πρέπει να γνωρίζει και το μέγεθος του μπλοκ που θα μεταφέρει. Έτσι, ξεκινά να μεταφέρει τα δεδομένα από την αρχική διεύθυνση μέχρι να μεταφερθεί όλο το μπλοκ. Σε αυτή την περίπτωση, ο DMA ελεγκτής μεταφέρει ένα ενιαίο τμήμα δεδομένων από τη μία μνήμη στην άλλη. Η μεταφορά των δεδομένων όμως μπορεί να γίνει παρακάμπτοντας κάποια μπλοκ της μνήμης οπότε είναι δυνατό να μεταφερθούν δεδομένα που δε βρίσκονται σε συνεχόμενες θέσεις μέσα στη μνήμη καθώς και να αποθηκευτούν σε μη διαδοχικές θέσεις μνήμης, όπως φαίνεται στο παρακάτω σχήμα: 32

34 Σχήμα 20 Μεταφορά δεδομένων μέσω DMA Ο τρόπος με τον οποίο διαμορφώνεται η μεταφορά των δεδομένων δημιουργεί δύο μεγάλες κατηγορίες DMA ελεγκτών: οι Register mode και οι Descriptor mode. Όλοι οι DMA ελεγκτές χρησιμοποιούν τους ίδιους τύπους πληροφορίας προκειμένου να διαμορφώσουν τους όρους της μεταφοράς, ανεξάρτητα από την κατηγορία στην 33

35 οποία ανήκουν. Στην περίπτωση που ο DMA ελεγκτής τρέχει σε Register mode, τότε απλά χρησιμοποιεί τα περιεχόμενα των καταχωρητών των DMA καναλιών. Αντίθετα, στην περίπτωση του Descriptor mode, ο DMA ελεγκτής απευθύνεται στη μνήμη για να βρει αυτές τις πληροφορίες, οι οποίες φαίνονται στον παρακάτω πίνακα: Next Descriptor Pointer (lower 16 bits) Next Descriptor Pointer (upper 16 bits) Start Address (lower 16 bits) Start Address (upper 16 bits) DMA configuration X_Count X_Modify Y_Count Y_Modify Address of next descriptor Address of next descriptor Start Address (source or destination) Start Address (source or destination) Control information (enable, interrupt selection, 1Dvs 2D) Number of transfers in inner loop Number of bytes between each transfer in inner loop Number of transfers in outer loop Number of bytes between end of inner loop and start of outer loop Σχήμα 21 - DMA καταχωρητές Όταν χρησιμοποιείται η μέθοδος Register mode, ο επεξεργαστής προγραμματίζει απευθείας τους καταχωρητές του DMA ελεγκτή να ξεκινήσουν τη μεταφορά. Αυτός ο τύπος DMA ελεγκτή έχει την καλύτερη απόδοση αφού οι καταχωρητές δε χρειάζεται να φορτώνουν συνέχεια περιγραφείς από τη μνήμη και ο επεξεργαστής δε χρειάζεται να διατηρεί τους περιγραφείς. Υπάρχουν δύο επιμέρους κατηγορίες στις οποίες διακρίνονται οι DMA ελεγκτές που χρησιμοποιούν τη μέθοδο Register mode: τους Autobuffer mode και τους Stop mode. Στον Autobuffer DMA ελεγκτή, μόλις ολοκληρωθεί η μεταφορά ενός μπλοκ, οι καταχωρητές ελέγχου αυτόματα ξαναφορτώνουν τις αρχικές τους τιμές και η ίδια DMA διεργασία ξαναρχίζει με μηδενικό overhead. Για παράδειγμα, όπως φαίνεται και στο παρακάτω σχήμα, εάν δοθεί σε έναν Autobuffer DMA ελεγκτή να μεταφέρει 34

36 έναν αριθμό λέξεων από μια περιφερειακή συσκευή σε μια εσωτερική ενδιάμεση μνήμη, τότε ο DMA ελεγκτής θα ξαναφορτώσει τις αρχικές παραμέτρους αμέσως μετά την ολοκλήρωση της μεταφοράς της 1024ης λέξης με αποτέλεσμα τη δημιουργία ενός κυκλικού buffer. Κι αυτό γίνεται διότι μόλις γραφεί μια τιμή στην τελευταία θέση του buffer, η επόμενη τιμή θα γραφεί στην πρώτη θέση του buffer. Σχήμα 22 - Κυκλικός Buffer Σε εφαρμογές όπου απαιτείται πολύ καλή απόδοση εξαιτίας της συνεχόμενης ροής των δεδομένων χρησιμοποιείται Autobuffer DMA ελεγκτής ο οποίος μπορεί να διαβάζει μεγάλες ποσότητες δεδομένων χωρίς να επεμβαίνει η κεντρική μονάδα επεξεργασίας. Δεδομένου ότι ο Autobuffer DMA ελεγκτής δε σταματά χωρίς προβλήματα είναι καλό να αποφεύγεται σε διεργασίες όπου απαιτείται να αρχίσουν και να σταματήσουν ομαλά. Η λειτουργία του Stop mode DMA ελεγκτή είναι ακριβώς ίδια με αυτή του Autobuffer DMA ελεγκτή. Η διαφορά είναι ότι οι καταχωρητές δε ξαναφορτώνονται με τις αρχικές τους τιμές και έτσι η μεταφορά ολοκληρώνεται κατευθείαν. Οι Stop mode DMA ελεγκτές είναι χρήσιμοι για τη μεταφορά δεδομένων από ένα σημείο της μνήμης σε ένα άλλο όταν τα δεδομένα πρέπει να μεταφερθούν με μιας. Για παράδειγμα, υπάρχουν περιπτώσεις όπου η μεταφορά των δεδομένων δεν πρέπει να γίνεται περιοδικά, μια τέτοια περίπτωση είναι η αρχικοποίηση ενός buffer. Αυτή η μέθοδος είναι επίσης χρήσιμη όταν είναι απαραίτητο να συγχρονιστούν γεγονότα. Για 35

37 παράδειγμα, αν μια εργασία πρέπει να ολοκληρωθεί πριν αρχικοποιηθεί η επόμενη μεταφορά, η Stop mode μπορεί να εγγυηθεί ότι αυτή η ακολουθία θα τηρηθεί. Οι DMA ελεγκτές που χρησιμοποιούν τη μέθοδο Descriptor χρειάζονται ένα σύνολο παραμέτρων οι οποίες είναι αποθηκευμένες μέσα στη μνήμη. Ο περιγραφέας περιέχει όλες τις πληροφορίες που περιέχουν οι καταχωρητές ελέγχου. Επιπλέον, όμως, οι περιγραφείς επιτρέπουν την ένωση πολλών DMA ελεγκτών στη σειρά. Η μέθοδος αυτή δίνει τη δυνατότητα, να προγραμματίσουμε ένα DMA κανάλι έτσι ώστε να ορίζει αυτόματα τις απαραίτητες παραμέτρους και να αρχίζει μια άλλη μεταφορά αμέσως μόλις ολοκληρωθεί η τρέχουσα μεταφορά. Ακόμη, προσφέρει μεγάλη ευελιξία ως προς τη διαχείριση των DMA μεταφορών. Ένα σοβαρό μειονέκτημα της μεθόδου Descriptor είναι ότι όσοι περισσότεροι περιγραφείς χρησιμοποιούνται τόσες περισσότερες ανακλήσεις πρέπει να γίνουν από τη μνήμη. Η διαχείριση μιας λίστας περιγραφέων μπορεί να γίνει με διάφορους τρόπους. Η πρώτη επιλογή που μοιάζει πολύ με τη μέθοδο του Autobuffer DMA περιλαμβάνει τον ορισμό πολλών περιγραφέων οι οποίοι συνδέονται μεταξύ τους όπως φαίνεται στο παρακάτω σχήμα. Ο όρος «συνδέονται» υπονοεί ότι ένας περιγραφέας δείχνει τον επόμενο περιγραφέα ο οποίος φορτώνεται αυτόματα μόλις η μεταφορά των δεδομένων η οποία ορίζεται από τον πρώτο περιγραφέα ολοκληρωθεί. Η σύνδεση ολοκληρώνεται με τον τελευταίο δείκτη να δείχνει στον πρώτο περιγραφέα και η διεργασία επαναλαμβάνεται. Οι περιγραφείς προσφέρουν μεγαλύτερη ευελιξία ως προς το μέγεθος και την κατεύθυνση των μεταφορών και αυτός είναι ο λόγος που η μέθοδος αυτή είναι προτιμότερη από την μέθοδο του Autobuffer. Σχήμα 23 - Συνδεδεμένες λίστες περιγραφέων 36

38 Η δεύτερη μέθοδος περιλαμβάνει τη διαχείριση της λίστας περιγραφέων (descriptor) από τον ίδιο τον επεξεργαστή. Κάθε περιγραφέας είναι μια δομή της μνήμης ο οποίος περιέχει μια λέξη με τις παραμέτρους διαμόρφωσης της μεταφοράς. Η λέξη αυτή με τη σειρά της περιέχει ένα bit enable το οποίο ενεργοποιείται μόλις αρχίσει μια μεταφορά. Έστω ότι έχουμε τέσσερις buffers οι οποίοι έχουν να μεταφέρουν δεδομένα. Η μεταφορά των δεδομένων αρχίζει μόνο όταν ο επεξεργαστής είναι έτοιμος, για αυτό ορίζουμε τις παραμέτρους όλων των περιγραφέων από πριν χωρίς όμως τα enable bits να πάρουν κάποια τιμή. Όταν ο επεξεργαστής αποφασίσει ότι πρέπει να αρχίσει ένας περιγραφέας, τότε απλά ενημερώνει τον περιγραφέα στη μνήμη και στη συνέχεια γράφει στους καταχωρητές του καναλιού για να αρχίσει το ακινητοποιημένο κανάλι. Στο παρακάτω σχήμα περιγράφεται η διαδικασία της μεταφοράς: Σχήμα 24 Descriptor Όμως εδώ δημιουργείται το εξής ερώτημα: ένας τέτοιος τύπος μεταφοράς είναι χρήσιμος εφόσον εμπλέκεται ο ίδιος ο επεξεργαστής; Υπάρχουν κάποιες εφαρμογές όπως είναι οι ΕΜΡ οι οποίες απαιτούν το συγχρονισμό της ροής εισόδου των δεδομένων με τη ροή εξόδου των δεδομένων. Για παράδειγμα, υπάρχει πιθανότητα να λαμβάνουμε δείγματα video σε μια μνήμη με διαφορετικό ρυθμό σε σχέση με το 37

39 ρυθμό που τα εμφανίζουμε στην έξοδο. Κάτι τέτοιο μπορεί να συμβεί σε συστήματα πραγματικού χρόνου ακόμη και εάν προσπαθήσουμε να ρυθμίσουμε τις ροές δεδομένων να «τρέχουν» με τον ίδιο ρυθμό ρολογιού. Σε περιπτώσεις όπου ο συγχρονισμός είναι πολύ σημαντικός, ο επεξεργαστής μπορεί να ρυθμίσει τους DMA περιγραφείς ανάλογα με τους buffers εξόδου. Πριν ο επόμενος περιγραφέας ενεργοποιηθεί, ο επεξεργαστής μπορεί να συγχρονίσει τη ροή των δεδομένων ρυθμίζοντας τον τρέχοντα περιγραφέα εξόδου μέσω ενός μηχανισμού σημαφόρων. Έτσι με τη βοήθεια αυτής της μεθόδου μπορούμε να εξασφαλίσουμε ότι μόνο μια οντότητα μπορεί να έχει πρόσβαση σε έναν κοινό πόρο. Σε αυτή τη μέθοδο συνίσταται να τοποθετούμε μια επιπλέον λέξη στο τέλος των μεταφερόμενων δεδομένων. Αυτή η λέξη βοηθά στην ταυτοποίηση του πακέτου που στέλνεται, περιλαμβάνοντας πληροφορίες σχετικά με το χειρισμό των δεδομένων και πιθανόν μια σφραγίδα χρόνου. Πιο σύνθετες εφαρμογές έχουν έναν DMA Manager υλοποιημένο με λογισμικό. Αυτός μπορεί να παρέχεται σαν ένα τμήμα του λειτουργικού συστήματος ή του real-time kernel, αλλά μπορεί να τρέξει και χωρίς την ύπαρξη αυτών των δύο. Και στις δύο περιπτώσεις, μια εφαρμογή υποβάλλει την αίτηση της στον DMA Queue Manager ο οποίος πρέπει να χειρίζεται κάθε αίτηση. Συνήθως, τα συστήματα αυτά διαθέτουν μια διεύθυνση-δείκτη σε μια callback συνάρτηση η οποία φέρνει σε πέρας την εργασία που θα θέλαμε να εκτελέσει ο επεξεργαστής μόλις ο buffer των δεδομένων είναι έτοιμος, χωρίς να αργοπορεί άσκοπα η κεντρική μονάδα επεξεργασίας χρησιμοποιώντας ρουτίνες διακοπών. Υπάρχουν δύο μέθοδοι οι οποίες βασίζονται σε διακοπές και μας επιτρέπουν να διαχειριστούμε μια ουρά περιγραφέων. Η πρώτη βασίζεται στη δημιουργία διακοπών αμέσως μετά την ολοκλήρωση κάθε περιγραφέα και χρησιμοποιείται μόνο στην περίπτωση που μπορούμε να εγγυηθούμε ότι κάθε διακοπή θα γίνεται χωριστά και τη σωστή χρονική στιγμή. Στη δεύτερη μέθοδο οι διακοπές λαμβάνουν χώρα μόνο μετά την ολοκλήρωση μιας μεταφοράς δεδομένων και ορίζονται από το τελευταίο περιγραφέα του work block. Ένα work block είναι μια συλλογή από έναν ή περισσότερους περιγραφείς. 38

40 Είναι απαραίτητο να συγκρατήσουμε στο λογισμικό μια καταμέτρηση του αριθμού των περιγραφέων που προστίθενται στην ουρά ώστε να διατηρήσουμε τον συγχρονισμό, ενώ ο interrupt handler διατηρεί μια καταμέτρηση του αριθμού των περιγραφέων που έχουν απομακρυνθεί από την ουρά. Οι δύο καταμετρητές είναι ίσοι μόνο στην περίπτωση που τα DMA κανάλια έχουν σταματήσει αφότου έχουν επεξεργαστεί όλους τους περιγραφείς. 2.3 PREFETCHING Με τον όρο prefetching εννοούμε τη μεταφορά μπλοκ δεδομένων στην κρυφή μνήμη πριν αυτά ζητηθούν από την κεντρική μονάδα επεξεργασίας. Με αυτόν τον τρόπο, καλύπτεται η καθυστέρηση που ανακύπτει από μια αστοχία και ο επεξεργαστής δε χρειάζεται να περιμένει για να έρθουν τα δεδομένα από την κύρια μνήμη. Παρότι αυτή η μέθοδος απαιτεί μεγάλο εύρος ζώνης, μπορεί να μειώσει σημαντικά το latency. Στην περίπτωση όμως που το prefetching γίνει με λάθος τρόπο τότε μπορεί να προκληθεί πολύ μεγάλη ζημιά διότι καταναλώνεται μεγάλο εύρος ζώνης αλλά υπάρχει και ο κίνδυνος να εκτοπιστούν χρήσιμα δεδομένα από την κρυφή μνήμη. Το prefetching υλοποιείται είτε με software είτε με hardware. Το hardware prefetch περιλαμβάνει τα ακόλουθα: sequential prefetching: καλούνται στην κρυφή μνήμη τα μπλοκ που βρίσκονται κάτω από το τρέχων μπλοκ που έχει ανακληθεί από την κεντρική μονάδα επεξεργασίας(block i, prefetch i+1) stream buffers: η μέθοδος αυτή προσπαθεί να βρει ακολουθίες από μπλοκ, ώστε να είναι σε θέση να προβλέψει ποιο θα είναι το επόμενο μπλοκ που πρέπει να ανακληθεί από την μνήμη correlating prefetcher με πρόβλεψη χρόνου: Η μέθοδος αυτή διατηρεί ιστορία από ακολουθίες tag που εμφανίζονται στην κρυφή μνήμη: 39

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών 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. Προσομοίωση λειτουργίας ιεραρχίας

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

Άσκηση 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

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

Ασκήσεις Caches

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

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

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

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

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

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

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 015-16 Οργάνωση Υπολογιστών (ΙI) (κύρια και ) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΥΠΟΛΟΓΙΣΤΩΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, 5 ο εξάµηνο ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΘΕΜΑΤΑ ΚΑΙ ΛΥΣΕΙΣ

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

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

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

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

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

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4 Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει

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

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

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

Αρχιτεκτονική Μνήμης

Αρχιτεκτονική Μνήμης ΕΣ 08 Επεξεργαστές Ψηφιακών Σημάτων Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

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

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

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

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

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

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

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

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

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

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

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

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

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

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

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

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

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

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 11: Κρυφή Μνήμη Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών http://arch.icte.uowm.gr/mdasyg

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

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

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

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

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

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1 Λειτουργικά Συστήματα Κεφάλαιο 5 Κεφ. 5 Λειτουργικά Συστήματα 1 Διαχείριση Κεντρικής Μνήμης Στην Κεντρική (κύρια) Μνήμη του Η/Υ αποθηκεύονται ανα πάσα στιγμή όλα τα προγράμματα που εκτελούνται στην ΚΜΕ

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

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

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

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

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

Processor-Memory (DRAM) ιαφορά επίδοσης

Processor-Memory (DRAM) ιαφορά επίδοσης Processor-Memory (DRAM) ιαφορά επίδοσης µproc 6%/yr 98 98 982 983 984 985 986 987 988 989 99 99 992 993 994 995 996 997 998 999 2 2 22 23 24 25 Performance Processor-Memory Performance Gap: (grows 5% /

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

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

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

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

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις

Προγραμματισμός συστημάτων UNIX/POSIX. Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Προγραμματισμός συστημάτων UNIX/POSIX Θέμα επιλεγμένο από τους φοιτητές: Προγραμματιστικές τεχνικές που στοχεύουν σε επιδόσεις Βελτιστοποιήσεις με στόχο τις επιδόσεις Σε αρκετές περιπτώσεις δεν αρκεί να

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

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

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

Αρχιτεκτονική Μνήµης

Αρχιτεκτονική Μνήµης ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Μνήµης Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

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

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

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

3 η ΑΣΚΗΣΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

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

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

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

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

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

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

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

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

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

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

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας, Μικροεπεξεργαστές Σημειώσεις Μαθήματος 2013-14 Υπεύθυνος: Δρ Άρης Παπακώστας, Η γλώσσα assembly είναι μια γλώσσα προγραμματισμού χαμηλού επιπέδου για συγκεκριμένους υπολογιστές ή άλλη προγραμματιζόμενη

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

Εικονική Μνήμη (virtual memory)

Εικονική Μνήμη (virtual memory) Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη από το μέγεθος της RAM Αρχή τοπικότητας (η μνήμη χρησιμοποιείται

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

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

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 2 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Καθυστερήσεις και Εκκενώσεις Εντολών

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

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

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

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

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

Cach O p i timisati tions

Cach O p i timisati tions Cache Optimisations i 1 Διαφορά Επίδοσης Processor-Memory Performance Gap: (grows 50% / year) 2 SRAM vs DRAM 1-transistor DRAM cell 6-transistor SRAM cell 3 Intel 45nm 6T SRAM cell 4 Ιεραρχία Μνήμης Πρέπει

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