ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ

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

Download "ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ Σχολή Θετικών Επιστηµών και Τεχνολογίας Τµήµα Επιστήµης και Τεχνολογίας Υπολογιστών ιπλωµατική Εργασία Εργαλείο προσοµοίωσης µνήµης ΧΜSIM Ονοµατεπώνυµο Φοιτητή Λιώρης Θεόδωρος ΑΜ: Επιβλέπων Καθηγητής Κωνσταντίνος Μασσέλος Τρίπολη, Φεβρουάριος

2 ΕΥΧΑΡΙΣΤΙΕΣ Θα ήθελα να ευχαριστήσω θερµά τον καθηγητή κ. ηµητρουλάκο Γρηγόρη, χωρίς την βοήθεια του οποίου δεν θα είχα φέρει εις πέρας την παρούσα εργασία. 2

3 ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή.. σελ. 4 ΚΕΦΑΛΑΙΟ 1 ο Θεωρία των µνηµών....σελ Τοπικότητα....σελ Τύποι µνηµών - ιεραρχία...σελ Βασικά λειτουργικά χαρακτηριστικά πτητικής µνήµης....σελ Ο βασικός τρόπος λειτουργίας της κρυφής µνήµης (cache).σελ Χειρισµός αστοχιών στην κρυφή µνήµη..σελ ιαχείριση εγγραφών σελ Βελτίωση του συστήµατος µνήµης για ενίσχυση της κρυφής µνήµης.σελ Ο βασικός τρόπος λειτουργίας της DDR RAM σελ. 21 ΚΕΦΑΛΑΙΟ 2 ο Ανάπτυξη του εργαλείου. σελ Περιγραφή τρέχουσας κατάστασης εφαρµογές σελ Σχετική έρευνα σελ Βασικά χαρακτηριστικά προσοµοιωτή... σελ Στόχος ανάπτυξης προσοµοιωτή. σελ Λειτουργία του εξοµοιωτή.. σελ Η κλάση CScalarWrapper σελ Η κλάση CArrayScalar.... σελ Η αµιγώς αφηρηµένη κλάση CContext σελ Η κλάσηcawoutinfo.. σελ Η κλάση CMemoryPrim... σελ Η κλάση CMainMemory.. σελ Η κλάση CDRAM.... σελ Η κλάση CCacheMemory σελ Η κλάση Parser. σελ ιαγράµµατα κλάσεων σελ. 62 ΚΕΦΑΛΑΙΟ 3 ο Πειράµατα..σελ Μελέτη απόδοσης κρυφής µνήµης.σελ Μελέτη απόδοσης SDRAM...σελ. 68 ΚΕΦΑΛΑΙΟ 4 ο Επίλογος.σελ. 71 ΚΕΦΑΛΑΙΟ 5 ο Αναφορές σελ. 72 3

4 Εισαγωγή Στην παρούσα εργασία ολοκληρώθηκε η εφαρµογή εξοµοίωσης λειτουργίας µνήµης XMSIM, µε την οποία είναι δυνατόν να µελετηθεί ο τρόπος λειτουργίας διάφορων τύπων µνήµης. Η εφαρµογή είναι γραµµένη στη γλώσσα προγραµµατισµού C++ και µπορεί να εξοµοιώσει τη λειτουργία της απλής πτητικής µνήµης RAM, της DDR RAM και της κρυφής µνήµης cache. Ο χρήστης µπορεί να ορίσει τα φυσικά και λειτουργικά χαρακτηριστικά µιας ή περισσότερων πολυεπίπεδων ιεραρχιών µνήµης σε ένα αρχείο κειµένου και να εξάγει αποτελέσµατα σχετικά µε τον τρόπο λειτουργίας κάθε επιπέδου για έναν αλγόριθµο που έχει επιλέξει ο ίδιος. Τα αποτελέσµατα περιλαµβάνουν συνολικές αναφορές σε κάθε επίπεδο µνήµης, εγγραφές και αναγνώσεις, επιτυχείς και αποτυχείς αναφορές, αναγνώσεις και εγγραφές και συνολική κατανάλωση ισχύος σε κάθε επίπεδο µνήµης. Ο αλγόριθµος που εκτελείται είναι βασικά γραµµένος σε γλώσσα προγραµµατισµού C, αλλά απαιτούνται ελάχιστες αλλαγές. Με τις αλλαγές, οι διατάξεις (arrays) και οι µεταβλητές (scalars) µετατρέπονται σε αντικείµενα της C++, ώστε οι αναφορές τους σε εκφράσεις και εντολές του αλγόριθµου να γίνονται αντιληπτές από τον εξοµοιωτή και να καταγράφεται η συµπεριφορά της µνήµης. Το εργαλείο είναι κατάλληλο για µελέτη αρχιτεκτονικής µνηµών και βελτιστοποίησης αλγορίθµων, αν και δεν υποδεικνύει βέλτιστες λύσεις. Είναι επίσης κατάλληλο ως εκπαιδευτικό υλικό σε εργαστήρια αρχιτεκτονικής. Οι φοιτητές µπορούν να πειραµατιστούν για να δουν πρακτικά πως λειτουργούν οι µνήµες που διδάσκονται από τα πανεπιστηµιακά συγγράµµατα. Υπάρχει η δυνατότητα ανά πάσα στιγµή εκτέλεσης του αλγόριθµου να εξαχθούν όλα τα δεδοµένα που είναι αποθηκευµένα σε όλες τις µονάδες µνήµης. Στη συνέχεια της παρούσης αναλύεται το απαραίτητο θεωρητικό υπόβαθρο της λειτουργίας των πτητικών µνηµών στο πρώτο κεφάλαιο. Στο δεύτερο κεφάλαιο περιγράφεται η εφαρµογή, οι κλάσεις της και ο τρόπος που αυτές συνεργάζονται και λειτουργούν και στο τρίτο κεφάλαιο αναφέρονται κάποια πειράµατα και τα αποτελέσµατα που προέκυψαν από αυτά. 4

5 ΚΕΦΑΛΑΙΟ 1 ο Θεωρία των µνηµών 1.1 Τοπικότητα Μια ιδανική µνήµη, αν υπήρχε, θα ήταν άπειρη σε χωρητικότητα και θα µπορούσε σε απειροελάχιστο χρόνο να έχει πρόσβαση στα δεδοµένα της. Φυσικά η πραγµατικότητα απέχει πολύ από την θεωρία, αλλά όλες οι προσπάθειες συγκλίνουν στην ανεύρεση πολιτικών και αλγορίθµων που θα καταστήσουν τις πτητικές µνήµες ταχύτερες και ταυτόχρονα µεγαλύτερες. Το βασικό πρόβληµα είναι ότι η ταχύτητα και η χωρητικότητα είναι µεγέθη αντιστρόφως ανάλογα, εποµένως θα πρέπει να θυσιαστεί το ένα για το όφελος του άλλου. Η αρχή της τοπικότητας βρίσκει εφαρµογή στον τρόπο µε τον οποίο εκτελούνται οι διάφορες εφαρµογές και σε αυτήν έχει στηριχθεί ένα µεγάλο κοµµάτι της προόδου στις τεχνολογίες µνήµης. Σύµφωνα µε την αρχή αυτή τα προγράµµατα, κατά την εκτέλεσή τους και σε κάθε δεδοµένη στιγµή, ζητούν πρόσβαση σε ένα σχετικά µικρό ποσοστό του χώρου διευθύνσεων που χρησιµοποιούν. Βασικά υπάρχουν δύο διαφορετικά είδη τοπικότητας: 1. Η χρονική τοπικότητα, σύµφωνα µε την οποία αν κάποιο τµήµα κώδικα χρησιµοποιήθηκε πρόσφατα, υπάρχει µεγάλη πιθανότητα να ξαναχρησιµοποιηθεί σύντοµα. 2. Η χωρική τοπικότητα, σύµφωνα µε την οποία αν κάποιο τµήµα κώδικα χρησιµοποιήθηκε πρόσφατα, τότε τµήµατα σε γειτονικές διευθύνσεις έχουν µεγάλη πιθανότητα να χρησιµοποιηθούν σύντοµα. Οι αρχές αυτές ισχύουν, εξαιτίας της απλής δοµής των προγραµµάτων. Για παράδειγµα τα περισσότερα προγράµµατα περιέχουν δοµές επαναλήψεων, οπότε οι εντολές και τα δεδοµένα το πιθανότερο είναι να προσπελαστούν επανειληµµένα, οπότε να εµφανίζουν το χαρακτηριστικό της χρονικής τοπικότητας. Καθώς οι εντολές συνήθως εκτελούνται σειριακά, τα προγράµµατα δείχνουν µεγάλη χωρική τοπικότητα. Για παράδειγµα προσβάσεις σε στοιχεία µιας διάταξης ή µιας εγγραφής θα πρέπει να εµφανίζουν υψηλή χορική τοπικότητα. 5

6 1.2 Τύποι µνηµών ιεραρχία Εκµεταλλευόµαστε την αρχή της τοπικότητας κατασκευάζοντας την µνήµη των υπολογιστών µε τη µορφή ιεραρχίας µνήµης. Μια ιεραρχία µνήµης αποτελείται από πολλαπλά επίπεδα µνήµης µε διαφορετική χωρητικότητα και ταχύτητα σε καθένα επίπεδο. Καθώς η απόσταση από την κεντρική µονάδα επεξεργασίας µεγαλώνει, ο χρόνος πρόσβασης αλλά και η χωρητικότητα αυξάνονται. Ο κανόνας είναι ότι οι ταχύτερες µνήµες είναι ακριβότερες ανά µονάδα µνήµης σε σχέση µε τις πιο αργές. Εποµένως λογικό είναι οι ταχύτερες να είναι και µικρότερες σε χωρητικότητα. Σήµερα υπάρχουν τρεις κύριες τεχνολογίες που χρησιµοποιούνται για την κατασκευή ιεραρχιών µνήµης (πτητικής και µη). Η κύρια µνήµη (πτητική) κατασκευάζεται από DRAM (δυναµική µνήµη τυχαίας προσπέλασης), ενώ τα επίπεδα που είναι εγγύτερα στον επεξεργαστή (κρυφές µνήµες cache) χρησιµοποιούν SRAM (στατικές µνήµες τυχαίας προσπέλασης). Η µνήµη τύπου DRAM είναι φθηνότερη ανά µονάδα µνήµης από την SRAM και εµφανώς βραδύτερη. Η διαφορά στην τιµή προκύπτει από το γεγονός ότι η DRAM χρησιµοποιεί µικρότερη επιφάνεια για κάθε µονάδα αποθηκευτικού χώρου και γι' αυτό οι µνήµες DRAM έχουν µεγαλύτερη χωρητικότητα για την ίδια ποσότητα πυριτίου. Η τρίτη τεχνολογία χρησιµοποιείται για την κατασκευή της βραδύτερης και µεγαλύτερης σε µέγεθος µνήµη, τους µαγνητικούς δίσκους. Ο χρόνος πρόσβασης και το κόστος ανά bit πληροφορίας εµφανίζει µεγάλες διακυµάνσεις, όπως προκύπτει από τον πίνακα που ακολουθεί και αφορά τις τυπικές τιµές για το 2004: Τεχνολογία µνήµης Τυπικός χρόνος πρόσβασης $ ανά GB το 2004 SRAM 0,5-5 ns $4.000-$ DRAM ns $100-$200 Μαγνητικός δίσκος ns $0,50-$2 Πίνακας 1: τυπικός χρόνος πρόσβασης και κόστος µνήµης για διαφορετικού τύπους µνήµης. 6

7 Εξαιτίας αυτών των διαφοροποιήσεων στους χρόνους πρόσβασης και τις τιµές, είναι προτιµότερο η κατασκευή µνήµης µε τη µορφή ιεραρχίας σε επίπεδα. Ο στόχος είναι η προσφορά µεγάλης ποσότητας µνήµης στην φθηνότερη τεχνολογία και µεγαλύτερης ταχύτητας στην γρηγορότερη µνήµη. Το σύστηµα µνήµης είναι οργανωµένο σε ιεραρχία διότι οποιοδήποτε επίπεδο εγγύτερα στον επεξεργαστή είναι ένα υποσύνολο οποιουδήποτε επιπέδου σε µεγαλύτερη απόσταση και όλα τα δεδοµένα είναι αποθηκευµένα στο επίπεδο που απέχει περισσότερο από τον επεξεργαστή. Επίσης καθώς αυξάνεται η απόσταση από τον επεξεργαστή, αυξάνεται µαζί και ο απαιτούµενος χρόνος για την προσπέλαση της πληροφορίας σε κάθε επίπεδο. 1.3 Βασικά λειτουργικά χαρακτηριστικά πτητικής µνήµης Μια ιεραρχία µνήµης µπορεί να αποτελείται από πολλαπλά επίπεδα, αλλά τα δεδοµένα αντιγράφονται αποκλειστικά µόνο µεταξύ δύο γειτονικών επιπέδων, οπότε είναι αποδεκτό να εστιαστεί η αναφορά σε δύο µόνο επίπεδα. Το ανώτερο επίπεδο που είναι εγγύτερα στον επεξεργαστή είναι µικρότερο σε χωρητικότητα και ταχύτερο (καθώς χρησιµοποιεί πιο ακριβή τεχνολογία). Η µικρότερη µονάδα πληροφορίας είναι το µπλοκ (block) ή αλλιώς γραµµή (line). Αν η αιτούµενη πληροφορία βρίσκεται σε κάποιο µπλοκ στην ανώτερη µνήµη, αυτό ονοµάζεται επιτυχία (hit). Αν η πληροφορία δεν βρίσκεται στο ανώτερο επίπεδο µνήµης η αίτηση θεωρείται αποτυχία (miss). Το κατώτερο επίπεδο µνήµης πρέπει να προσπελαστεί προκειµένου να βρεθεί το µπλοκ που περιέχει την ζητούµενη πληροφορία. Το ποσοστό επιτυχίας (hit rate ή hit ratio) είναι το ποσοστό των επιτυχών προσβάσεων µνήµης στο ανώτερο επίπεδο. Χρησιµοποιείται συχνά σαν µέτρο της απόδοσης της ιεραρχίας µνήµης. Το ποσοστό αποτυχίας (miss rate = 1 hit rate) είναι το ποσοστό των προσβάσεων µνήµης που δεν βρέθηκαν στο ανώτερο επίπεδο. Καθόσον η συνολική απόδοση είναι ο κύριος λόγος χρήσης µιας ιεραρχίας µνήµης, ο χρόνος εξυπηρέτησης επιτυχιών και αποτυχιών είναι σηµαντικός. Ο χρόνος επιτυχίας (hit time) είναι ο χρόνος πρόσβασης στο ανώτερο επίπεδο µνήµης, που περιλαµβάνει 7

8 και τον απαιτούµενο χρόνο για να καθοριστεί αν πρόκειται για επιτυχία ή αποτυχία. Το κόστος αποτυχίας (miss penalty) είναι ο χρόνος που χρειάζεται για την αντικατάσταση ενός µπλοκ (block) στην µνήµη του ανωτέρου επιπέδου µε το σωστό από την κατώτερη µνήµη, συν ο χρόνος διανοµής του µπλοκ στον επεξεργαστή. Εξαιτίας του ότι η ανώτερη µνήµη είναι µικρότερη και φτιαγµένη ώστε να λειτουργεί ταχύτερα, ο χρόνος επιτυχίας θα είναι κατά πολύ µικρότερος από τον απαιτούµενο για µια πρόσβαση στην µνήµη κατωτέρου επιπέδου, γεγονός που είναι το κύριο συστατικό του κόστους αποτυχίας. Η πολιτική που υλοποιείται κατά την κατασκευή συστηµάτων µνήµης επηρεάζει πολλές απόψεις ενός υπολογιστικού συστήµατος, συµπεριλαµβανοµένου πως πραγµατοποιείται η διαχείριση µνήµης από το λειτουργικό σύστηµα, η είσοδος/έξοδος µε τις περιφερειακές συσκευές, πως παράγεται κώδικας από τους µεταγλωττιστές, µέχρι και πως χρησιµοποιούν τον υπολογιστή οι διάφορες εφαρµογές. Καθώς όλα τα προγράµµατα σπαταλούν µεγάλο µέρος του χρόνου για προσβάσεις στη µνήµη, το σύστηµα µνήµης είναι προφανώς ένας σηµαντικός παράγοντας καθορισµού της συνολικής απόδοσης. Το γεγονός ότι οι υψηλές επιδόσεις εξαρτώνται από την ιεραρχία µνήµης, οδήγησε τους προγραµµατιστές να θεωρούν πλέον τη µνήµη όχι σαν µια επίπεδη συσκευή αποθήκευσης τυχαίας προσπέλασης, αλλά σαν µνήµες πολλών επιπέδων. Καθόσον τα συστήµατα µνήµης είναι τόσο σηµαντικά στην τελική επίδοση, οι σχεδιαστές υπολογιστών αφιέρωσαν µεγάλο µέρος των προσπαθειών τους σε αυτά τα συστήµατα και ανέπτυξαν εκλεπτυσµένους µηχανισµούς για την βελτίωση των επιδόσεων στα συστήµατα µνήµης. 1.4 Ο βασικός τρόπος λειτουργίας της κρυφής µνήµης (cache) Στην αγγλική γλώσσα η λέξη cache σηµαίνει ένα ασφαλές µέρος για απόκρυψη ή αποθήκευση πραγµάτων. Η ίδια λέξη επιλέχθηκε για την ονοµασία των επιπέδων µνήµης που εδράζονται µεταξύ του επεξεργαστή και της κύριας µνήµης, στον πρώτο υπολογιστή ευρείας κυκλοφορίας που ήταν εφοδιασµένος µε αυτού του τύπου την µνήµη. Σήµερα, αν και αυτή είναι η κυρίαρχη χρήση της λέξης cache, ο ίδιος όρος 8

9 χρησιµοποιείται για αναφορά σε οποιαδήποτε αποθήκευση που στοχεύει στην εκµετάλλευση της τοπικότητας πρόσβασης. Οι κρυφές µνήµες έκαναν για πρώτη φορά την εµφάνισή τους σε ερευνητικούς υπολογιστές στις αρχές του 1960 και σε εµπορικούς υπολογιστές αργότερα την ίδια δεκαετία. Κάθε υπολογιστής γενικού σκοπού σήµερα, από εξυπηρετητές (servers) µέχρι ενσωµατωµένοι επεξεργαστές χαµηλής ισχύος (low-power embedded processors) περιλαµβάνει και κρυφές µνήµες. Αναλύοντας τον τρόπο λειτουργίας της κρυφής µνήµης, αρχικά πρέπει πρέπει να απαντηθούν δύο στενά σχετιζόµενα ερωτήµατα: πως γνωρίζουµε αν υπάρχει κάποιο δεδοµένο στην κρυφή µνήµη και εφόσον υπάρχει πως µπορούµε να το εντοπίσουµε; Αν κάθε λέξη της κύριας µνήµης αντιστοιχίζεται σε ακριβώς µια θέση στην κρυφή, τότε είναι ξεκάθαρο πως να βρεθεί η πληροφορία, εφόσον αυτή βρίσκεται στην ανώτερη µνήµη. Ο απλούστερος τρόπος καθορισµού της θέσης στην κρυφή µνήµη µιας λέξης στην κύρια µνήµη, είναι µε βάση στην διεύθυνση της λέξης στην κύρια. Αυτή η δοµή κρυφής µνήµης ονοµάζεται άµεσης προσπέλασης (direct mapped), διότι κάθε θέση της κύριας µνήµης χαρτογραφείται αντιστοιχίζεται σε ακριβώς µια και µοναδική θέση στην κρυφή. Ο τρόπος αντιστοίχισης είναι συνήθως απλός και σχεδόν πάντα ο ίδιος. Ο αλγόριθµος χαρτογράφησης είναι : ( ιεύθυνση µπλοκ κύριας µνήµης) modulo (Αριθµός µπλοκ στην κρυφή µνήµη) θεωρώντας ότι ο τελεστής modulo εκφράζει την πράξη από την οποία προκύπτει το υπόλοιπο της διαίρεσης του διαιρετέου στα αριστερά µε τον διαιρέτη στα δεξιά του τελεστή. Αυτός ο τρόπος υπολογισµού είναι βολικός, διότι αν ο αριθµός των θέσεων αποθήκευσης στην κρυφή µνήµη είναι κάποια δύναµη του δύο, τότε το αποτέλεσµα για την εύρεση του υπολοίπου µπορεί να υπολογιστεί απλώς χρησιµοποιώντας τα log2(µέγεθος της κρυφής µνήµης σε µπλοκ) bits χαµηλότερης σηµαντικότητας της διεύθυνσης. Κατ' αυτόν τον τρόπο µπορεί να επιτευχθεί η πρόσβαση στην κρυφή µνήµη απευθείας µε την χρήση των bits χαµηλότερης σηµαντικότητας. Για παράδειγµα το σχήµα 1 δείχνει πως οι διευθύνσεις της κύριας µνήµης µεταξύ του 1 (δυαδικό:00001) και του 29 (δυαδικό: 11101) χαρτογραφούνται στις θέσεις 1 (δυαδικό: 001) και 5 (δυαδικό: 101) σε µια κρυφή µνήµη άµεσης προσπέλασης οκτώ λέξεων. 9

10 Σχήµα 1: Μια κρυφή µνήµη άµεσης προσπέλασης µε οκτώ θέσεις. Επειδή υπάρχουν οκτώ θέσεις στην κρυφή µνήµη, µια διεύθυνση Χ από την κύρια µνήµη χαρτογραφείται στη θέση (διεύθυνση κύριας) modulo 8. ηλαδή χρησιµοποιούνται τα κατώτερα log2(8)=3 bits. Καθόσον κάθε θέση στην κρυφή µνήµη µπορεί να περιέχει δεδοµένα από ένα πλήθος από διευθύνσεις της κύριας µνήµης, πρέπει να υπάρχει ένας τρόπος να γνωρίζουµε αν τα δεδοµένα της κρυφής µνήµης είναι αυτά που αιτούνται σε µια συγκεκριµένη στιγµή. Με άλλα λόγια πρέπει να είναι γνωστό αν µια πληροφορία είναι παρούσα στην κρυφή µνήµη ή όχι. Προκειµένου να αντιµετωπιστεί το πρόβληµα έχει προστεθεί ένα σύνολο ετικετών (tags) στην κρυφή µνήµη. Οι ετικέτες περιέχουν την διεύθυνση της κύριας µνήµης, στην οποία εδράζεται το δεδοµένο που υπάρχει σε µια συγκεκριµένη θέση στην κρυφή µνήµη. Η ετικέτα απαιτείται να περιέχει µόνο τα σηµαντικότερα bit της διεύθυνσης, που αντιστοιχούν σε αυτά που δεν χρησιµοποιούνται ως δείκτες θέσης στην κρυφή µνήµη. Έτσι στο σχήµα 1 απαιτούνται µόνο τα δύο σηµαντικότερα µπιτ από τα πέντε που αποτελείται κάθε διεύθυνση, καθόσον τα τρία χαµηλότερης σηµαντικότητας καθορίζουν το µπλοκ εντός της µνήµης. Η αποθήκευση των µπιτ χαµηλότερης σηµαντικότητας είναι άσκοπο να αποθηκεύονται. Επίσης πρέπει να υπάρχει τρόπος διάκρισης ότι ένα µπλοκ της κρυφής µνήµης έχει ή δεν έχει έγκυρες πληροφορίες. Για παράδειγµα όταν ένας επεξεργαστής ξεκινά, η 10

11 κρυφή µνήµη δεν έχει έγκυρα δεδοµένα και τα µπιτ των ετικετών δεν θα έχουν καµιά πρακτική αξία. Ακόµα και µετά την εκτέλεση πολλών εντολών, κάποιες θέσεις της κρυφής µνήµης µπορεί να είναι κενές. Η πιο κοινή µέθοδος για την λύση αυτού το προβλήµατος είναι η προσθήκη ενός µπιτ εγκυρότητας, το οποίο θα υποδεικνύει αν µια θέση στην κρυφή µνήµη περιέχει µια έγκυρη διεύθυνση. Αν το συγκεκριµένο µπιτ δεν έχει τεθεί, το µπλοκ δεν θα είναι αντιστοιχίσιµο µε κάποιο µπλοκ της κύριας µνήµης. Όταν η λέξη της διεύθυνσης 18 (δυαδικό: 10010) της κύριας µνήµης µεταφέρεται στο δεύτερο µπλοκ στην κρυφή µνήµη, ενδεχοµένως να αντικαταστήσει τη λέξη της διεύθυνσης 2 (δυαδικό: 00010) της κύριας µνήµης. Η πολιτική αυτή δίνει την δυνατότητα στην κρυφή µνήµη να εκµεταλλευτεί την χρονική τοπικότητα, διότι οι πρόσφατα χρησιµοποιούµενες λέξεις αντικαθιστούν τις λιγότερο πρόσφατα χρησιµοποιούµενες. Μπορούµε να γνωρίζουµε αν µια λέξη της κύριας µνήµης βρίσκεται παρούσα στην κρυφή µνήµη εξετάζοντας τα κατώτερα µπιτ της διεύθυνσης µνήµης της, τα οποία καθορίζουν τη θέση στην κρυφή και συγκρίνοντας τα µπιτ της ετικέτας (tag) στην συγκεκριµένη θέση µε τα ανώτερα µπιτ της διεύθυνσης της κύριας. Στο σχήµα 2 φαίνεται πως µια διεύθυνση της κύριας µνήµης χωρίζεται σε δείκτη της κρυφής, για την επιλογή του κατάλληλου µπλοκ και πεδίο ετικέτας (tag field) για την σύγκριση µε την ετικέτα στο δεδοµένο µπλοκ της κρυφής. Μεγαλύτερα µπλοκ στην κρυφή µνήµη συνεπάγονται χαµηλότερο ποσοστό αστοχιών (miss rates). Αυξάνοντας το µέγεθος των µπλοκ, µειώνονται οι αστοχίες. Το ποσοστό αστοχιών όµως µπορεί να αυξηθεί, αν το µέγεθος του µπλοκ γίνει συγκρίσιµο µε το συνολικό µέγεθος της κρυφής µνήµης, διότι σε αυτήν την περίπτωση µειώνεται ο αριθµός των συνολικών µπλοκ που υπάρχουν στην κρυφή µνήµη και θα υπάρχει έντονος ανταγωνισµός για αυτές τις λίγες θέσεις των µπλοκ. Έτσι ένα µπλοκ θα εκτοπίζεται πριν χρησιµοποιηθούν πολλές λέξεις που περιέχονται σε αυτό. Με άλλα λόγια, η χωρική τοπικότητα µεταξύ των λέξεων ενός µπλοκ µειώνεται σε ένα πολύ µεγάλο µπλοκ. Συνεπώς τα οφέλη σε περίπτωση αστοχίας µειώνονται. Αυτά φαίνονται στο σχήµα 3. 11

12 Ένα πιο σοβαρό θέµα που σχετίζεται µε την αύξηση του µεγέθους του µπλοκ είναι ότι αυξάνεται και το κόστος από τις αστοχίες. Το κόστος αστοχίας (miss penalty) καθορίζεται από τον χρόνο που απαιτείται να µεταφερθεί ένα µπλοκ από το επόµενο κατώτερο επίπεδο µνήµης στην ιεραρχία και να φορτωθεί στην κρυφή µνήµη. Ο χρόνος αυτός µπορεί να αναλυθεί σε δύο τµήµατα: στον χρόνο για την πρώτη λέξη και τον χρόνο µεταφοράς για το υπόλοιπο µπλοκ. Προφανώς αν δεν διαφοροποιηθεί ολόκληρο το σύστηµα µνήµης, ο χρόνος µεταφοράς και εποµένως και το κόστος αστοχίας θα αυξάνονται καθώς θα αυξάνεται το µέγεθος του µπλοκ. Επιπροσθέτως η βελτίωση του ποσοστού αστοχίας αρχίζει να µειώνεται καθώς µεγαλώνει το µέγεθος του µπλοκ. Το αποτέλεσµα είναι ότι η αύξηση του κόστους αστοχίας υπερκαλύπτει την µείωση του ποσοστού αστοχίας για µεγάλα µπλοκ και εξαιτίας αυτού η συνολική απόδοση της κρυφής µνήµης µειώνεται. Φυσικά αν σχεδιάσουµε τη µνήµη να µεταφέρει µεγαλύτερα µπλοκ πιο αποτελεσµατικά, είναι δυνατή µια αύξηση του µεγέθους του µπλοκ µε παράλληλη βελτίωση της συνολικής απόδοσης. Σχήµα 2: Το κατώτερο τµήµα της διεύθυνσης χρησιµοποιείται για την επιλογή µιας θέσης στην κρυφή µνήµη. Η ετικέτα της κρυφής µνήµης συγκρίνεται µε τα 12

13 σηµαντικότερα µπιτ της διεύθυνσης για να καθοριστεί αν η εγγραφή στο µπλοκ της κρυφής µνήµης είναι η ίδια µε αυτήν που αιτείται. Αν η ετικέτα (tag) συµφωνεί µε τα σηµαντικότερα µπιτ της διεύθυνσης της κύριας µνήµης και το µπιτ εγκυρότητας συµφωνεί, τότε η πληροφορία υπάρχει στην κρυφή µνήµη και τα δεδοµένα παρέχονται στον επεξεργαστή. Ειδάλλως πρόκειται για αστοχία (miss). Σχήµα 3: Το ποσοστό αστοχιών σε σχέση µε το µέγεθος του µπλοκ της κρυφή µνήµης. Το ποσοστό αστοχιών αυξάνεται αν το µέγεθος του µπλοκ είναι πολύ µεγάλο συγκρινόµενο µε το µέγεθος της κρυφής µνήµης. Κάθε γραµµή αντιπροσωπεύει µια κρυφή µνήµη διαφορετικού µεγέθους. 1.5 Χειρισµός αστοχιών στην κρυφή µνήµη Η µονάδα ελέγχου πρέπει να ανιχνεύσει µια αστοχία και να την επεξεργαστεί µεταφέροντας τα αιτούµενα δεδοµένα από την µνήµη κατώτερου επιπέδου (όποια και αν είναι αυτή). Αν η κρυφή µνήµη αναφέρει µια ευστοχία, ο υπολογιστής συνεχίζει σαν να µην έχει συµβεί κάτι. Εποµένως ο χειρισµός των αστοχιών απαιτεί κάποιες επιπλέον ενέργειες. Ο χειρισµός των αστοχιών της κρυφής µνήµης πραγµατοποιείται µε την µονάδα ελέγχου του επεξεργαστή και µε έναν επιπλέον ελεγκτή που εκκινεί την πρόσβαση στη µνήµη και πληρώνει το κενό της κρυφής µνήµης. Η επεξεργασία της αστοχίας προκαλεί µια καθυστέρηση σε ολόκληρο τον επεξεργαστή παγώνοντας τα περιεχόµενα των προσωρινών και λοιπών καταχωρητών για όσο διαρκεί η αναµονή για τη µνήµη. 13

14 Αν µια πρόσβαση στην κρυφή µνήµη οδηγήσει σε αστοχία, τότε θα πρέπει να δοθεί εντολή στην µνήµη κατώτερου επιπέδου στην ιεραρχία να υλοποιήσει µια ανάγνωση (read). Επειδή ο µετρητής προγράµµατος (program counter) αυξάνεται κατά τον πρώτο κύκλο εκτέλεσης σε όλα τη είδη επεξεργαστών, η διεύθυνση της εντολής που προκαλεί µια αστοχία στην κρυφή µνήµη ισούται µε την τιµή στο µετρητή προγράµµατος µείον τέσσερα. Από την στιγµή που έχουµε τη διεύθυνση πρέπει να δοθεί εντολή στην κύρια µνήµη να υλοποιήσει την ανάγνωση. Ακολουθεί αναµονή για την απόκριση της µνήµης, επειδή η πρόσβαση θα διαρκέσει πολλούς κύκλους) και στη συνέχεια να εγγραφεί η πληροφορία στην κρυφή µνήµη. Οπότε τα βήµατα των ενεργειών που εκτελούνται σε περίπτωση αστοχίας της κρυφής µνήµης είναι: 1. αποστολή της τρέχουσας τιµής του µετρητή προγράµµατος (program counter) µείον τέσσερα στην µνήµη 2. Εντολή στην κύρια µνήµη να εκτελέσει µια ανάγνωση και αναµονή ώστε η µνήµη να ολοκληρώσει την λειτουργία. 3. Εγγραφή στην θέση της κρυφής µνήµης, αντιγράφοντας τα δεδοµένα από την κύρια µνήµη στο κοµµάτι των δεδοµένων της κρυφής µνήµης, εγγράφοντας τα σηµαντικότερα µπιτ της διεύθυνσης από την µονάδα ALU στο πεδίο ετικέτας (tag field) και θέτοντας το µπιτ εγκυρότητας. 4. Επανεκκίνηση της εκτέλεσης εντολής στο πρώτο βήµα όπου θα ξαναζητηθεί η εντολή, αυτή τη φορά όµως θα ανεβρεθεί στην κρυφή µνήµη. Τα βήµατα είναι ίδια ακόµα και όταν πρόκειται για δεδοµένα τα οποία υπάρχουν µόνο στην κύρια µνήµη. 1.6 ιαχείριση εγγραφών Οι εγγραφές λειτουργούν λίγο διαφορετικά. Υποθέτοντας ότι σε µια εντολή αποθήκευσης, η εγγραφή θα γίνει µόνο στην κρυφή µνήµη, χωρίς να γίνουν αλλαγές στην κύρια, τότε µετά την εγγραφή στην κρυφή, η κύρια µνήµη θα είχε µια διαφορετική τιµή από αυτήν της κρυφής. Σε αυτήν την περίπτωση λέγεται ότι η κρυφή και η κύρια µνήµη είναι ασυνεπείς (inconsistent). Ο απλούστερος τρόπος για 14

15 την διατήρηση της συνέπειας µεταξύ των δύο µνηµών είναι πάντα να εγγράφονται τα δεδοµένα και στην κύρια και στην κρυφή µνήµη. Αυτός ο τρόπος ονοµάζεται άµεσης εγγραφής (write-through). Ένα άλλο σηµαντικό θέµα των εγγραφών είναι τι συµβαίνει σε περίπτωση αστοχίας εγγραφής (write miss). Αρχικά µεταφέρονται τα δεδοµένα από τα µπλοκ της κύριας µνήµης. Μετά την µεταφορά των µπλοκ και την εγγραφή τους στην κρυφή µνήµη, είναι δυνατή η υπερεγγραφή της λέξης που προκάλεσε την αστοχία εντός του µπλοκ της κρυφής µνήµης. Στη συνέχεια εγγράφουµε τη λέξη στην κύρια µνήµη χρησιµοποιώντας την πλήρη διεύθυνσή της. Αν και αυτός ο τρόπος χειρίζεται τις εγγραφές πολύ απλά, δεν εµφανίζει υψηλή απόδοση. Με µια πολιτική άµεσης εγγραφής, κάθε εγγραφή προκαλεί την εγγραφή δεδοµένων στην κύρια µνήµη. Οι εγγραφές αυτές καταναλώνουν πολύ χρόνο, το πιθανότερο τουλάχιστον εκατό κύκλους ρολογιού του επεξεργαστή µε αποτέλεσµα να επιβραδύνουν τον επεξεργαστή σηµαντικά. Από έρευνες που έχουν γίνει έχει βρεθεί ότι όταν περίπου το 10% των εντολών είναι εγγραφές, αν οι κύκλοι για κάθε εντολή (CPI) είναι 1 χωρίς τις αστοχίες της κρυφής µνήµης και εφόσον χρειάζονται επιπλέον 100 κύκλοι σε κάθε εγγραφή, αυτό οδηγεί οι κύκλοι για κάθε εντολή να γίνονται 1+100x10%=11, δηλαδή εµφανίζεται µια δεκαπλάσια µείωση στην συνολική απόδοση, εξαιτίας της συγκεκριµένης πολιτικής. Μια λύση στο πρόβληµα είναι η χρήση µιας ενδιάµεσης µνήµης εγγραφής (write buffer), η οποία αποθηκεύει τα δεδοµένα καθώς αναµένει να εγγραφούν αυτά στην κύρια µνήµη. Μετά την εγγραφή των δεδοµένων στην ενδιάµεση µνήµη και στην κρυφή µνήµη, ο επεξεργαστής µπορεί να συνεχίσει την εκτέλεση. Όταν ολοκληρωθεί µια εγγραφή στην κύρια µνήµη, η αντίστοιχη θέση στην ενδιάµεση µνήµη ελευθερώνεται. Αν η ενδιάµεση µνήµη εγγραφής είναι πλήρης όταν ο επεξεργαστής πρέπει να εγγράψει, τότε ο τελευταίος πρέπει να διακόψει τη λειτουργία του µέχρι να ελευθερωθεί µια θέση στην ενδιάµεση µνήµη εγγραφής. Φυσικά αν ο ρυθµός µε τον οποίο µπορεί η κύρια µνήµη να ολοκληρώσει τις εγγραφές είναι µικρότερος από τον ρυθµό µε τον οποίο ο επεξεργαστής παράγει αιτήµατα εγγραφής, καµιά ποσότητα ενδιάµεσης µνήµης δεν µπορεί να βοηθήσει, διότι οι εγγραφές θα δηµιουργούνται γρηγορότερα απ' όσο θα µπορεί η µνήµη να τις δεχτεί. 15

16 Ο ρυθµός δηµιουργίας των εγγραφών µπορεί να είναι µικρότερος από τον ρυθµό µε τον οποίο µπορεί η µνήµη να τις δεχτεί και παρόλα αυτά να δηµιουργούνται καθυστερήσεις. Αυτό µπορεί να συµβεί όταν εµφανίζεται καταιγισµός εγγραφών. Για την µείωση της εµφάνισης αυτών των καθυστερήσεων, οι επεξεργαστές συνήθως αυξάνουν το βάθος της ενδιάµεσης µνήµης εγγραφής πέρα από µια θέση. Μια εναλλακτική λύση ονοµάζεται ετερόχρονη εγγραφή (write-back). Σε αυτήν, όταν προκύπτει µια εγγραφή, η νέα τιµή εγγράφεται αποκλειστικά στο µπλοκ της κρυφής µνήµης. Το τροποποιηµένο µπλοκ εγγράφεται στο κατώτερο επίπεδο µνήµης στην ιεραρχία, όταν αντικαθίσταται. Οι πολιτικές της ετερόχρονης εγγραφής µπορούν να βελτιώσουν την απόδοση, ειδικά όταν οι επεξεργαστές µπορούν να παράγουν εγγραφές τόσο γρήγορα ή ταχύτερα από τις εγγραφές που µπορεί να διαχειριστή η κύρια µνήµη. Παρόλα αυτά η ετερόχρονη εγγραφή είναι πιο σύνθετη στην υλοποίησή της. 1.7 Βελτίωση του συστήµατος µνήµης για ενίσχυση της κρυφής µνήµης Οι αστοχίες της κρυφής µνήµης εξυπηρετούνται από την κύρια που συνήθως είναι DRAM. Οι DRAM είναι κατασκευασµένες µε κύριο χαρακτηριστικό την µεγάλη πυκνότητα παρά τον χρόνο πρόσβασης. Αν και είναι δύσκολο να µειωθεί η καθυστέρηση για την µεταφορά της πρώτης λέξης από την µνήµη, µπορεί να µειωθεί το κόστος αστοχίας αν αυξηθεί το εύρος µεταφοράς δεδοµένων (bandwidth) από την κύρια µνήµη στην κρυφή. Αυτή η µείωση επιτρέπει την χρήση µεγαλύτερων σε µέγεθος µπλοκ ενώ παράλληλα διατηρεί χαµηλό το κόστος αστοχίας. Τυπικά ο επεξεργαστής είναι συνδεδεµένος µε τη µνήµη µε ένα δίαυλο επικοινωνίας (bus). Ο ρυθµός ρολογιού του διαύλου είναι συνήθως πολύ χαµηλότερος από αυτόν του επεξεργαστή, κατά µια τάξη µεγέθους του 10. Η ταχύτητα αυτού του διαύλου επηρεάζει το κόστος αστοχίας. Το σχήµα 4 δείχνει τρεις εναλλακτικούς τρόπους για την σχεδίαση του συστήµατος µνήµης. Η πρώτη λύση θεωρεί ότι η µνήµη έχει εύρος µιας λέξης και όλες οι 16

17 προσβάσεις σε αυτήν συµβαίνουν ακολουθιακά (sequentially). Ο δεύτερος τρόπος αυξάνει το εύρος µεταφοράς δεδοµένων (bandwidth) προς την µνήµη, διευρύνοντας τη µνήµη και τους διαύλους µεταξύ του επεξεργαστή και της µνήµης. Αυτό επιτρέπει παράλληλη πρόσβαση σε όλες τις λέξης ενός µπλοκ. Ο τρίτος τρόπος αυξάνει το εύρος µεταφοράς δεδοµένων διευρύνοντας την µνήµη, αλλά όχι τον δίαυλο διασύνδεσης. Με αυτόν τον τρόπο εξακολουθεί να υφίσταται το κόστος µεταφοράς κάθε λέξης, αλλά µπορεί να αποφευχθεί το κόστος καθυστέρησης πρόσβασης για περισσότερες φορές. Αντί για την διεύρυνση του µονοπατιού µεταξύ της κύριας και της κρυφής µνήµης, τα κυκλώµατα της κύριας µνήµης µπορούν να οργανωθούν σε οµάδες πλακετών (banks), έτσι ώστε να είναι δυνατή η ταυτόχρονη εγγραφή και ανάγνωση στον ίδιο χρόνο, αντί της ανάγνωσης και εγγραφής µιας λέξης κάθε χρονική στιγµή. Κάθε πλακέτα θα µπορεί να έχει εύρος µιας λέξης έτσι ώστε το εύρος του διαύλου και της κρυφής µνήµης να µην είναι απαραίτητο να αλλάξουν, αλλά αποστέλλοντας την διεύθυνση σε διάφορες πλακέτες επιτρέπει την ταυτόχρονη ανάγνωση σε όλες από αυτές. Αυτή η υλοποίηση που ονοµάζεται παρεµβολή (interleaving), διατηρεί το πλεονέκτηµα να χρησιµοποιεί την πλήρη καθυστέρηση µνήµης µόνο µια φορά. Για παράδειγµα, µε τέσσερις πλακέτες (banks), ο χρόνος συλλογής ενός µπλοκ τεσσάρων λέξεων θα αποτελείται από τον χρόνο για τη µετάδοση της διεύθυνσης για ανάγνωση και στις τέσσερις πλακέτες ταυτόχρονα, ο απαραίτητος χρόνος και για τις τέσσερις πλακέτες να έχουν πρόσβαση στα δεδοµένα τους ταυτόχρονα και ο χρόνος για την αποστολή των τεσσάρων λέξεων στην κρυφή µνήµη. Οι πλακέτες είναι χρήσιµες και στις εγγραφές. Κάθε πλακέτα µπορεί να εγγράψει ανεξάρτητα, τετραπλασιάζοντας το εύρος εγγραφής δεδοµένων, οδηγώντας έτσι σε χαµηλότερες καθυστερήσεις σε µια κρυφή µνήµη ταυτόχρονης εγγραφής (write-through). 17

18 Σχήµα 4: Ο κυρίαρχος τρόπος επίτευξης µεγαλύτερο εύρος µεταφοράς δεδοµένων είναι η αύξηση του φυσικού ή λογικού εύρους του συστήµατος µνήµης. Ο απλούστερος τρόπος (α) κάνει χρήση µνήµης, όπου όλα τα εξαρτήµατα έχουν εύρος µιας λέξης. Ο τρόπος (β) απεικονίζει µια λύση µε µεγαλύτερο εύρος στην κύρια µνήµη, στον δίαυλο και στην κρυφή µνήµη. Ο τρίτος τρόπος (γ) δείχνει ένα στενό δίαυλο και κύρια µνήµη µε παρεµβαλλόµενη (interleaved) κύρια µνήµη. Μείωση αστοχιών στην κρυφή µνήµη µε διαφορετική τοποθέτηση των µπλοκ Μέχρι στιγµής η τοποθέτηση ενός µπλοκ στην κρυφή µνήµη γινόταν µε έναν απλό τρόπο. Ένα µπλοκ πήγαινε σε ένα συγκεκριµένο σηµείο. Όπως αναφέρθηκε προηγουµένως, αυτός ο τρόπος ονοµάζεται άµεσης απεικόνισης, διότι κάθε θέση στην κύρια µνήµη απεικονίζεται ευθέως σε µια µόνο θέση στο ανώτερο επίπεδο µνήµης στην ιεραρχία. Υπάρχουν όµως πολλοί τρόποι για την τοποθέτηση των µπλοκ. Στο ένα άκρο είναι η άµεση απεικόνιση όπου κάθε µπλοκ µπορεί να τοποθετηθεί σε ένα µόνο σηµείο. Στο άλλο άκρο υπάρχει η λογική ότι ένα µπλοκ µπορεί να τοποθετηθεί σε οποιοδήποτε σηµείο στην κρυφή µνήµη. Αυτός ο τρόπος ονοµάζεται πλήρως συσχετιστικός (fully associative), διότι ένα µπλοκ της κύριας µνήµης µπορεί να 18

19 συσχετιστεί µε κάθε θέση της κρυφής µνήµης. Για την εύρεση ενός µπλοκ σε µια πλήρως συσχετιστική κρυφή µνήµη, όλες οι θέσεις της πρέπει να ερευνηθούν, διότι ένα µπλοκ µπορεί να έχει τοποθετηθεί σε οποιοδήποτε. Για να γίνει η αναζήτηση ευκολότερη, εκτελείται παράλληλα µε έναν συγκριτή (comparator) που σχετίζεται µε κάθε θέση της κρυφής µνήµης. Αυτοί οι συγκριτές ανεβάζουν σηµαντικά το κόστος, µε αποτέλεσµα ο συγκεκριµένος τρόπος διαχείρισης τελικά να είναι υλοποιήσιµος σε κρυφές µνήµες µικρού µεγέθους. Ανάµεσα στα δύο άκρα που περιγράφηκαν, την πλήρως συσχετιστική και την άµεσης απεικόνισης, υπάρχει η συσχέτισης συνόλου (set associative). Στις κρυφές µνήµες συσχέτισης συνόλου, υπάρχει ένας συγκεκριµένος αριθµός θέσεων (τουλάχιστον δύο), όπου µπορεί να τοποθετηθεί ένα µπλοκ. Μια κρυφή µνήµη συσχέτισης συνόλου µε ν θέσεις για ένα µπλοκ ονοµάζεται κρυφή µνήµη συσχέτισης συνόλου ν-δρόµων. Μια κρυφή µνήµη συσχέτισης συνόλου ν-δρόµων αποτελείται από έναν αριθµό συνόλων, καθένα από τα οποία αποτελείται από ν µπλοκ. Κάθε µπλοκ στη µνήµη χαρτογραφείται σε ένα µοναδικό σύνολο της κρυφής µνήµης που καθορίζεται από ένα πεδίο δείκτη και κάθε µπλοκ µπορεί να τοποθετηθεί σε κάθε θέση αυτού του συνόλου. Έτσι µια τοποθέτηση µε συσχέτιση συνόλου συνδυάζει τοποθέτηση άµεσης προσπέλασης και πλήρως συσχετιστική τοποθέτηση, διότι κάθε µπλοκ χαρτογραφείται απευθείας σε κάποιο σύνολο και κατόπιν όλα τα µπλοκ εντός του συνόλου συγκρίνονται µε το ζητούµενο. Ενώ είχε αναφερθεί ότι στην κρυφή µνήµη άµεσης προσπέλασης η θέση ενός µπλοκ µνήµης δίνεται από την σχέση: ( ιεύθυνση µπλοκ κύριας µνήµης) modulo (Αριθµός µπλοκ στην κρυφή µνήµη) στην συσχετιστική συνόλου, το σύνολο που θα περιέχει ένα µπλοκ της κύριας µνήµης θα δίνεται από την σχέση: ( ιεύθυνση µπλοκ κύριας µνήµης) modulo (Αριθµός συνόλων στην κρυφή µνήµη) Καθώς το µπλοκ µπορεί να τοποθετηθεί σε οποιαδήποτε θέση εντός ενός συνόλου, πρέπει να προσπελαστούν όλες οι ετικέτες όλων των των θέσεων του δεδοµένου 19

20 συνόλου. Σε µια πλήρως συσχετιστική κρυφή µνήµη, ένα µπλοκ της κύριας µνήµης είναι δυνατόν να τοποθετηθεί οπουδήποτε και γι' αυτόν τον λόγο, πρέπει να προσπελαστούν όλες οι ετικέτες όλων των θέσεων της κρυφής µνήµης. Κάθε µια από τις τρεις προαναφερόµενες στρατηγικές αποτελεί µια παραλλαγή στο βαθµό συσχέτισης συνόλου. Το πλεονέκτηµα της αύξησης του βαθµού συσχέτισης είναι ότι συνήθως µειώνει τον ρυθµό αστοχίας (miss rate). Το κύριο µειονέκτηµα είναι ότι αυξάνει τον χρόνο ευστοχίας (hit time). Μείωση του χρόνου αστοχίας χρησιµοποιώντας πολυεπίπεδες κρυφές µνήµες. Όλοι οι σύγχρονοι υπολογιστές χρησιµοποιούν κρυφές µνήµες. Στις περισσότερες περιπτώσεις οι µνήµες αυτές είναι κατασκευασµένες από τα ίδια υλικά µε τους µικροεπεξεργαστές των επεξεργαστών. Για να γεφυρωθεί το χάσµα µεταξύ του γρήγορου ρυθµού του ρολογιού των µοντέρνων επεξεργαστών και του σχετικά µεγάλου χρόνου που απαιτείται για την πρόσβαση στην DRAM, πολλοί µικροεπεξεργαστές υποστηρίζουν έναν επιπλέον επίπεδο κρυφής µνήµης. Αυτή η κρυφή µνήµη δεύτερου επιπέδου µπορεί να εδράζεται στο ίδιο ολοκληρωµένο ή σε ένα διαφορετικό σύνολο SRAM και προσπελάζεται οποτεδήποτε υπάρχει µια αστοχία στην πρωταρχική κρυφή µνήµη. Αν η κρυφή µνήµη δεύτερου επιπέδου εµπεριέχει τα απαιτούµενα δεδοµένα, ο χρόνος αστοχίας για την κρυφή µνήµη του πρώτου επιπέδου θα είναι ο απαιτούµενος χρόνος πρόσβασης για την κρυφή µνήµη του δεύτερου επιπέδου, που φυσικά θα είναι πολύ µικρότερος από τον χρόνο πρόσβασης στην κύρια µνήµη. Αν η απαιτούµενη πληροφορία δεν περιέχεται σε καµιά από τις δύο κρυφές µνήµες, απαιτείται µια πρόσβαση στην κύρια µνήµη και προκύπτει ένα κατά πολύ µεγαλύτερο κόστος αστοχίας (miss penalty). Η σχεδίαση για πρωτογενή και δευτερογενή κρυφή µνήµη διαφέρει σηµαντικά εξαιτίας της παρουσίας της δεύτερης κρυφής µνήµης που διαφοροποιεί την καλύτερη επιλογή σε αντιδιαστολή µε την χρήση κρυφής µνήµης ενός επιπέδου. Συγκεκριµένα µια δοµή κρυφής µνήµης δύο επιπέδων επιτρέπει στην κύρια κρυφή µνήµη να επικεντρωθεί στη µείωση του χρόνου ευστοχίας µε την χρήση µικρότερων κύκλων ρολογιού. Παράλληλα επιτρέπεται στην δευτερεύουσα κρυφή µνήµη να εστιάσει στον ρυθµό αστοχίας ώστε να µειωθεί το κόστος εξαιτίας χρονοβόρων προσβάσεων στην κύρια µνήµη. 20

21 Η αλληλεπίδραση των δύο κρυφών µνηµών επιτρέπει τέτοια εξειδίκευση. Το κόστος αστοχίας της κύριας κρυφής µνήµης µειώνεται σηµαντικά από την παρουσία της δευτερεύουσας κρυφής µνήµης, επιτρέποντας στην κύρια κρυφή να είναι µικρότερη και να έχει υψηλότερο ρυθµό αστοχίας. Για την δευτερεύουσα κρυφή µνήµη, ο χρόνος πρόσβασης είναι λιγότερο σηµαντικός εξαιτίας της παρουσίας της κύριας κρυφής, διότι ο χρόνος πρόσβασης για την δευτερεύουσα επηρεάζει το κόστος αστοχίας (miss penalty) της κύριας κρυφής µνήµης και λιγότερο τον χρόνο ευστοχίας στην κύρια κρυφή ή τον κύκλο ρολογιού του επεξεργαστή. Το αποτέλεσµα των αλλαγών αυτών στις δύο κρυφές µνήµες µπορεί να γίνει αντιληπτό συγκρίνοντας κάθε κρυφή µνήµη µε την καλύτερη σχεδίαση για την κρυφή µνήµη ενός επιπέδου. Συγκρίνοντας µε την κρυφή µνήµη ενός επιπέδου, η κύρια κρυφή µνήµη µιας πολυεπίπεδης κρυφή µνήµης είναι συνήθως µικρότερη. Επιπλέον η κύρια κρυφή µνήµη κάνει χρήση µπλοκ µικρότερου µεγέθους σε συνδυασµό µε µικρότερο συνολικό µέγεθος κρυφής µνήµης και µειωµένο κόστος αστοχίας (miss penalty). Η δευτερεύουσα κρυφή µνήµη είναι συχνά µεγαλύτερη απ' ότι η κρυφή µνήµη ενός επιπέδου, επειδή ο χρόνος πρόσβασης της δευτερεύουσας κρυφής µνήµης είναι λιγότερο σηµαντικός. Με µεγαλύτερο συνολικό µέγεθος, στην δευτερεύουσα κρυφή µνήµη χρησιµοποιείται µπλοκ µεγαλύτερου µεγέθους από ότι συνηθίζεται σε κρυφή µνήµη ενός επιπέδου. 1.8 Λειτουργία DDR RAM Η λειτουργία της µνήµης DDR SDRAM ελέγχεται από το σήµα του ρολογιού (CKE clock enable). Αν το σήµα αυτό είναι χαµηλό (LOW), το εσωτερικό ρολόι της µνήµης και οι ενδιάµεσες µνήµες εισόδου είναι σβηστές. Για να είναι δυνατή η επικοινωνία µε τη συσκευή, το σήµα του εξωτερικού ρολογιού πρέπει να είναι υψηλό (CKE HIGH). Έτσι είναι δυνατόν να δεχτεί είσοδος η συσκευή. Όταν το ρολόι είναι σε κατάσταση HIGH, η DDR SDRAM είναι σε κατάσταση να δεχτεί εντολές. Τυπικά η πρώτη εντολή είναι αυτή της ενεργοποίησης (ACTIVATE ACT). H εντολή ACT επιλέγει µια πλακέτα (bank) και τη διεύθυνση µιας γραµµής 21

22 και µεταφέρει τα δεδοµένα της γραµµής αυτής στους αισθητήρες ενίσχυσης (sense amplifiers). Τα δεδοµένα παραµένουν στους αισθητήρες ενίσχυσης µέχρις ότου µια εντολή PRECHARGE στην ίδια πλακέτα επαναφέρει τα δεδοµένα στα κελιά του πίνακα µνήµης. Όταν αποθηκεύονται τα δεδοµένα στον αισθητήρα ενίσχυσης, τότε λέγεται ότι η DRAM βρίσκεται σε ενεργή κατάσταση. Όταν τα δεδοµένα από τους αισθητήρες ενίσχυσης έχουν επιστραφεί στον πίνακα της µνήµης, λέγεται ότι η µνήµη βρίσκεται σε κατάσταση προ-φόρτισης (precharge). Σχήµα 5: Η αρχιτεκτονική κατασκευής της DDR RAM. Όταν η µνήµη DDR RAM είναι σε ενεργή κατάσταση, είναι δυνατόν να εκτελεστούν εντολές εγγραφής (WRITEs) και ανάγνωσης (READs). Μια εντολή ανάγνωσης αποκωδικοποιεί µια συγκεκριµένη στήλη κατά µήκος της γραµµής που είναι αποθηκευµένη στους αισθητήρες ενίσχυσης (sense amplifiers). Τα δεδοµένα από αυτήν την γραµµή οδηγούνται από την πύλη εισόδου/εξόδου (I/O gate) στην εσωτερική κλειδωνιά ανάγνωσης (internal read latch). Από την κλειδωνιά αυτή τα δεδοµένα πολυπλέκονται (multiplexed) στους οδηγούς εξόδου (output drivers). 22

23 Επίσης είναι δυνατόν η εγγραφή δεδοµένων στους αισθητήρες ενίσχυσης ενώ η πλακέτα είναι ενεργή. Η διαδικασία αυτή είναι αντίστροφη της διαδικασίας ανάγνωσης. εδοµένα από τις ακίδες DQ κλειδώνουν στους καταχωρητές που είναι αποδέκτες δεδοµένων και µεταφέρονται στους εσωτερικούς οδηγούς δεδοµένων (internal data drivers). Στην συνέχεια οι οδηγοί µεταφέρουν τα δεδοµένα στους αισθητήρες ενίσχυσης διαµέσου της πύλης εισόδου/εξόδου στην αποκωδικοποιηµένη διεύθυνση στήλης. 23

24 ΚΕΦΑΛΑΙΟ 2 ο Ανάπτυξη του εργαλείου 2.1 Περιγραφή τρέχουσας κατάστασης εφαρµογές και έρευνα Η ταχύτητα των επεξεργαστών τα τελευταία χρόνια έχει αυξηθεί δραµατικά σε βάρος της ταχύτητας των µνηµών. Αυτό αποτελεί ένα σηµαντικό πρόβληµα στην επικοινωνία µεταξύ επεξεργαστή και µνήµης που έχει ως αποτέλεσµα µειωµένες επιδόσεις και αύξηση χρόνου απόκρισης. Η χρήση κρυφής µνήµης (cache) έχει δώσει λύση στην αντιµετώπιση τέτοιων καθυστερήσεων. Οι σηµερινοί επεξεργαστές είναι σχεδιασµένοι µε περισσότερα του ενός επίπεδα κρυφής µνήµης, µε σκοπό την περαιτέρω βελτίωση του εύρους επικοινωνίας και της συνολικής απόδοσης της µνήµης. Η σπουδαιότητα των κρυφών µνηµών έχει πυροδοτήσει έντονη έρευνα στο συγκεκριµένο θέµα της αρχιτεκτονικής υπολογιστών µε αποτέλεσµα την δηµοσίευση πολλών εργασιών. Σήµερα πλέον χρησιµοποιούνται πολλά επίπεδα κρυφής µνήµης τόσο στους επεξεργαστές σταθµών εργασίας όσο και σε ενσωµατωµένα συστήµατα όπως στα κινητά τηλέφωνα και συσκευές PDA. Εξαιτίας των ανωτέρω, τα πανεπιστήµια έχουν αναπτύξει µεθοδολογίες για να διευκολύνουν την κατανόηση του τρόπου λειτουργίας των κρυφών µνηµών στους προπτυχιακούς σπουδαστές, όπως για παράδειγµα οι προσοµοιωτές κρυφών µνηµών (cache simulators). 2.2 Σχετική έρευνα Προϋπάρχουσες εφαρµογές που προσοµοιώνουν τη λειτουργία κρυφών µνηµών είναι η PC-Spim το οποίο επεκτάθηκε µε την SpimCache, η οποία δεν υποστηρίζει πολλαπλά επίπεδα κρυφής µνήµης, αλλαγή µεγέθους λέξης και ποικιλία πολιτικών. Μια επόµενη επέκταση του SpimCache είναι η εφαρµογή SpimVista. Μια 24

25 διαφορετική προσέγγιση (execution driven??????)αποτελεί η εφαρµογή Simplescalar, καθώς και ο προσοµοιωτής mlcache. Η εφαρµογή Dinero IV είναι γραµµένη σε C(είναι µια?????? Trace driven?????) και δίνει τη δυνατότητα να καθορίσει ο χρήστης παραµέτρους της κρυφής µνήµης, αλλά δεν παρέχει γραφικό περιβάλλον διεπαφής µε τον χρήστη (GUI). Οι υπάρχοντες εξοµοιωτές δεν παρέχουν µια σαφή σύνδεση µεταξύ των εντολών σε C και του τρόπου λειτουργίας της µνήµης. Αυτή η σύνδεση είναι πρωταρχικής σηµασίας στην κατανόηση του τρόπου λειτουργίας της κρυφής µνήµης, όπως περιγράφεται στα πλέον διαδεδοµένα βιβλία αρχιτεκτονικής υπολογιστών. Μέχρι σήµερα οι περισσότεροι εξοµοιωτές βασίζουν τη λειτουργία τους στην είσοδο συµβολικής γλώσσας χαµηλού επιπέδου (assembly), οι οποία αναπόφευκτα αποκρύπτει πολλές λεπτοµέρειες από τον προγραµµατισµό υψηλού επιπέδου, όπως η πρόσβαση ενός στοιχείου πίνακα µεταβλητών (array) και του τρόπου εντοπισµού της θέσης της ζητούµενης µεταβλητής στη µνήµη. Ο εξοµοιωτής που κατασκευάστηκε στην παρούσα εργασία δεν διαθέτει γραφικό περιβάλλον, αλλά µπορεί να επεκταθεί ή να αλλαχθεί από τον µελετητή κατά βούληση, εφόσον ο τελευταίος είναι διατεθειµένος να εντρυφήσει µε τον πηγαίο κώδικα. Παρόµοια εργαλεία όπως το SimpleScalar και το Trimaran παρέχουν παρόµοιες δυνατότητες. 2.3 Βασικά χαρακτηριστικά προσοµοιωτή Ο προσοµοιωτής µνήµης της παρούσης εργασίας είναι γραµµένος στην αντικειµενοστραφή γλώσσα προγραµµατισµού C++ σε περιβάλλον Microsoft Visual Studio και κάνει χρήση της υπερφόρτωσης τελεστών (operator overloading), για να παρέχει ένα γρήγορο και ακριβές ίχνος της πρόσβασης στη µνήµη σε περιπτώσεις πραγµατικών εφαρµογών. Το εργαλείο δεν είναι εστιασµένο σε ένα συγκεκριµένο είδος επεξεργαστή, καθόσον η ιεραρχία µνήµης µπορεί να µελετηθεί ανεξαρτήτως του επεξεργαστή. Για την υλοποίηση του εργαλείου χρησιµοποιήθηκε προϋπάρχων κώδικας. Mε εκµετάλλευση του χαρακτηριστικού της κληρονοµικότητας των κλάσεων στην 25

26 γλώσσα προγραµµατισµού C++, δηµιουργήθηκαν νέες κλάσεις που προσοµοιώνουν το µοντέλο της λειτουργίας της µνήµης RAM, της κρυφής µνήµης (cache) και της µνήµης DDR RAM. Στις κλάσεις αυτές µοντελοποιείται ο τρόπος λειτουργίας των συγκεκριµένων τύπων µνήµης και καταγράφονται στοιχεία σχετικά την απόδοση της λειτουργίας τους. Τα στοιχεία που καταγράφονται και αναφέρονται είναι: το πλήθος των αναφορών στη µνήµη, ο αριθµός των επιτυχών αναφορών (hits) και των ανεπιτυχών αναφορών (misses), των προσβάσεων ανάγνωσης (reads) και εγγραφής (writes) στη µνήµη, των επιτυχών εγγραφών (write hits), των επιτυχών αναγνώσεων (read hits), των αποτυχιών εγγραφής (write misses), των αποτυχιών ανάγνωσης (read misses) και προαιρετικά στοιχεία κατανάλωσης ηλεκτρικής ενέργειας κατά την λειτουργία των µνηµών. Σε οποιαδήποτε στιγµή είναι δυνατόν να καταγραφούν τα περιεχόµενα των µνηµών σε αρχείο εξόδου. Ο σπουδαστής / µελετητής έχει τη δυνατότητα να εισάγει εντολές σε γλώσσα προγραµµατισµού υψηλού επιπέδου C και κατόπιν να παρακολουθήσει την συµπεριφορά µιας ιεραρχίας κρυφών µνηµών της οποίας τα χαρακτηριστικά έχει καθορίσει ο ίδιος. Εναλλακτικά το λογισµικό µπορεί να δεχτεί στην είσοδο ένα επίπεδο αρχείο κειµένου (.txt) στο οποίο περιγράφεται σε πολύ απλή γλώσσα µια ιεραρχία µνηµών πολλών επιπέδων. Οι µνήµες µπορεί να είναι τύπου κρυφής µνήµης (cache), απλής RAM και DDR RAM. Πολλές αρχιτεκτονικές είναι δυνατόν να ενσωµατωθούν σε ένα αρχείο, ώστε να µπορεί να γίνει σύγκριση αποτελεσµάτων διαφορετικών ιεραρχιών και χαρακτηριστικών µνηµών. Τα αποτελέσµατα εµφανίζονται στην οθόνη ή αποθηκεύονται σε ένα παραγόµενο αρχείο. Ο προσοµοιωτής έχει τη δυνατότητα να παρέχει και πληροφορίες κατανάλωσης ηλεκτρικής ενέργειας των µνηµών. 2.4 Στόχος ανάπτυξης προσοµοιωτή Ο βασικός σκοπός της εργασίας είναι να καταστήσει τον προσοµοιωτή επεκτάσιµο, ώστε αφενός να αποτελέσει ένα πολύτιµο εργαστηριακό βοήθηµα για την κατανόηση του τρόπου λειτουργίας της µνήµης σε µια σειρά εργαστηριακών πειραµάτων. Τα αποτελέσµατα του εργαλείου πρέπει να είναι ίδια µε τα θεωρητικώς αναµενόµενα. Οι σπουδαστές θα πρέπει να είναι σε θέση να ρυθµίσουν κατάλληλα τις παραµέτρους 26

27 των µνηµών που προσοµοιώνουν και να εξηγούν τα αποτελέσµατα, εφόσον κατέχουν το απαραίτητο γνωσιακό υπόβαθρο για τον τρόπο λειτουργίας της πτητικής µνήµης. Επιπροσθέτως είναι δυνατόν να χρησιµοποιείται ο συντάκτης µαζί µε τον µεταγλωττιστή, ώστε να φαίνεται η σειρά εκτέλεσης των εντολών στον πηγαίο κώδικα. Αφετέρου η εφαρµογή είναι δυνατόν να χρησιµοποιηθεί ως εργαλείο για την αξιολόγηση διαφορετικών ιεραρχιών µνήµης σε σχέση µε έναν συγκεκριµένο αλγόριθµο, ή εναλλακτικά για την αξιολόγηση διαφορετικών αλγορίθµων για µια συγκεκριµένη ιεραρχία µνηµών. Το εργαλείο δεν προβαίνει σε βελτιστοποιήσεις, ή προτάσεις σεναρίων. Απλώς αναφέρει τα αποτελέσµατα όπως προκύπτουν και ο χειριστής είναι υπεύθυνος για αλλαγές ή βελτιώσεις. Πολλές ιεραρχίες µνήµης µε διαφορετικά κατασκευαστικά χαρακτηριστικά και πολιτικές είναι δυνατόν να περιγραφούν σε ένα αρχείο εισόδου για συγκεκριµένη ακολουθία εντολών σε γλώσσα C, ώστε να προκύψουν αποτελέσµατα προς ερµηνεία και σύγκριση. Έτσι µπορεί να επεκταθεί η εφαρµογή του εργαλείου στη βελτιστοποίηση (optimization) της χρήσης κρυφών µνηµών για πειραµατισµό, είτε ως προς τα τεχνικά χαρακτηριστικά, είτε ως προς τις διαφορετικές πολιτικές. Όλα τα πειράµατα εφόσον διεξάγονται σε εικονικό περιβάλλον είναι ανεξάρτητα από την λειτουργία της πραγµατικής κρυφής µνήµης, καθότι είναι αφενός δεδοµένη και αµετάβλητη για κάθε µηχάνηµα, αφετέρου υποκείµενη στις εκάστοτε συνθήκες και εφαρµογές που λειτουργούν παράλληλα (multitasking). Σε ένα πραγµατικό περιβάλλον η κρυφή µνήµη εξαναγκάζεται σε επανειληµµένες υπερεγγραφές σε κάθε εναλλαγή διεργασίας. Με την χρήση του εξοµοιωτή τα αποτελέσµατα καθίστανται ντετερµινιστικά, ανεπηρέαστα από εξωτερικές συγκυρίες και είναι δυνατόν να παραχθούν µε προσαρµόσιµο «εικονικό υλικό» στο ίδιο κατ ουσίαν µηχάνηµα. Ο χρήστης δεν είναι απαραίτητο να εµπλακεί σε λεπτοµέρειες µετατροπής του πηγαίου κώδικα C, σε συµβολική γλώσσα, ή σε ιδιοµορφίες του µεταγλωττιστή ή του λειτουργικού συστήµατος. Παρακολουθεί απλώς πως µια σειρά εντολών που έχει εισάγει ο ίδιος σε γλώσσα υψηλού επιπέδου προκαλεί προσβάσεις εγγραφής και ανάγνωσης σε µια ιεραρχία µνηµών της προτίµησής του. 27

28 2.5 Λειτουργία του εξοµοιωτή Ο εξοµοιωτής αποτελείται βασικά από τέσσερα τµήµατα: 1. την εφαρµογή που είναι γραµµένη σε C, 2. τον πυρήνα του προσοµοιωτή που ανιχνεύει τις προσβάσεις (ανάγνωσης ή εγγραφής) στους πίνακες της εφαρµογής και στις µεταβλητές της 3. από τον πυρήνα της εικονικής µνήµης που µοντελοποιεί της συµπεριφορά µιας ιεραρχίας µνηµών. 4. από τον αναλυτή κειµένου (parser) που αναγνωρίζει τις εντολές από το αρχείο εισόδου και δηµιουργεί τα κατάλληλα αντικείµενα προσοµοίωσης µνήµης. Η εφαρµογή µπορεί να είναι οποιοσδήποτε κώδικας γραµµένος σε C, αλλά συγκεκριµένα χρησιµοποιήθηκε ο cavity detector. Πρόκειται για έναν αλγόριθµο επεξεργασίας εικόνας που χρησιµοποιείται σε ιατρικές εφαρµογές και αποτελείται από τρεις πυρήνες επαναλήψεων. Η πρώτη επανάληψη υλοποιεί ένα φιλτράρισµα, ώστε να θολώσει την εικόνα, η δεύτερη εφαρµόζει έναν αλγόριθµο ανίχνευσης ακµών και η τρίτη δηµιουργεί το αρνητικό της εικόνας. Στα πειράµατα χρησιµοποιήθηκε και µια βελτιωµένη έκδοση του ίδιου αλγορίθµου. Σ' αυτήν έχουν εφαρµοστεί κάποιες αλλαγές στη δοµή των επαναλήψεων σε σχέση µε τον αρχικό κώδικα, εστιάζοντας στην βελτίωση της τοπικότητας των δεδοµένων. Ο τελικός αλγόριθµος αποτελείται από µια δοµή επανάληψης που αντιστοιχεί στην συνένωση των τριών της αρχικής µορφής. Ο προσοµοιωτής κάνει χρήση γεγονότων ανάγνωσης και εγγραφής (READ και WRITE EVENTS), προκειµένου να µεταφερθούν πληροφορίες µεταξύ του εικονικού επεξεργαστή και της εικονικής µνήµης. Οι απαραίτητες αυτές πληροφορίες ενθυλακώνονται σε ειδικά διαµορφωµένα µηνύµατα που αποστέλλονται µεταξύ της µνήµης και του επεξεργαστή. Ο προσοµοιωτής επιτρέπει την κατασκευή µιας αρχιτεκτονικής µνηµών που είναι πλήρως παραµετροποιήσιµη όσον αφορά τα φυσικά χαρακτηριστικά και τον τρόπο λειτουργίας της κρυφής µνήµης. Είναι δυνατός ο ορισµός περισσοτέρων επιπέδων κρυφής µνήµης. Οι παράµετροι της κρυφής µνήµης που µπορούν να ορισθούν από 28

29 τον χρήστη είναι η φυσική της κατασκευή (µέγεθος λέξης, πλήθος λέξεων, κατανάλωση ενέργειας ανά πρόσβαση) και ο τρόπος λειτουργίας της (άµεσης απεικόνισης, πλήρως συσχετιστική, συσχετιστική συνόλου, ταυτόχρονης ή ετερόχρονης εγγραφής). Η κύρια µνήµη µπορεί να καθοριστεί να συµπεριφέρεται ως µια κλασσική πτητική µνήµη RAM ή ως µια τύπου DDR RAM. Έτσι είναι δυνατός ο πειραµατισµός σε µια ατελείωτη ποικιλία εναλλακτικών προδιαγραφών. Ο πυρήνας του προσοµοιωτή και η εικονική µνήµη υλοποιήθηκαν χρησιµοποιώντας αντικειµενοστρεφείς τεχνικές και κυρίως πρότυπα της C++ (templates). Έχουν τη δυνατότητα επέκτασης, ανάλογα µε τις ανάγκες του χρήστη, ώστε να παρέχουν περισσότερα πληροφοριακά στοιχεία. Ο πυρήνας του εξοµοιωτή αποτελείται από τέσσερις κλάσεις που ενσωµατώνουν τα εξής χαρακτηριστικά: Η κλάση CScalarWrapper Η πρώτη κλάση, που λέγεται CScalarWrapper, είναι µια κλάση πρότυπο για την ενθυλάκωση των µονόµετρων µεταβλητών (scalar) της C. Περιέχει όλες τις συναρτήσεις τελεστών µε υπερφόρτωση που υποστηρίζονται από τη γλώσσα προγραµµατισµού C, δηλαδή τελεστές αριθµητικούς, λογικούς, ολίσθησης κτλ. Κάθε µονόµετρη µεταβλητή που δηλώνεται σε ένα πρόγραµµα και είναι τύπου της C µπορεί να αντικατασταθεί µε ένα αντικείµενο της κλάσης CScalarWrapper του ίδιου ονόµατος και τύπου. Το αντικείµενο συµπεριφέρεται στην εφαρµογή µε τον ίδιο τρόπο όπως η αντίστοιχη µεταβλητή του εγγενούς τύπου της C. Η µεταβλητές που χρησιµοποιούνται ως µέλη της κλάσης είναι µια τύπου double, προκειµένου να φιλοξενεί την αξία της µεταβλητής και ένα αλφαριθµητικό για την αποθήκευση του ονόµατος της µεταβλητής. Η κλάση περιέχει επίσης έναν διπλό δείκτη του αντικειµένου τύπου CContextWrapper, που χρησιµοποιείται ως πίνακας δεικτών. Το αντικείµενο αυτό περιέχει αντικείµενα τύπου CContext και έναν µη προσηµασµένο ακέραιο. Από το αντικείµενο CContext προκύπτουν ως απόγονες κλάσεις όλα τα είδη των µνηµών που µοντελοποιούνται και είναι µια αµιγώς αφηρηµένη κλάση (pure abstract class). Πρόκειται για µια διεπαφή ουσιαστικά του κώδικα της εφαρµογής µε το εικονικό 29

30 υπολογιστικό περιβάλλον, παρέχοντας ένα σύνολο από εικονικές συναρτήσεις πρότυπα που πρέπει να υλοποιηθούν στις προκύπτουσες κλάσεις. Μια πιο λεπτοµερής αναφορά στην κλάση CContext ακολουθεί παρακάτω. Ο ακέραιος της CContextWrapper φιλοξενεί την διεύθυνση µνήµης στο συγκεκριµένο αντικείµενο µνήµης CContext όπου είναι αποθηκευµένη η µεταβλητή Η κλάση CArrayScalar Η δεύτερη κλάση ονοµάζεται CArrayScalar και είναι επίσης µια κλάση πρότυπο που ενθυλακώνει πολυδιάστατους πίνακες (multidimensional arrays) τύπων της εγγενούς C. Περιέχει συναρτήσεις τελεστών όλων των λειτουργιών πινάκων της standard C, όπως για παράδειγµα ευρετηριασµός (indexing). Κάθε πολυδιάστατος πίνακας που δηλώνεται και χρησιµοποιείται σε κάποια εφαρµογή C, µπορεί να αντικατασταθεί µε ένα αντικείµενο τύπου CArrayWrapper µε το ίδιο όνοµα και τύπο. Το αντικείµενο συµπεριφέρεται µε πανοµοιότυπο τρόπο όπως και ο πίνακας της εγγενούς C. Οι µεταβλητές µέλη της κλάσης είναι οι εξής: 1. ο µονοδιάστατος πίνακας m_elems τύπου double που περιέχει τα στοιχεία του πίνακα. Η χαρτογράφηση των στοιχείων του πίνακα στην εκάστοτε µνήµη γίνεται από την συνάρτηση µέλος της κλάσης ADDRESS, για την οποία γίνεται αναφορά παρακάτω. 2. η δοµή (struct) m_shape που περιέχει πληροφορίες σχετικά µε το πλήθος και το µέγεθος των διαστάσεων του πίνακα 3. η δοµή (struct) m_access_record που περιέχει τον δείκτη κάθε διάστασης του πίνακα για την πρόσβαση σε ένα συγκεκριµένο στοιχείο του 4. η δοµή (struct) m_storage_record που περιέχει πληροφορίες σχετικά µε την αποθήκευση του πίνακα σε µια ιδεατή µνήµη 5. έναν διπλό δείκτη τύπου CContextWrapper, η λειτουργία του οποίου περιγράφηκε περιληπτικά σε προηγούµενη παράγραφο και ακολουθεί πληρέστερη ανάλυση στη συνέχεια. Προς το παρόν σηµειώνεται ότι ο µη προσηµασµένος ακέραιος συγκρατεί τη διεύθυνση µνήµης που αποτελεί τη διεύθυνση βάσης (base address) του πίνακα στη συγκεκριµένη µνήµη. 6. ένα αλφαριθµητικό για την συγκράτηση του ονόµατος του πίνακα. 30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 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

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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

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

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

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ R3 I Καταχωρητές PC Κεντρική Μονάδα Επεξεργασίας Αριθμητική και λογική μονάδα

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

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

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

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

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

ΠΕΡΙΕΧΟΜΕΝΑ. 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 Δομή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

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

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

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

Κύρια & Περιφερειακή Μνήµη

Κύρια & Περιφερειακή Μνήµη Κύρια & Περιφερειακή Μνήµη Κύρια Μνήµη RAM ROM Cache Περιεχόµενα Μονάδες Μαζικής Αποθήκευσης Μαγνητικοί ίσκοι Μαγνητικές Ταινίες Οπτικά Μέσα Ηκύρια µνήµη (Main Memory) Η κύρια µνήµη: Αποθηκεύει τα δεδοµένα

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

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

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

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ι Κεφάλαιο 51&52 5.1 5.2 Σύστημα μνήμης Αρχιτεκτονική Υπολογιστών,, Δημήτριος B. Νικολός, 2η η Έκδοση, Έκδοση Δ. Β. Νικολού,, 2012 Κύριος Σκοπός κατά τη Σχεδίαση του Συστήματος

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

Το υλικό του υπολογιστή

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

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

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

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

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

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

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας

Τα µπιτ και η σηµασία τους. Σχήµα bit. ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits

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

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

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

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

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

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

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

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

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

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ

ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ ΑΣΚΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΓΙΑ ΤΗ ΘΕΩΡΙΑ Άσκηση 1 Ένας επεξεργαστής (ΚΜΕ) υποστηρίζει 371 εντολές. Πόσα bit θα πρέπει να είναι ο καταχωρητής εντολής (ελάχιστη τιμή); (α) 4 bit (β) 16 bit (γ) 1 bit (δ)

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

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

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

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ

ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΣΤΑΤΙΚΕΣ ΚΑΙ ΔΥΝΑΜΙΚΕΣ ΜΝΗΜΕΣ ΤΥΧΑΙΑΣ ΠΡΟΣΠΕΛΑΣΗΣ (Static and Dynamic RAMs). ΔΙΑΡΘΡΩΣΗ ΤΟΥ ΜΑΘΗΜΑΤΟΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΗΜΙΑΓΩΓΙΚΩΝ ΜΝΗΜΩΝ. ΒΑΣΙΚΗ ΛΕΙΤΟΥΡΓΙΑ RAM CMOS. ΤΥΠΟΙ ΚΥΤΤΑΡΩΝ ΑΡΧΕΣ

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης

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

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

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

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

Αρχιτεκτονική-ΙI Ενότητα 4 :

Αρχιτεκτονική-ΙI Ενότητα 4 : ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Αρχιτεκτονική-ΙI Ενότητα 4 : Μνήμες Ιωάννης Έλληνας Τμήμα Η/ΥΣ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου...

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου... Περιεχόµενα Λίγα λόγια από το συγγραφέα... 7 91 Εισαγωγή στους υπολογιστές... 9 92 Μονάδες µέτρησης χωρητικότητας... 31 93 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή... 37 94 Συσκευές εισόδου...

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

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

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

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης ΟΜΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

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

Προγραμματισμός Υπολογιστών

Προγραμματισμός Υπολογιστών Προγραμματισμός Υπολογιστών Βασικές γνώσεις Κ. Βασιλάκης, ΣΤΕΦ, ΤΕΙ Κρήτης Η Πληροφορική και τα εργαλεία της Παροχή έγκαιρης και έγκυρης πληροφόρησης. Καταχώριση στοιχείων Αποθήκευση Επεξεργασία ψηφιακών

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

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

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

5.1 Θεωρητική εισαγωγή

5.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 5 ΚΩ ΙΚΟΠΟΙΗΣΗ BCD Σκοπός: Η κατανόηση της µετατροπής ενός τύπου δυαδικής πληροφορίας σε άλλον (κωδικοποίηση/αποκωδικοποίηση) µε τη µελέτη της κωδικοποίησης BCD

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

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

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

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

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

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

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

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

Αποµακρυσµένη κλήση διαδικασιών

Αποµακρυσµένη κλήση διαδικασιών Αποµακρυσµένηκλήση διαδικασιών Τοπική κλήση διαδικασιών Αποµακρυσµένη κλήση διαδικασιών Μεταβίβαση παραµέτρων Πρωτόκολλα επικοινωνίας Αντιγραφή µηνυµάτων Προδιαγραφές διαδικασιών RPC στο σύστηµα DCE Κατανεµηµένα

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 5 ο Οργάνωση Υπολογιστών Δρ. Γκόγκος Χρήστος Υποσυστήματα αυτόνομου υπολογιστή Κεντρική Μονάδα Επεξεργασίας (CPU)

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ Βιβλιογραφία Ενότητας Kehtarnavaz [2005]: Chapter 3 Kuo [2005]: Chapters 1 & 4-5 Lapsley [2002]: Chapter 4 Hayes [2000]: Κεφάλαιo 8

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης

Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 14 Εισαγωγή στην Ιεραρχία Μνήμης Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων 1 H Μικρο-αρχιτεκτονική μας 4 1 0 PCSrc IF/ID Control ID/EX

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

ΗΥ 232. Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 1. Εισαγωγή στο μάθημα. Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων ΗΥ 232 Διάλεξη 1 Εισαγωγή στο μάθημα Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Διδάσκων: Οργανωτικά Θέματα Νίκος Μπέλλας, Κτήριο Γκλαβάνη, Γραφείο Β3.7, 2 ος όροφος Προσωπική ιστοσελίδα:

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

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1 Εισαγωγή Υλισµικό Λογισµικό Αρχές σχεδίασης ιαφάνεια Κλιµάκωση Παρεχόµενες υπηρεσίες Μοντέλο πελάτη εξυπηρετητή Μοντέλο πελάτη εξυπηρετητή τριών επιπέδων Κατανοµή επεξεργασίας Κατανεµηµένα Συστήµατα 01-1

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 )

Η συχνότητα f των παλµών 0 και 1 στην έξοδο Q n είναι. f Qn = 1/(T cl x 2 n+1 ) ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 9 ΥΑ ΙΚΟΙ ΑΠΑΡΙΘΜΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των απαριθµητών. Υλοποίηση ασύγχρονου απαριθµητή 4-bit µε χρήση JK Flip-Flop. Κατανόηση της αλλαγής του υπολοίπου

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.ct.aegean.gr/people/kalloniatis

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

Σχεδίαση κυκλωμάτων ημιαγωγικών μνημών

Σχεδίαση κυκλωμάτων ημιαγωγικών μνημών 2 0 ^ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. Παρθένα Μποχώρη Σχεδίαση κυκλωμάτων ημιαγωγικών μνημών ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Επιβλέπων: Ιωάννης

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

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων ΗΜΥ-2: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Μετρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Μετρητής Ριπής Σύγχρονος υαδικός

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

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

ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 ΠΛΕ- 074 Αρχιτεκτονική Υπολογιστών 2 10ο μάθημα: Ορια παραλληλίας επιπέδου εντολής και πολυνηματικοί επεξεργαστές Αρης Ευθυμίου Πηγές διαφανειών: συνοδευτικές διαφάνειες αγγλικης εκδοσης του βιβλιου Ορια

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Μετρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Μετρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Μετρητής Ριπής Σύγχρονος υαδικός Μετρητής

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

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

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

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

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

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