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

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

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

Transcript

1 Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Ενότητα 8η: Μερική Επικάλυψη Εντολών Άσκηση 1: Έστω µια αρχιτεκτονική µερικά επικαλυπτόµενων εντολών, όµοια µε αυτή που µελετήσαµε στο µάθηµα, η οποία εκτελεί ένα πρόγραµµα εφαρµογής. Το πρόγραµµα αυτό αποτελείται από το ακόλουθο µείγµα διαφορετικών τύπων εντολών µηχανής: εντολές ΑΛΜ 50% εντολές µνήµης 30% εντολές άλµατος 15% άλλες εντολές 5% Οι εντολές της τελευταίας κατηγορίας δεν επηρεάζουν την απόδοση επικάλυψης. Αγνοώντας εξαρτήσεις δεδοµένων, βρείτε την επιτάχυνση επικάλυψης (α) µε κοινή και (β) µε διαχωρισµένη κρυφή µνήµη εντολών και δεδοµένων, σε σχέση µε µια αρχιτεκτονική χωρίς επικάλυψη, όπου όλες οι εντολές εκτελούνται στον ίδιο χρόνο. Υποθέστε ότι οι εντολές άλµατος επηρεάζουν οµοιόµορφα την τεχνική επικάλυψης, µε πάγωµα της ΜΕ µέχρι την εκτέλεσή τους. Θεωρήστε ιδανικό διαχωρισµό φάσεων. Απάντηση: Η αρχιτεκτονική που µελετήσαµε στο µάθηµα εκτελεί κάθε εντολή µηχανής σε πέντε φάσεις µε την τεχνική µερικής επικάλυψης διαδοχικών εντολών. Αν κάθε φάση ολοκληρώνεται σε χρόνο τ, µια εντολή εκτελείται σε χρόνο ίσο µε 5τ. Υποθέτοντας ιδανικό διαχωρισµό φάσεων, ο χρόνος εκτέλεσης Τ 0 µιας εντολής σε αντίστοιχη αρχιτεκτονική χωρίς επικάλυψη διαδοχικών εντολών θα είναι ίσος µε τον παραπάνω, δηλαδή: Τ 0 = 5τ Έστω ότι το πρόγραµµα εφαρµογής εκτελεί συνολικά Ν εντολές. Τότε ο συνολικός χρόνος εκτέλεσης χωρίς επικάλυψη Τ σειρ θα είναι: Τ σειρ = Ν Τ 0 = 5τΝ ενώ ο συνολικός χρόνος εκτέλεσης Ν εντολών µε ιδανική επικάλυψη θα είναι: Τ επικ (ιδαν) = Τ 0 + τ (Ν-1) + = 4τ + τν Λόγω των εξαρτήσεων µεταξύ διαδοχικών εντολών, η επικάλυψη µπορεί να µην είναι ιδανική. Πιο συγκεκριµένα, η απόδοση επικάλυψης βλάπτεται σε τρεις περιπτώσεις: 1. Στην περίπτωση των δοµικών κινδύνων, στους οποίους η ανάγκη κοινής χρήσης µιας υ- ποµονάδας της ΜΕ από διαδοχικές εντολές αναγκάζει τις νεώτερες εντολές να περιµένουν την απελευθέρωση της υποµονάδας από την αρχαιότερη εντολή. 2. Στην περίπτωση των κινδύνων λόγω εξαρτήσεων από δεδοµένα, στους οποίους ένα ή περισσότερα τελούµενα µιας εντολής εξαρτώνται από προηγούµενες εντολές. Στη χειρότερη περίπτωση, η εντολή αυτή περιµένει µέχρι την ολοκλήρωση των τελευταίων. 3. Στην περίπτωση των κινδύνων λόγω διαδικασιακών εξαρτήσεων, στους οποίους η ροή εκτέλεσης του κώδικα αλλάζει µε κάποιο άλµα. Οι εντολές που ακολουθούν το άλµα είναι εξαρτηµένες διαδικασιακά από την εντολή άλµατος. Στη χειρότερη περίπτωση, θα

2 2 πρέπει αυτές να περιµένουν την εκτέλεση της τελευταίας, πριν µπορέσουν να εισέλθουν στην ΜΕ 1. Στην αρχιτεκτονική που χρησιµοποιούµε υποθέτουµε ότι οι µόνοι δοµικοί κίνδυνοι που εµφανίζονται σχετίζονται µε τη χρήση κοινής µνήµης εντολών και δεδοµένων. Οι πληροφορίες που µας δίνονται δε µας επιτρέπουν να κάνουµε περισσότερες υποθέσεις για άλλους δοµικούς κινδύνους. Επίσης, για τους σκοπούς αυτής της άσκησης, αγνοούµε πλήρως τις εξαρτήσεις από δεδοµένα. Τέλος, όσο αφορά κινδύνους λόγω διαδικασιακών εξαρτήσεων, θεωρούµε ότι η οµοιόµορφη επίδραση αυτών στην απόδοση της τεχνικής µερικής επικάλυψης οφείλεται στο πάγωµα της διαδικασίας επικάλυψης για όλα τα άλµατα και µέχρι αυτά να ολοκληρώσουν τη φάση εκτέλεσής τους. Σύµφωνα µε τα παραπάνω, και υποθέτοντας ότι όλα τα άλµατα, είτε µε είτε χωρίς συνθήκη, εκτελούνται στη φάση εκτέλεσης, κάθε εντολή άλµατος θα εισάγει δύο παγώµατα στην εκτέλεση των επόµενων εντολών. Ειδικότερα, η αµέσως επόµενη εντολή αρχίζει τη φάση ανάκλησης, µόνο µετά την ολοκλήρωση της φάσης εκτέλεσης της προηγούµενης εντολής άλµατος. Έτσι, ο συνολικός χρόνος εκτέλεσης µε µερική επικάλυψη µε συνυπολογισµό των διαδικασιακών εξαρτήσεων αλλά όχι ακόµα των δοµικών γίνεται: Τ επικ (διαδ) = Τ επικ (ιδαν) + 15% Ν 2τ Τ επικ (διαδ) = 4τ + τν + 0,3τΝ = 4τ + 1,3τΝ Ο παραπάνω χρόνος Τ επικ (διαδ) είναι ο χρόνος εκτέλεσης του προγράµµατος εφαρµογής, εάν δεν έχουµε δοµικές εξαρτήσεις. Έτσι, για την περίπτωση που έχουµε διαχωρισµένη κρυφή µνήµη εντολών και δεδοµένων, η επικάλυψη περιορίζεται µόνο από τις διαδικασιακές εξαρτήσεις, κι εποµένως ο χρόνος εκτέλεσης του προγράµµατος θα είναι ίσος µε Τ επικ (διαδ). Στην περίπτωση που έχουµε κοινή κρυφή µνήµη εντολών και δεδοµένων, κάθε εντολή µνή- µης εισάγει ένα ακόµα πάγωµα στη φάση ανάκλησης µιας επόµενης εντολής. Πιο συγκεκρι- µένα, αν η εντολή µνήµης είναι η εντολή i, τότε η εντολή που θα αναγκαστεί να περιµένει για έναν κύκλο µηχανής είναι η i+3, δεδοµένου ότι η εντολή i+1 βρίσκεται ήδη στη φάση εκτέλεσης και η εντολή i+2 βρίσκεται ήδη στη φάση αποκωδικοποίησης. Για απλούστευση της ανάλυσης, υποθέτουµε ότι καµία από τις δύο εντολές που ακολουθούν µια εντολή µνήµης δεν είναι εντολή άλµατος 2. Έτσι ο συνολικός χρόνος εκτέλεσης του προγράµµατος θα είναι: Τ επικ = Τ επικ (διαδ) + 30% Ν τ Τ επικ = 4τ + 1,3τΝ + 0,3τΝ = 4τ + 1,6τΝ Οι αντίστοιχες επιταχύνσεις επικάλυψης για τους παραπάνω χρόνους εκτέλεσης του προγράµµατος των Ν εντολών θα είναι: Sp (δ) = Τ σειρ / Τ επικ (διαδ) Sp (δ) = 5τΝ / (4τ + 1,3τΝ) 5τΝ / 1,3τΝ = 3,846 Sp (κ) = Τ σειρ / Τ επικ Sp (κ) = 5τΝ / (4τ + 1,6τΝ) 5τΝ / 1,6τΝ = 3,125 όπου η πρώτη αναφέρεται στην περίπτωση διαχωρισµένης και η δεύτερη στην περίπτωση κοινής κρυφής µνήµης εντολών και δεδοµένων. Άσκηση 2: Θεωρήστε την παρακάτω ακολουθία εντολών MIPS: lw $3, 0($6) lw $4, 4($6) add $8, $3, $4 sw $8, 0($7) 1 Με την ερµηνεία που δίνουµε, οι διαδικασιακές εξαρτήσεις καλύπτουν και άλµατα χωρίς συνθήκη, παρ όλο που η ροή του κώδικα δεν περνάει ποτέ από τις εντολές που ακολουθούν τέτοια άλµατα. Ο κίνδυνος οφείλεται στο γεγονός ότι µέχρι την εκτέλεση των αλµάτων, οι αµέσως επόµενες εντολές µπορούν να ξεκινήσουν τον κύκλο τους χωρίς να πρέπει. 2 Αν θέλαµε µεγαλύτερη ακρίβεια στην ανάλυσή µας, θα έπρεπε να θεωρήσουµε την πιθανότητα η µία από τις δύο εντολές που ακολουθούν µια εντολή µνήµης να είναι εντολή άλµατος, οπότε τα δύο παγώ- µατα της τελευταίας καλύπτουν το πάγωµα της πρώτης.

3 3 Οι εντολές αυτές εκτελούνται σε αρχιτεκτονική µερικά επικαλυπτόµενων εντολών, όπου ο κύκλος εντολής είναι χωρισµένος σε 5 φάσεις, µε τον τρόπο που είδαµε στο µάθηµα. ώστε το διάγραµµα χρονισµού για την εκτέλεση των 4 εντολών όταν έχουµε (α) µια κοινή και (β) διαχωρισµένη κρυφή µνήµη εντολών και δεδοµένων. Αντιµετωπίστε τυχόν κινδύνους εξαρτήσεων από δεδοµένα ως εξής: (i) Πάγωµα της εξαρτηµένης εντολής µέχρι τα δεδοµένα να έχουν αποθηκευτεί στους αντίστοιχους καταχωρητές, οπότε και διαβάζονται, υποθέτοντας ότι η ανάγνωση µπορεί να γίνει αµέσως µετά την αποθήκευση και στον ίδιο κύκλο µηχανής. (ii) Ιδανική αντιµετώπιση (µε παροχέτευση), οπότε η εξαρτηµένη εντολή προχωράει στη φάση εκτέλεσης, αµέσως µόλις τα δεδοµένα παραχθούν. Απάντηση: Όπως βλέπουµε στην ακολουθία των εντολών που µας δίνεται, υπάρχει εξάρτηση από δεδο- µένα µεταξύ της τρίτης και των δύο πρώτων, καθώς και µεταξύ της τελευταίας και της τρίτης εντολής. Ειδικότερα, οι δύο πρώτες εντολές διαβάζουν δεδοµένα από τη µνήµη στους καταχωρητές $3 και $4, ενώ η τρίτη εντολή χρησιµοποιεί τα δεδοµένα αυτά. Παρόµοια, η τέταρτη εντολή χρειάζεται το περιεχόµενο του καταχωρητή $8, ο οποίος γράφεται από την προηγού- µενη εντολή. Πέρα από εξαρτήσεις από δεδοµένα, η δεδοµένη ακολουθία εντολών δεν εµφανίζει διαδικασιακές εξαρτήσεις, εφ όσον δεν περιλαµβάνει εντολές άλµατος. Από την άλλη µεριά, όσο αφορά δοµικές εξαρτήσεις, η µόνη τέτοια εξάρτηση που παρουσιάζεται είναι η εξάρτηση από την κρυφή µνήµη, κι αυτό συµβαίνει µόνο εφ όσον έχουµε µία κοινή κρυφή µνήµη εντολών και δεδοµένων. Στην περίπτωση αυτή, µια εντολή που χρησιµοποιεί την κρυφή µνήµη στη φάση προσπέλασης στη µνήµη αναγκάζει να παγώσει την προς ανάκληση εντολή µέχρι να ολοκληρώσει την προσπέλαση αυτή. (i) Στη χειρότερη περίπτωση αντιµετώπισης κινδύνων εξαρτήσεων από δεδοµένα η µονάδα ελέγχου παγώνει τη φάση αποκωδικοποίησης της εξαρτηµένης εντολής, στην οποία διαβάζεται ο φάκελος καταχωρητών. Την ολοκληρώνει όταν η τελευταία και εποµένως και κάθε αρχαιότερη εντολή από την οποία αυτή εξαρτάται έχει αποθηκεύσει στο φάκελο καταχωρητών όποιο δεδοµένο χρειάζεται η εξαρτηµένη εντολή 3. Έτσι, για τις δεδοµένες εντολές, η τρίτη εντολή δε µπορεί να ολοκληρώσει τη φάση αποκωδικοποίησης, πριν οι δύο πρώτες να έχουν ολοκληρωθεί, έχοντας αποθηκεύσει τα δεδοµένα στους αντίστοιχους καταχωρητές. Αντίστοιχα, η τελευταία εντολή δε µπορεί να ολοκληρώσει τη φάση αποκωδικοποίησης, πριν η τρίτη εντολή αποθηκεύσει το αποτέλεσµα της πρόσθεσης στο φάκελο καταχωρητών. Υποθέτουµε ότι η προσπέλαση στην κρυφή µνήµη γίνεται σε έναν κύκλο µηχανής. ιαφορετικά θα διαχωρίζαµε όποια φάση προσπελαύνει την κρυφή µνήµη σε µερικά επικαλυπτόµενες φάσεις. Για την περίπτωση (α) µιας κοινής κρυφής µνήµης εντολών και δεδοµένων έχουµε: χρόνος Χ Χ εντολή Χ Χ 3 Αν δεν υποθέταµε ότι η ανάγνωση µπορεί να ακολουθήσει την εγγραφή του ΦΚ στον ίδιο κύκλο µηχανής, αλλά υποθέταµε ότι κάθε προσπέλαση του ΦΚ απαιτεί έναν ολόκληρο κύκλο µηχανής, τότε θα είχαµε ένα περισσότερο πάγωµα ανά κίνδυνο.

4 4 όπου µε λευκό τετραγωνάκι αναπαριστώνται οι φάσεις που δεν έχουν χρήσιµο αποτέλεσµα για την εντολή, ενώ µε Χ σηµειώνονται τα παγώµατα στον κύκλο εντολής. Οι κίνδυνοι εξαρτήσεων από δεδοµένα της ακολουθίας εντολών που έχουµε παγώνουν τις εντολές µε τέτοιον τρόπο, ώστε τις στιγµές που οι δύο πρώτες εντολές διαβάζουν τη µνήµη δεδοµένων (φάση ), καµία επόµενη εντολή δεν είναι στη φάση ανάκλησης (). Έτσι, το γεγονός ότι έχουµε κοινή και όχι διαχωρισµένη κρυφή µνήµη δεν έχει καµία επίδραση στην απόδοση επικάλυψης για τις 4 εντολές, και εποµένως το διάγραµµα χρονισµού για την περίπτωση (β) της διαχωρισµένης κρυφής µνήµης εντολών και δεδοµένων θα είναι το ίδιο µε το παραπάνω, όταν έχουµε τη χειρότερη αντιµετώπιση κινδύνων εξαρτήσεων από δεδοµένα. (ii) Παρατηρούµε στο παραπάνω διάγραµµα ότι οι κίνδυνοι εξαρτήσεων από δεδοµένα παγώνουν την εκτέλεση εντολών για αρκετούς κύκλους µηχανής, κι εποµένως ρίχνουν σηµαντικά την απόδοση της τεχνικής µερικά επικαλυπτόµενων εντολών. Ευτυχώς, υπάρχουν τεχνικές που αντιµετωπίζουν αυτούς τους κινδύνους µε τέτοιον τρόπο, ώστε το πάγωµα εντολών να ελαχιστοποιείται. Στην ιδανική αντιµετώπιση κινδύνων εξαρτήσεων από δεδοµένα, µια εξαρτηµένη εντολή προχωράει στη φάση που χρησιµοποιεί τα δεδοµένα, αµέσως µόλις αυτά γίνουν διαθέσιµα. Αυτό επιτυγχάνεται µε προώθηση των δεδοµένων αυτών στις υποµονάδες της ΜΕ που τα χρειάζονται, µε την τεχνική της παροχέτευσης. Έτσι, στην περίπτωσή µας, η τρίτη εντολή θα προχωρήσει στη φάση εκτέλεσης αµέσως µετά την ολοκλήρωση των φάσεων προσπέλασης στη µνήµη των δύο προηγούµενων εντολών. Ε- ποµένως, θα πρέπει να παγώσει, µέχρι αυτές να ολοκληρώσουν την προσπέλαση στη µνήµη και της προωθήσουν τα δεδοµένα που διάβασαν. Από την άλλη µεριά, η τέταρτη εντολή χρησιµοποιεί στη φάση προσπέλασης στη µνήµη το δεδοµένο που παράγει η τρίτη στη φάση ε- κτέλεσης. Επειδή η φάση προσπέλασης στη µνήµη της τέταρτης ούτως ή άλλως ακολουθεί τη φάση εκτέλεσης της τρίτης εντολής, η εξάρτηση αυτή από δεδοµένα δεν έχει πια καµία επίδραση στο χρονισµό των δύο εντολών. Υποθέτοντας πάλι ότι η προσπέλαση στην κρυφή µνήµη γίνεται σε έναν κύκλο µηχανής, για την περίπτωση (α) έχουµε: χρόνος Χ εντολή Χ Χ όπου µε κόκκινο βελάκι δείχνουµε τις παροχετεύσεις που ενεργοποιούνται κατά την εκτέλεση του κώδικα. Παρατηρούµε ότι η δοµική εξάρτηση από την κοινή κρυφή µνήµη παγώνει την τέταρτη εντολή µέχρι την ολοκλήρωση της φάσης προσπέλασης στη µνήµη () των δύο πρώτων. Στην περίπτωση (β) όµως έχουµε: χρόνος Χ εντολή Χ

5 5 Στην τελευταία αυτή περίπτωση η τέταρτη εντολή ξεκινάει στο συντοµότερο δυνατό χρόνο, δηλαδή 3 κύκλους µετά την πρώτη εντολή. Το µόνο πάγωµα που έχουµε είναι της τρίτης ε- ντολής, η οποία πρέπει λόγω του παραµένοντος κινδύνου λόγω εξάρτησης από δεδοµένα να περιµένει την ολοκλήρωση της φάσης προσπέλασης στη µνήµη () της δεύτερης εντολής. Η φάση εκτέλεσης () της τρίτης εντολής θα πρέπει έτσι να περιµένει έναν κύκλο µηχανής. Παρατηρούµε ότι στη χειρότερη αντιµετώπιση κινδύνων εξαρτήσεων από δεδοµένα ο συνολικός χρόνος ολοκλήρωσης των 4 εντολών είναι 12 κύκλοι µηχανής (συνυπολογίζοντας και τη φάση της τελευταίας εντολής παρόλο που δεν κάνει τίποτε χρήσιµο), ο οποίος είναι 6 κύκλους µικρότερος από το σειριακό χρόνο εκτέλεσης (4 5-2 = 18 κύκλοι µηχανής) και 6 κύκλους µεγαλύτερος από τον ιδανικό χρόνο εκτέλεσης (5+3 = 8 κύκλοι µηχανής) 4. Οι τεχνικές που οδηγούν σε ελαχιστοποίηση παγώµατος για εξαρτήσεις από δεδοµένα µηδενίζουν το χαµένο χρόνο για κινδύνους από εντολές ΑΛΜ και µειώνουν σε έναν κύκλο παγώ- µατος κινδύνους από εντολές ανάγνωσης µνήµης. Έτσι, ο συνολικός χρόνος ολοκλήρωσης των 4 εντολών για την περίπτωση διαχωρισµένης κρυφής µνήµης γίνεται 9 κύκλοι µηχανής, ο οποίος είναι µόλις 1 κύκλο µηχανής µεγαλύτερος από τον ιδανικό. Αξίζει να σηµειωθεί τέλος, ότι ο αριθµός κύκλων παγώµατος σε κινδύνους εξαρτήσεων από δεδοµένα µπορεί να µηδενιστεί τελείως, εάν ο µεταγλωττιστής παρεµβάλλει µεταξύ εντολών που εµφανίζουν τέτοια εξάρτηση άλλες ανεξάρτητες εντολές. Έτσι η φάση στην οποία η ε- ξαρτηµένη εντολή χρησιµοποιεί τα δεδοµένα τα οποία περιµένει αποµακρύνεται χρονικά από τη φάση στην οποία αυτά παράγονται. Με κατάλληλο αριθµό παρεµβαλλόµενων εντολών κάθε εξαρτηµένη εντολή µπορεί να προχωρήσει κανονικά χωρίς να χρειαστεί να περιµένει για κανέναν κύκλο µηχανής. Άσκηση 3: Μελετήστε τις εξαρτήσεις στον πιο κάτω κώδικα MIPS: addi $6, $0, 1 ori $13, $12, 0xffff and $4, $13, $6 addi $9, $9, 4 lw $6, -4($9) beq $6, $8, -5 sub $7, $4, $5 τόσο από δεδοµένα, όσο και διαδικασιακές. Εάν δεν έχουµε µηχανισµό παροχέτευσης στη ΜΕ, δείξτε τους κινδύνους που εµφανίζονται από τις εξαρτήσεις δεδοµένων. Υποθέστε για τη συνέχεια ότι η ΜΕ διαθέτει µηχανισµό παροχέτευσης δεδοµένων προς την ΑΛΜ. είξτε ποιοι κίνδυνοι εξαρτήσεων από δεδοµένα δε µπορούν να αντιµετωπιστούν και µας αναγκάζουν να παγώσουµε το µηχανισµό µερικής επικάλυψης. Με πρόβλεψη µη εκτέλεσης άλµατος, σχεδιάστε το διάγραµµα χρονισµού για την εκτέλεση των πιο πάνω εντολών, (α) όταν το άλµα δε γίνεται και (β) όταν το άλµα γίνεται. Υποθέστε τώρα ότι έχετε καθυστέρηση ενός κύκλου µηχανής στην εκτέλεση του άλµατος. Αναδιατάξτε τις εντολές στον πιο πάνω κώδικα, ώστε (i) να καλύψετε τη θέση καθυστέρησης χωρίς να χρειαστεί να εισάγετε τη ψευδοεντολή nop, και (ii) να εξαλείψετε τον παραµένοντα κίνδυνο από δεδοµένα. Επανασχεδιάστε τα διαγράµµατα χρονισµού. Τι παρατηρείτε; 4 Υπενθυµίζουµε ότι στη σειριακή εκτέλεση πολλαπλών κύκλων µηχανής οι φάσεις που δεν κάνουν τίποτε χρήσιµο παραλείπονται. Για τις εντολές που έχουµε εδώ, δεν θα εκτελούνται ούτε η φάση της τρίτης ούτε η φάση της τέταρτης εντολής. Στην αρχιτεκτονική µερικά επικαλυπτόµενων εντολών όµως, καµία φάση δεν παραλείπεται, και όλες οι εντολές περνάνε από όλες οι φάσεις. Παρόλο που οι συγκεκριµένες φάσεις συνεχίζουν να µην κάνουν τίποτε χρήσιµο, δεν παραλείπονται, οπότε για τον υπολογισµό του χρονισµού της επικάλυψης πρέπει να λάβουµε υπ όψη όλες τις φάσεις.

6 6 Απάντηση: Οι εξαρτήσεις δεδοµένων σε έναν κώδικα δηµιουργούνται λόγω των εγγραφών δεδοµένων σε καταχωρητές ή στη µνήµη, αφού γενικά ό,τι γράφεται από κάποια εντολή, διαβάζεται ή επανεγγράφεται σε κάποια άλλη εντολή, είτε επόµενη είτε προηγούµενη, κι έτσι η σχετική θέση των δύο εντολών είναι κρίσιµη για την ορθότητα του κώδικα. Οι εξαρτήσεις από δεδοµένα κατηγοριοποιούνται σε τρεις τύπους, ανάλογα µε τη σχετική θέση των εµπλεκόµενων εντολών: (i) Ανάγνωσης Μετά από Εγγραφή (ΑΜΕ), (ii) Εγγραφής Μετά από Ανάγνωση (ΕΜΑ) και (iii) Εγγραφής Μετά από Εγγραφή (ΕΜΕ). Στον κώδικα που µας δίνεται εντοπίζουµε εξαρτήσεις δεδοµένων που αφορούν τους καταχωρητές $4, $6, $9 και $13. Πιο συγκεκριµένα, αριθµώντας τις εντολές από Ε1 έως Ε7 µε τη σειρά που µας δίνονται, οι εξαρτήσεις τύπου ΑΜΕ που έχουµε είναι: (α) Ε1 Ε3, λόγω α- νάγνωσης µετά από εγγραφή του $6, (β) Ε1 Ε6, λόγω ανάγνωσης µετά από εγγραφή του $6, (γ) Ε2 Ε3, λόγω ανάγνωσης µετά από εγγραφή του $13, (δ) Ε3 Ε7, λόγω ανάγνωσης µετά από εγγραφή του $4, (ε) Ε4 Ε5, λόγω ανάγνωσης µετά από εγγραφή του $9, και (στ) Ε5 Ε6, λόγω ανάγνωσης µετά από εγγραφή του $6. Στις παραπάνω εξαρτήσεις τύπου ΑΜΕ πρέπει να προσθέσουµε και τις εξαρτήσεις που δηµιουργούνται λόγω της εντολής διακλάδωσης Ε6, η οποία επειδή έχει αρνητική µετατόπιση, δηµιουργεί δοµή βρόχου στον κώδικά µας. Αυτές οι εξαρτήσεις που µεταφέρονται µέσω του βρόχου είναι: (ζ) Ε4 (i) Ε4 (i+1), λόγω ανάγνωσης µετά από εγγραφή του $9, και (η) Ε5 (i) Ε3 (i+1), λόγω ανάγνωσης µετά από εγγραφή του $6. Οι εξαρτήσεις τύπου ΕΜΑ που έχουµε στον παραπάνω κώδικα είναι: (θ) Ε3 Ε5, λόγω εγγραφής µετά από ανάγνωση του $6, (ι) Ε4 Ε4, λόγω εγγραφής µετά από ανάγνωση του $9, και οι µεταφερόµενες µέσω του βρόχου: (ια) Ε3 (i) Ε2 (i+1), λόγω εγγραφής µετά από ανάγνωση του $13, (ιβ) Ε5 (i) Ε4 (i+1), λόγω εγγραφής µετά από ανάγνωση του $9, και (ιγ) Ε6 (i) Ε5 (i+1), λόγω εγγραφής µετά από ανάγνωση του $6. Οι εξαρτήσεις τύπου ΕΜΕ που έχουµε στον παραπάνω κώδικα είναι: (ιδ) Ε1 Ε5, λόγω εγγραφής µετά από εγγραφή του $6, και οι µεταφερόµενες µέσω του βρόχου: (ιε) Ε2 (i) Ε2 (i+1), λόγω εγγραφής µετά από εγγραφή του $13, (ιστ) Ε3 (i) Ε3 (i+1), λόγω εγγραφής µετά από εγγραφή του $4, (ιζ) Ε4 (i) Ε4 (i+1), λόγω εγγραφής µετά από εγγραφή του $9, και (ιη) Ε5 (i) Ε5 (i+1), λόγω εγγραφής µετά από εγγραφή του $6. Όλες οι εξαρτήσεις που µεταφέρονται µέσω του βρόχου δείχνονται να υπάρχουν από την ε- πανάληψη i προς την επανάληψη i+1, όµως θεωρητικά υπάρχουν και προς όλες τις επόµενες επαναλήψεις. Επίσης, αξίζει να σηµειωθεί ότι πολλές εξαρτήσεις είναι ακίνδυνες, διότι εµφανίζονται µεταξύ εντολών όπου άλλες εξαρτήσεις έχουν ήδη επιβάλει τη σωστή σειρά εκτέλεσής τους. Για παράδειγµα, η εξάρτηση (β) είναι ακίνδυνη, εφόσον υπάρχουν οι εξαρτήσεις (ιδ) και (στ) που ούτως ή άλλως αναγκάζουν την Ε6 να µη µπορεί να διαβάσει τα δεδοµένα που γράφει η Ε1. Το ίδιο θα µπορούσαµε να πούµε και για εξαρτήσεις που µεταφέρονται µέσω του βρόχου για απόσταση µεγαλύτερης της µίας επανάληψης. Όλα τα παραπάνω µπορούν να φανούν καθαρά σε έναν πίνακα όπου παρουσιάζονται οι αναγνώσεις (Α) και οι εγγραφές (Ε) όλων των καταχωρητών που συµβαίνουν σε όλες τις εντολές του παραπάνω κώδικα, για τους καταχωρητές που γράφονται τουλάχιστον µία φορά, και για εκτέλεση δύο επαναλήψεων του βρόχου. Όλες οι εξαρτήσεις προκύπτουν κοιτάζοντας τις διαδοχικές αναγνώσεις και εγγραφές των καταχωρητών. Επιπλέον, µε τον πίνακα αυτόν γίνεται φανερό ότι δε χρειάζεται να µελετήσουµε περισσότερες των δύο επαναλήψεων, και πιο συγκεκριµένα ότι δε χρειάζεται να λάβουµε υπόψη εξαρτήσεις που εκτείνονται πέρα από δύο διαδοχικές εγγραφές του ίδιου καταχωρητή από την ίδια εντολή διαδοχικών επαναλήψεων, όπως για παράδειγµα την εξάρτηση Ε2 (i) Ε3 (i+1). Επιπλέον των εξαρτήσεων από δεδοµένα, ο κώδικας εµφανίζει και µια διαδικασιακή εξάρτηση, την Ε6 Ε7, λόγω της εντολής διακλάδωσης Ε6. Παρόλο που η Ε7 τελικά θα εκτελεστεί στην έξοδο από το βρόχο, στο εύρος µίας επανάληψης δε µπορούµε να γνωρίζουµε αν η Ε7 θα εκτελεστεί πριν την εκτέλεση της εντολής διακλάδωσης Ε6.

7 7 Εντολές Καταχωρητές $6 $13 $4 $9 $7 Ε1 Ε Ε2 (i) Ε Ε3 (i) Α Α Ε Ε4 (i) Α/Ε Ε5 (i) Ε Α Ε6 (i) Α Ε2 (i+1) Ε Ε3 (i+1) Α Α Ε Ε4 (i+1) Α/Ε Ε5 (i+1) Ε Α Ε6 (i+1) Α Ε7 Α Ε Στην αρχιτεκτονική MIPS µε µερική επικάλυψη που µελετήσαµε στο µάθηµα, οι εντολές ε- κτελούνται σειριακά, µε τη φάση αποθήκευσης αποτελέσµατος να βρίσκεται πάντα µετά τη φάση ανάγνωσης τελούµενων. Έτσι, οι εξαρτήσεις δεδοµένων τύπου ΕΜΑ, παρόλο που υ- πάρχουν θεωρητικά, δε δηµιουργούν ποτέ κίνδυνο, αφού κάθε εγγραφή γίνεται µετά τις αναγνώσεις όλων των προηγούµενων εντολών. Παρόµοια, και εφόσον οι εντολές ολοκληρώνονται µε την ίδια σειρά που προσκοµίζονται, ούτε οι εξαρτήσεις τύπου ΕΜΕ δε δηµιουργούν κίνδυνο, αφού κάθε εγγραφή γίνεται µετά τις εγγραφές όλων των προηγούµενων εντολών. Εποµένως, από όλες τις παραπάνω εξαρτήσεις δεδοµένων, οι µόνες που µας απασχολούν για µια ΜΕ MIPS είναι οι εξαρτήσεις τύπου ΑΜΕ (α) (η). Από τις παραπάνω εξαρτήσεις (α) (η) κίνδυνο σε µια ΜΕ MIPS δηµιουργούν µόνο όσες αναφέρονται σε εντολές που είναι τόσο κοντά µεταξύ τους, ώστε να υπάρχει ενδεχόµενο η δεύτερη εντολή να διαβάζει τα τελούµενά της πριν τα γράψει η πρώτη. Αν δεν υπάρχει κάποιος µηχανισµός παροχέτευσης, και εφόσον ο ΦΚ µπορεί να διαβαστεί στον ίδιο κύκλο που συµβαίνει κάποια εγγραφή, κίνδυνος δηµιουργείται όταν η δεύτερη εντολή είναι η επόµενη ή η µεθεπόµενη της πρώτης, και όχι κατ ανάγκη στη στατική σειρά των εντολών του κώδικα, αφού λόγω των διακλαδώσεων οι ακολουθίες των εντολών καθορίζονται δυναµικά. Αν η ε- ξαρτηµένη εντολή είναι πιο µακριά, τότε θα µπορέσει να διαβάσει τα σωστά δεδοµένα από το ΦΚ. Έτσι, οι εξαρτήσεις δεδοµένων του κώδικά µας που δηµιουργούν κίνδυνο σε µια ΜΕ MIPS χωρίς παροχέτευση θα είναι οι (α), (γ), (ε) και (στ). Αυτές οι εξαρτήσεις θα οδηγούν σε πάγωµα της ΜΕ µέχρι η ανάγνωση των τελούµενων της εξαρτηµένης εντολής να συµβαίνει στον ίδιο κύκλο µε την εγγραφή των δεδοµένων που αυτή περιµένει. Αν η ΜΕ στην οποία εκτελείται ο κώδικάς µας περιλαµβάνει µηχανισµό παροχέτευσης δεδοµένων για αντιµετώπιση κινδύνων εξαρτήσεων από δεδοµένα, κάθε κίνδυνος από δεδοµένα αντιµετωπίζεται επιτυχώς µε αποφυγή παγώµατος του µηχανισµού µερικής επικάλυψης της ΜΕ, για όλες τις περιπτώσεις που οι εµπλεκόµενες εντολές παράγουν και χρησιµοποιούν δεδοµένα µόνο στην ΑΛΜ. Για τις περιπτώσεις που η παραγωγή των δεδοµένων γίνεται στη µνήµη δεδοµένων, το οποίο σηµαίνει ότι η εντολή που παράγει τα δεδοµένα είναι εντολή φόρτωσης, η παροχέτευση αντιµετωπίζει τον κίνδυνο, µόνο αν η εξαρτηµένη εντολή δεν είναι η αµέσως επόµενη της εντολής φόρτωσης. ιαφορετικά, τα δεδοµένα δεν έχουν προλάβει να παραχθούν και η χρήση τους από την εξαρτηµένη εντολή είναι αδύνατη. Εποµένως, σε µια ΜΕ MIPS µερικής επικάλυψης µε µηχανισµό παροχέτευση προς την ΑΛΜ, οι µόνες εξαρτήσεις δεδοµένων που αποτελούν κίνδυνο είναι οι εξαρτήσεις τύπου ΑΜΕ από εντολή φόρτωσης προς την αµέσως επόµενη εντολή. Από τις εξαρτήσεις δεδοµένων που έχουµε στον κώδικά µας, µόνο οι (στ) και (η) είναι εξαρτήσεις από τη µνήµη δεδοµένων, από τις οποίες η (η) εξ αρχής δεν αποτελούσε κίνδυνο. Ό- µως η εξάρτηση (στ) είναι προς την αµέσως επόµενη εντολή της εντολής φόρτωσης (Ε5 Ε6), κι εποµένως αποτελεί τον µόνο παραµένοντα κίνδυνο από τον κώδικά µας. Για το λόγο αυτό, στην εντολή Ε6, η χρήση των δεδοµένων που αναφέρονται στον καταχωρητή $6 δε

8 8 µπορεί να γίνει πριν το τέλος της φάσης προσπέλασης της µνήµης δεδοµένων της προηγούµενης εντολής Ε5, η οποία είναι εντολή που διαβάζει µια λέξη δεδοµένων από τη µνήµη. Επειδή οι Ε5 και Ε6 είναι διαδοχικές εντολές, ο µηχανισµός παροχέτευσης δεν αρκεί για την αντιµετώπιση του κινδύνου από τη µεταξύ τους εξάρτηση, και η εντολή Ε6 θα πρέπει να παγώσει για έναν κύκλο µηχανής, σε αναµονή των δεδοµένων από τη µνήµη. Ο µηχανισµός παροχέτευσης θα προωθήσει τα δεδοµένα στην ΑΛΜ για τη συνέχιση της εντολής Ε6 στον ε- πόµενο κύκλο µηχανής. Με επιτυχή πρόβλεψη µη εκτέλεσης του άλµατος, ο χρονισµός των εντολών του κώδικα δίνεται στο ακόλουθο διάγραµµα: χρόνος Ε1 Ε2 Ε3 Ε4 Ε5 Ε6 Χ Ε7 εντολή Χ όπου µε βελάκι σηµειώνονται οι γραµµές παροχέτευσης που ενεργοποιούνται, ενώ µε λευκό τετραγωνάκι αναπαριστώνται οι φάσεις που δεν έχουν χρήσιµο αποτέλεσµα για την εντολή. ιακρίνουµε το πάγωµα της Ε6 (και ως εκ τούτου και της Ε7) κατά έναν κύκλο µηχανής. Σε περίπτωση αποτυχηµένης πρόβλεψης, το διάγραµµα χρονισµού γίνεται ως εξής: χρόνος Ε1 Ε2 Ε3 Ε4 Ε5 Ε6 Χ Ε7 Χ Ε8 Ε2 εντολή όπου Ε8 είναι η εντολή που ακολουθεί την Ε7. Βλέπουµε ότι το κόστος της λανθασµένης πρόβλεψης είναι δύο κύκλοι µηχανής, οι οποίοι προστίθενται στον έναν κύκλο από το πάγω- µα της Ε6, για να πάρουµε συνολικά τρεις χαµένους κύκλους στο χρονισµό των εντολών από µία εκτέλεση του δεδοµένου κώδικα. Παρατηρούµε ακόµα ότι λόγω της εκτέλεσης της εντολής διακλάδωσης στη, η εντολή Ε8 που ακολουθεί την Ε7 έχει ήδη αρχίσει τον κύκλο της, πριν η αποτίµηση της συνθήκης άλµατος διαγράψει τόσο αυτήν όσο και την Ε7, που στο µεταξύ έχει µπει στη φάση.

9 9 Μέχρι τώρα υποθέσαµε ότι τα άλµατα της αρχιτεκτονικής µας εκτελούνται χωρίς καθυστέρηση. Στη συνέχεια θα υποθέσουµε ότι τα άλµατα εκτελούνται µε καθυστέρηση ενός κύκλου 5, δηλαδή µετά την εντολή που είναι αµέσως κάτω από την εντολή άλµατος. Με καθυστέρηση ενός κύκλου, η εντολή αυτή εκτελείται πάντα, ακόµα και αν η εκτέλεση του άλµατος αλλάζει τη ροή του κώδικα, κάτι που συµβαίνει σε κάθε περίπτωση άµεσων ή έµµεσων αλµάτων, αλλά και στην περίπτωση επιτυχηµένων διακλαδώσεων. Ο αρχικός κώδικας µας δίνεται χωρίς κάποια υπόθεση καθυστέρησης στην εκτέλεση της ε- ντολής διακλάδωσης Ε6. Αυτό σηµαίνει ότι τόσο στην περίπτωση αλµάτων χωρίς καθυστέρηση, όσο και στην περίπτωση αλµάτων µε καθυστέρηση, η εντολή Ε7 που ακολουθεί την εντολή διακλάδωσης Ε6 εξαρτάται από αυτήν, και δεν εκτελείται όταν η διακλάδωση είναι επιτυχηµένη και το άλµα προς την Ε2 εκτελείται. Στην περίπτωση αλµάτων µε καθυστέρηση, όµως, για σωστή εκτέλεση του κώδικα όσο αφορά την εντολή διακλάδωσης Ε6 6, θα πρέπει να συµπληρώσουµε τη θέση καθυστέρησης της εντολής αυτής. Αυτό γίνεται, για να τοποθετήσουµε στη θέση καθυστέρησης της Ε6 µια εντολή που δεν εξαρτάται από αυτήν, και η οποία στην απλούστερη περίπτωση µπορεί να είναι η ψευδοεντολή nop. Ακόµα καλύτερα, η εντολή στη θέση καθυστέρησης µπορεί να είναι µια από τις εντολές που προηγούνται, ώστε να αποφύγουµε την πρόσθεση µιας κατά τα άλλα άχρηστης εντολής. Μια τέτοια µετακίνηση όµως δεν είναι εύκολη, διότι πρέπει να προσέξουµε, ώστε να µην παραβιαστεί καµία από τις εξαρτήσεις που έχουµε στον κώδικα. Μάλιστα, στην περίπτωση αυτή δεν κοιτάζουµε µόνο τις εξαρτήσεις ΑΜΕ, αλλά όλες τις εξαρτήσεις που προαναφέραµε, τόσο τις ΕΜΑ όσο και τις ΕΜΕ, µια που τώρα δεν µιλάµε για κινδύνους που εµφανίζονται κατά την εκτέλεση της συγκεκριµένης σειράς εντολών, αλλά για αναδιάταξη του κώδικα που οδηγεί σε νέα σειρά εκτέλεσης των εντολών. Η εντολή που θα µετακινήσουµε για να την τοποθετήσουµε στη θέση καθυστέρησης δε µπορεί να είναι η Ε5, η οποία λόγω της εξάρτησης (στ) τύπου ΑΜΕ πρέπει να εκτελείται πριν την Ε6. Μα τότε δε µπορεί να είναι ούτε η Ε4, η οποία λόγω της εξάρτησης (ε) τύπου ΑΜΕ πρέπει να εκτελείται πριν την Ε5. Επίσης όµως, δε µπορεί να είναι η Ε3, εφ όσον τότε εµπλέκεται η εξάρτηση (θ) τύπου ΕΜΑ, σύµφωνα µε την οποία η Ε3 πρέπει να εκτελείται πριν την Ε5. Η Ε2 λόγω της εξάρτησης (γ) τύπου ΑΜΕ πρέπει να εκτελείται πριν την Ε3. Τέλος, και η Ε1 πρέπει να εκτελείται πριν την Ε2, λόγω της εξάρτησης (α) τύπου ΑΜΕ. Όλα αυτά βέβαια οδηγούν στο συµπέρασµα ότι φαινοµενικά δεν υπάρχει καµία εντολή η οποία να µπορεί να τοποθετηθεί στη θέση καθυστέρησης της Ε6. Παρά το παραπάνω συµπέρασµα όµως, υπάρχουν κάποια τρικ, τα οποία µας επιτρέπουν να πετύχουµε το στόχο µας. Ένα τέτοιο τρικ σχετίζεται µε συγκεκριµένη ακολουθία εντολών που αφορά τις αυξοµειώσεις κατά σταθερά της τιµής του καταχωρητή βάσης µιας ή περισσότερων εντολών προσπέλασης µνήµης. Πιο συγκεκριµένα, αν σε έναν κώδικα βρίσκονται οι εντολές addi $a, $a, x lw $b, y($a) για κάποιους καταχωρητές $a και $b, και κάποιες σταθερές x και y, τότε οι εντολές αυτές αναδιατάσσονται ως lw $b, z($a) addi $a, $a, x µε τη σταθερά z να ισούται µε y+x. Εφόσον αναβάλλουµε την αλλαγή της τιµής του $a, πρέπει να συνυπολογίσουµε την αλλαγή στη µετατόπιση της εντολής φόρτωσης. Με την παραπάνω τεχνική, µπορούµε πλέον στη θέση καθυστέρησης της Ε6 να τοποθετήσουµε την Ε4, τροποποιώντας τη σταθερά µετατόπισης της Ε5. 5 Παραδοσιακά στην αρχιτεκτονική MIPS τα άλµατα υλοποιούνται µε έναν κύκλο καθυστέρησης. Γι αυτό και η σχετική διευθυνσιοδότηση στις εντολές διακλάδωσης γίνεται µε βάση την επόµενη της ε- ντολής διακλάδωσης. 6 Λανθασµένη όσο αφορά µια εντολή διακλάδωσης είναι η εκτέλεση στην οποία µία τουλάχιστον ε- ντολή εκτελείται, ενώ δε βρίσκεται στην κατεύθυνση εκτέλεσης και εποµένως δε θα έπρεπε να εκτελεστεί, ή αντίστροφα δεν εκτελείται, ενώ βρίσκεται στην κατεύθυνση εκτέλεσης και εποµένως θα έπρεπε να εκτελεστεί.

10 10 Ένα δεύτερο τρικ που µπορούµε να εφαρµόσουµε είναι η αντιγραφή υπό προϋποθέσεις της εντολής προορισµού του άλµατος στη θέση καθυστέρησης, µε ταυτόχρονη αλλαγή στον προορισµό, ώστε ο προορισµός τώρα να είναι µια εντολή πιο κάτω. Η βασική προϋπόθεση µιας τέτοιας αναδιάταξης είναι η εξασφάλιση ορθότητας του κώδικα, δεδοµένου ότι η εντολή που αντιγράψαµε δε θα πρέπει να εκτελείται αν το άλµα δεν εκτελείται. Προφανώς δεν υπάρχει πρόβληµα για άµεσα ή έµµεσα άλµατα, αφού τότε το άλµα πάντα εκτελείται. Πρόβληµα υ- πάρχει όµως για διακλαδώσεις, όπου θα πρέπει να εξασφαλίσουµε ότι το αποτέλεσµα της λανθασµένα εκτελεσµένης εντολής δεν επηρεάζει την ορθότητα του κώδικα. Στην περίπτωσή µας, το ζητούµενο είναι η αντιγραφή της εντολής Ε2 στη θέση καθυστέρησης της Ε6. Αρκεί να διερευνήσουµε κατά πόσο η εντολή Ε2 βλάπτει την ορθότητα του κώδικα στην έξοδο από το βρόχο. Παρατηρούµε ότι το αποτέλεσµα της εντολής Ε2 δεν εξαρτάται από την εκτέλεση του βρόχου. Μ άλλα λόγια, η τιµή που λαµβάνει ο καταχωρητής $13 είναι η ίδια σε κάθε επανάληψη του βρόχου. Άρα, µια ακόµα εκτέλεση της Ε2 στο τέλος του βρόχου δεν αλλοιώνει τις τιµές που γράφονται στο ΦΚ από τις εντολές του βρόχου, οπότε η αντιγραφή της Ε2 στη θέση καθυστέρησης της Ε6 είναι επιτρεπτή. Ας σηµειωθεί, ότι ακόµα κι αν η τιµή του καταχωρητή $13 προέκυπτε διαφορετική σε κάθε επανάληψη, θα ήταν δυνατή η αντιγραφή, αν δεν υπάρχει εξάρτηση τύπου ΑΜΕ από την Ε2 προς εντολή που ακολουθεί το βρόχο, ή, ακόµα κι αν υπάρχει τέτοια εξάρτηση, αν είναι εφικτό να βρούµε και να προσθέσουµε µία ακόµα εντολή που να αναιρεί το αποτέλεσµα της λανθασµένα εκτελεσµένης Ε2 στην έξοδο από το βρόχο. Για µεγάλο αριθµό επαναλήψεων, οι προσθήκες που κάνουµε προσθέτουν αµελητέο κόστος. Φυσικά για την συµπλήρωση της θέσης καθυστέρησης της εντολής διακλάδωσης Ε6, µας αρκεί ένα από τα δύο τρικ που αναφέραµε. Όµως, η αναδιάταξη των εντολών αποσκοπεί επιπλέον και στη µείωση των χαµένων κύκλων, πέρα από εκείνους που χάνονται στην εκτέλεση µιας εντολής διακλάδωσης. Στην περίπτωσή µας, τέτοιος χαµένος κύκλος είναι ο κύκλος παγώµατος της Ε6, λόγω αναµονής δεδοµένων από τη µνήµη. Για να καλύψουµε λοιπόν το χρόνο αναµονής που δηµιουργεί το πρόβληµα στην εξάρτηση (στ), θα πρέπει να βάλουµε κάποια εντολή µεταξύ των Ε5 και Ε6. Έτσι, µε το δεύτερο από τα παραπάνω τρικ πετυχαίνουµε και αυτό το στόχο. Ο τελικός κώδικας που παίρνουµε µετά τη µικρή αναδιάταξη που κάναµε είναι ο εξής: Ε1: addi $6, $0, 1 Ε2: ori $13, $12, 0xffff E3: and $4, $13, $6 E5: lw $6, 0($9) E4: addi $9, $9, 4 Ε6: beq $6, $8, -4 Ε2: ori $13, $12, 0xffff Ε7: sub $7, $4, $5 όπου η µετατόπιση της εντολής διακλάδωσης έχει διορθωθεί κατάλληλα, ώστε να οδηγεί στην πρώτη εντολή του σώµατος του βρόχου, που τώρα είναι η Ε3. Σε περίπτωση επιτυχούς πρόβλεψης µη εκτέλεσης άλµατος στην Ε6, το διάγραµµα χρονισµού είναι αυτό που δίνεται στην αρχή της επόµενης σελίδας. Παρατηρούµε ότι µε τη νέα διάταξη του κώδικα, επιτυγχάνουµε στην περίπτωση αυτή το βέλτιστο χρόνο στην εκτέλεση των ε- ντολών. Στην περίπτωση αποτυχηµένης πρόβλεψης το διάγραµµα χρονισµού ακολουθεί το προηγούµενο. Παρατηρούµε όµως τώρα ότι δεν καταφέρνουµε να εξαλείψουµε πλήρως τους χαµένους κύκλους από την εντολή διακλάδωσης Ε6. Η εισαγωγή της θέσης καθυστέρησης µείωσε τους χαµένους κύκλους που είχαµε σε έναν, αλλά δεν οδήγησε σε βέλτιστη εκτέλεση. Η καθυστέρηση ενός κύκλου µηδενίζει το κόστος της λανθασµένης πρόβλεψης, µόνο εάν η εντολή εκτελείται στη φάση. Στην περίπτωσή µας, ακόµα και αν η αρχιτεκτονική υποστήριζε κάτι τέτοιο, ο συνδυασµός της εντολής διακλάδωσης Ε6 µε την εντολή Ε5 από την οποία αυτή εξαρτάται, αποτρέπει την εκτέλεση της πρώτης στην, µια που ακόµα και µετά την αναδιάταξη το δεδοµένο δεν είναι διαθέσιµο στη της Ε6. Έτσι, για τον κώδικά µας θα θέλαµε µία ακόµα εντολή να παρεµβληθεί µεταξύ των Ε5 και Ε6, ώστε να εξαλείψουµε πλήρως την απώλεια κύκλων από τη λανθασµένη πρόβλεψη της Ε6.

11 11 χρόνος Ε1 Ε2 Ε3 Ε5 Ε4 Ε6 Ε2 Ε7 εντολή χρόνος Ε1 Ε2 Ε3 Ε5 Ε4 Ε6 Ε2 Ε7 Ε3 εντολή Παρατηρήστε ότι στον παραπάνω αναδιαταγµένο κώδικα οι εξαρτήσεις δεδοµένων δεν είναι πια αυτές που είχαµε βρει για τον αρχικό κώδικα. Για παράδειγµα, η ΑΜΕ εξάρτηση (ε) µεταξύ των Ε4 και Ε5 έχει µετατραπεί σε εξάρτηση που µεταφέρεται µέσω του βρόχου, γι αυτό και δεν υπάρχει η παροχέτευση που είχαµε νωρίτερα µεταξύ των δύο εντολών. Αντίθετα, η ΕΜΑ εξάρτηση (ιβ) που µεταφερόταν µέσω του βρόχου τώρα αναφέρεται στην ίδια επανάληψη. Επίσης, η ΑΜΕ εξάρτηση (γ) µεταξύ των Ε2 και Ε3 συµπληρώνεται και µε µια νέα εξάρτηση τύπου ΑΜΕ από το αντίγραφο της Ε2 που µεταφέρεται µέσω του βρόχου στην ε- πόµενη Ε3. Η τελευταία µάλιστα ενεργοποιεί και παροχέτευση, όπως φαίνεται στο πιο πάνω διάγραµµα, εφόσον η εξαρτηµένη εντολή Ε3 είναι η µεθεπόµενη της Ε2 της προηγούµενης επανάληψης στη δυναµική σειρά εκτέλεσης των εντολών του κώδικα! Γενικά το πρόβληµα της διάταξης ή δροµολόγησης εντολών (instruction scheduling) για βέλτιστη εκτέλεση κώδικα είναι πολύ σηµαντικό πρόβληµα της επιστήµης των υπολογιστών, και απαντάται σε πολλές περιοχές της (πχ αρχιτεκτονική, µεταγλωττιστές, προγραµµατισµός, παράλληλη επεξεργασία). Όλοι οι µοντέρνοι επεξεργαστές υλοποιούν µηχανισµό µερικής αναδιάταξης εντολών στο υλικό τους, αλλά η προεργασία που κάνει ο µεταγλωττιστής στην αρχική διάταξη των εντολών του κώδικα είναι το κλειδί για την αποτελεσµατικότερη λειτουργία κάθε επεξεργαστή.

12 12 Άσκηση 4: Η επιτυχία πρόβλεψης ενός µηχανισµού πρόβλεψης διακλάδωσης ορίζεται σαν το λόγο του α- ριθµού επιτυχών προβλέψεων προς το συνολικό αριθµό προβλέψεων του µηχανισµού. Μελετήστε την επιτυχία πρόβλεψης ενός µηχανισµού (α) στατικής πρόβλεψης στηριγµένου στο πρόσηµο της µετατόπισης, (β) δυναµικής πρόβλεψης µε 1 ψηφίο ιστορίας, και (γ) δυναµικής πρόβλεψης µε 2 ψηφία ιστορίας ανά διακλάδωση, µε ολίσθηση του νεώτερου και επιλογή του αρχαιότερου ψηφίου για την πρόβλεψη, στις ακόλουθες περιπτώσεις αλµάτων διακλαδώσεων σε βρόχο Ν επαναλήψεων: 1. Άλµα τερµατισµού βρόχου προς την αρχή του βρόχου. 2. Άλµα µε σταθερή κατεύθυνση που αλλάζει στο µισό του αριθµού επαναλήψεων του βρόχου. 3. Άλµα προς τα εµπρός που εκτελείται µεµονωµένα στο 10% των επαναλήψεων του βρόχου. 4. Άλµα προς τα εµπρός που εκτελείται κάθε δεύτερη επανάληψη 5. Άλµα προς τα εµπρός που εκτελείται κάθε τρίτη επανάληψη. 6. Άλµα προς τα εµπρός που δεν εκτελείται κάθε τρίτη επανάληψη. Μπορείτε να εντοπίσετε εσείς κάποια περίπτωση στην οποία ο τρίτος από τους παραπάνω µηχανισµούς αποτυγχάνει τελείως; Σχολιάστε. Απάντηση: Στη στατική πρόβλεψη στηριγµένη στο πρόσηµο της µετατόπισης της εντολής διακλάδωσης, προβλέπουµε ότι το άλµα εκτελείται, όταν η µετατόπιση είναι αρνητική. Μια τέτοια πρόβλεψη αποσκοπεί στη βέλτιστη επικάλυψη εντολών σε βρόχους, όταν αυτοί τερµατίζονται µε εντολή διακλάδωσης προς την αρχή του βρόχου, και συνεπώς το άλµα της εντολής αυτής ε- κτελείται τις περισσότερες φορές. Από την άλλη µεριά, διακλαδώσεις µε θετική µετατόπιση αντιµετωπίζονται σαν περιπτώσεις αλµάτων που δεν εκτελούνται συχνά, κι εποµένως η πρόβλεψη γι αυτές είναι µη εκτέλεση του άλµατος. Στη δυναµική πρόβλεψη, διατηρούµε έναν αριθµό ψηφίων ιστορίας ανά διακλάδωση, τα ο- ποία κωδικοποιούν τις πιο πρόσφατες αποτιµήσεις της συνθήκης άλµατος της διακλάδωσης. Αληθής συνθήκη (δηλαδή εκτέλεση του άλµατος) αντιστοιχεί σε ψηφίο 1, ψευδής συνθήκη (δηλαδή µη εκτέλεση του άλµατος) αντιστοιχεί σε ψηφίο 0. Η πρόβλεψη υπολογίζεται από τα ψηφία ιστορίας µε βάση κάποιον αλγόριθµο, που συνήθως είναι απλά η πλειοψηφία των τι- µών τους. Έτσι, περισσότερα 1 οδηγούν σε πρόβλεψη εκτέλεσης του άλµατος, και αντίστροφα, περισσότερα 0 οδηγούν σε πρόβλεψη µη εκτέλεσης του άλµατος. Για άρτιο αριθµό ψηφίων ιστορίας, η περίπτωση ίσου αριθµού 1 και 0 αντιµετωπίζεται ιδιαίτερα. Στην άσκηση αυτή, για τη δυναµική πρόβλεψη µε 2 ψηφία ιστορίας ανά διακλάδωση, θα θεωρήσουµε την τεχνική στην οποία η ενηµέρωση της ιστορίας σε µια διακλάδωση γίνεται µε ολίσθηση σε αυτήν του νέου ψηφίου που προκύπτει από τη διακλάδωση, ενώ η πρόβλεψη γίνεται µε επιλογή της αρχαιότερης τιµής κατεύθυνσης άλµατος. Η αρχική πρόβλεψη στην περίπτωση δυναµικής πρόβλεψης, όταν δηλαδή δεν έχουµε ιστορία για τη διακλάδωση στον πίνακα ιστορίας διακλαδώσεων, γίνεται σε πολλές περιπτώσεις µε στατική πρόβλεψη. Για να µελετήσουµε τη συµπεριφορά της δυναµικής πρόβλεψης χωρίς την επίδραση άλλου µηχανισµού στην αρχική πρόβλεψη, θα υποθέσουµε ότι ο βρόχος των Ν ε- παναλήψεων είναι µέρος ενός µεγαλύτερου εξωτερικού βρόχου, και ότι έχει ήδη εκτελεστεί τουλάχιστον µια φορά µέσα σε αυτόν τον εξωτερικό βρόχο. Για κάθε περίπτωση διακλάδωσης έχουµε 7 : 1. Άλµα προς τα πίσω στο τέλος του βρόχου. Η στατική πρόβλεψη επιτυγχάνει σε κάθε εκτέλεση της διακλάδωσης, εκτός από την τελευταία, στην οποία το άλµα δεν εκτελείται. Η επιτυχία πρόβλεψης Ε σ θα είναι: 7 Για να µην αναλωθούµε σε µελέτες ειδικών περιπτώσεων, που είναι πέρα από τους σκοπούς της ά- σκησης, θα υποθέσουµε ότι ο Ν έχει κατάλληλη τιµή για κάθε περίπτωση, πχ. άρτιος, πολλαπλάσιο του 3, µεγαλύτερος του 10, κλπ.

13 13 Ε σ = (Ν-1)/Ν Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας αποτυγχάνει δύο φορές στην εκτέλεση του βρόχου, την πρώτη φορά που η πρόβλεψη είναι «µη εκτέλεση» και το άλµα εκτελείται, και την τελευταία φορά που η πρόβλεψη είναι «εκτέλεση» και το άλµα δεν εκτελείται. Η πρώτη πρόβλεψη γίνεται επειδή στην αµέσως προηγούµενη εκτέλεση της εντολής διακλάδωσης, δηλαδή στην τελευταία της προηγούµενης εκτέλεσης του βρόχου, το άλµα δεν εκτελέστηκε. Η επιτυχία πρόβλεψης Ε δ1 στην περίπτωση αυτή θα είναι: Ε δ1 = (Ν-2)/Ν Η δυναµική πρόβλεψη µε δύο ψηφία ιστορίας µπορεί να προβλέψει την πρώτη εκτέλεση του άλµατος. Αυτό συµβαίνει, επειδή η τελευταία εκτέλεση του άλµατος σε µια εκτέλεση του βρόχου, ακολουθούµενη από τη µη εκτέλεση στην έξοδο από αυτόν, δίνουν τιµή 10 στα ψηφία ιστορίας. Αυτή η τιµή οδηγεί ξανά σε πρόβλεψη εκτέλεσης στην επόµενη εµφάνιση της εντολής διακλάδωσης, που θα είναι η πρώτη επανάληψη στην επόµενη εκτέλεση του βρόχου. Όµως, η εκτέλεση της δεύτερης επανάληψης δε θα προβλεφθεί, επειδή τα ψηφία ιστορίας έχουν τώρα τιµή 01, γεγονός που οδηγεί σε πρόβλεψη µη εκτέλεσης. Έτσι, η επιτυχία πρόβλεψης Ε δ2 γίνεται και πάλι: Ε δ2 = (Ν-2)/Ν Παρατηρούµε ότι σε αυτή την κατηγορία διακλάδωσης και για µεγάλο Ν, και οι τρεις µηχανισµοί έχουν παραπλήσια απόδοση, η οποία είναι πολύ κοντά στο 100%. Για χαµηλές τιµές του Ν όµως, η δυναµική πρόβλεψη υστερεί έναντι της στατικής. 2. Σταθερή κατεύθυνση άλµατος µε µία αλλαγή στη µέση του βρόχου. Υποθέτουµε ότι η επόµενη εκτέλεση του βρόχου εµφανίζει την ίδια ακριβώς ιστορία στη διακλάδωση που µας απασχολεί. Η στατική πρόβλεψη στην περίπτωση αυτή αποτυγχάνει στις µισές εκτελέσεις της διακλάδωσης, ανεξάρτητα από το πρόσηµο της µετατόπισης. Έτσι, η επιτυχία πρόβλεψης Ε σ είναι µόλις: Ε σ = 50% Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας αποτυγχάνει δύο φορές σε αυτή την περίπτωση, µια φορά στην αλλαγή κατεύθυνσης άλµατος στη µέση του βρόχου και µια φορά στην αρχή του βρόχου, όταν η διακλάδωση επανέρχεται στην ιστορία της προηγούµενης εκτέλεσης του βρόχου. Άρα η επιτυχία Ε δ1 είναι: Ε δ1 = (Ν-2)/Ν Η δυναµική πρόβλεψη µε δύο ψηφία ιστορίας από την άλλη µεριά, αποτυγχάνει τέσσερις φορές. Σε κάθε αλλαγή κατεύθυνσης άλµατος, είτε στη µέση του βρόχου, είτε στην αρχή της επόµενης εκτέλεσής του, κάνει δύο φορές λάθος, επειδή τα ψηφία ιστορίας χρειάζονται δύο εκτελέσεις της διακλάδωσης, για να µπορέσουν να προβλέψουν σωστά τη νέα κατεύθυνση. Για παράδειγµα, τα ψηφία ιστορίας 00 στην αλλαγή κατεύθυνσης άλµατος θα κάνουν το πρώτο λάθος και θα πάρουν τιµή 01. Όµως η τιµή 01 προβλέπει την αρχαιότερη κατεύθυνση, δηλαδή «µη εκτέλεση», η οποία είναι και πάλι λανθασµένη. Στη συνέχεια η τιµή των ψηφίων ιστορίας γίνεται 11, η οποία θα προβλέψει σωστά «εκτέλεση» στην επόµενη εµφάνιση της διακλάδωσης, και θα συνεχίσει να προβλέπει σωστά µέχρι την επόµενη αλλαγή κατεύθυνσης. Συνολικά: Ε δ2 = (Ν-4)/Ν Παρατηρούµε τώρα ότι η στατική πρόβλεψη αποτυγχάνει σε αυτή την κατηγορία διακλάδωσης, µια που η επιτυχία πρόβλεψης είναι πολύ χαµηλή σε σύγκριση µε τους άλλους δύο µηχανισµούς. Οι µηχανισµοί δυναµικής πρόβλεψης έχουν υψηλή επιτυχία πρόβλεψης, που για µεγάλα Ν πλησιάζει στο 100%. Για µικρότερα Ν ο µηχανισµός δυναµικής πρόβλεψης µε ένα ψηφίο ιστορίας έχει καλύτερη απόδοση από αυτόν µε δύο ψηφία ιστορίας, επειδή ο δεύτερος καθυστερεί σε σχέση µε τον πρώτο στην αναγνώριση της αλλαγής κατεύθυνσης άλµατος κατά µια εκτέλεση της διακλάδωσης. 3. Άλµα προς τα εµπρός που εκτελείται µεµονωµένα στο 10% του Ν. Η στατική πρόβλεψη σε άλµατα προς τα εµπρός µε θετική δηλαδή µετατόπιση επιτυγχάνει στην πρόβλεψη, µόνο όταν το άλµα δεν εκτελείται. Εποµένως, η επιτυχία πρόβλεψης θα είναι:

14 14 Ε σ = 90% Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας δε µπορεί να προβλέψει µεµονωµένες εξαιρέσεις στη κατεύθυνση άλµατος, και κάνει δύο λάθη για κάθε εκτέλεση άλµατος, ένα στην πρόβλεψη της κατεύθυνσης όταν το άλµα εκτελείται, κι ένα στην αµέσως επόµενη εκτέλεση της εντολής διακλάδωσης, στην οποία το άλµα δεν εκτελείται, αλλά το ψηφίο ιστορίας έχει τιµή 1. ηλαδή: Ε δ1 = 80% Η δυναµική πρόβλεψη µε δύο ψηφία ιστορίας παρουσιάζει παρόµοια συµπεριφορά, µε τη διαφορά ότι η δεύτερη αποτυχία εµφανίζεται αργότερα. Έτσι, η επιλογή της αρχαιότερης κατεύθυνσης σε περίπτωση ψηφίων ιστορίας µε τιµή 01 οδηγεί σε επιτυχία, αφού µετά την πρώτη αποτυχηµένη πρόβλεψη που είναι αναπόφευκτη, η πρόβλεψη που ακολουθεί είναι «µη εκτέλεση» και είναι σωστή. Όµως, επειδή η τεχνική ενηµέρωσης ιστορίας µε ολίσθηση θα µας δώσει 10 ως νέα ιστορία, η επόµενη πρόβλεψη θα είναι «εκτέλεση» και είναι λανθασµένη, όταν οι µεµονωµένες εκτελέσεις του άλµατος δε συµβαίνουν ποτέ σε απόσταση µικρότερη από τρεις επαναλήψεις του βρόχου. Εποµένως η επιτυχία πρόβλεψης θα είναι πάλι: Ε δ2 = 80% Στην περίπτωση αυτής της κατηγορίας διακλαδώσεων η στατική πρόβλεψη είναι καλή και αποτυγχάνει στον ελάχιστο αριθµό επαναλήψεων, που δε µπορεί να είναι µικρότερος από 10%. Η δυναµική πρόβλεψη δε µπορεί να αντιµετωπίσει αυτές τις διακλαδώσεις µε το βέλτιστο τρόπο, αφού αποτυγχάνει δύο φορές για κάθε περίπτωση εκτέλεσης άλµατος. 4. Άλµα προς τα εµπρός που εκτελείται κάθε δεύτερη επανάληψη. Η στατική πρόβλεψη στην περίπτωση αυτή συµπεριφέρεται όπως στην περίπτωση (2), εφ όσον η επιτυχία πρόβλεψης εξαρτάται µόνο από τον αριθµό των αλµάτων που εκτελούνται. Έτσι: Ε σ = 50% Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας αποτυγχάνει σε κάθε εκτέλεση της διακλάδωσης, επειδή η κατεύθυνση άλµατος αλλάζει συνεχώς, και το ψηφίο ιστορίας περιέχει κάθε φορά την τιµή που αντιστοιχεί στην προηγούµενη εκτέλεση της διακλάδωσης. Έτσι: Ε δ1 = 0% Η δυναµική πρόβλεψη µε δύο ψηφία ιστορίας και µε ολίσθηση στην ενηµέρωση της ιστορίας προβλέπει κάθε φορά την προηγούµενη κατεύθυνση άλµατος στην εκτέλεση της διακλάδωσης, η οποία είναι και η σωστή. Για παράδειγµα, µετά από διαδοχή κατευθύνσεων «µη εκτέλεση»-«εκτέλεση», τα ψηφία ιστορίας έχουν τιµή 01, η οποία οδηγεί σε πρόβλεψη µη εκτέλεσης του άλµατος, που λόγω της εναλλαγής της κατεύθυνσης άλµατος, είναι η σωστή. Άρα: Ε δ2 = 100% Παρατηρούµε ότι στην περίπτωση αυτή ο τρίτος από τους πιο πάνω µηχανισµούς έχει απόλυτη επιτυχία. Αυτό συµβαίνει επειδή η εναλλαγή κατεύθυνσης άλµατος είναι συµπεριφορά που µπορεί να προβλεφθεί, όταν ο πίνακας ιστορίας διακλαδώσεων διατηρεί τουλάχιστον δύο ψηφία ιστορίας για κάθε διακλάδωση, τα οποία ενηµερώνονται µε ολίσθηση, και όπου η πρόβλεψη γίνεται µε βάση το αρχαιότερο ψηφίο. Με ένα ψηφίο ιστορίας η συµπεριφορά αυτή δε µπορεί να προβλεφθεί, γι αυτό και η αποτυχία στην πρόβλεψη. Η στατική πρόβλεψη δε µπορεί να προβλέψει τη συµπεριφορά της διακλάδωσης, αλλά επιτυγχάνει στις µισές προβλέψεις, όταν το άλµα δεν εκτελείται. 5. Άλµα προς τα εµπρός που εκτελείται κάθε τρίτη επανάληψη. Στην περίπτωση αυτή, η στατική πρόβλεψη επιτυγχάνει όταν το άλµα δεν εκτελείται, το ο- ποίο συµβαίνει στα δύο τρίτα των επαναλήψεων: Ε σ = 67% Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας επιτυγχάνει µόνο όταν η κατεύθυνση άλµατος δεν αλλάζει, το οποίο συµβαίνει µια φορά κάθε τρεις επαναλήψεις. Η ιστορία της διακλάδωσης έχει τη µορφή Έτσι, διατηρώντας µόνο ένα ψηφίο στον πίνακα ι- στορίας διακλαδώσεων γι αυτή τη διακλάδωση, έχουµε επιτυχή πρόβλεψη µόνο όταν το ψηφίο ιστορίας είναι 0 και το άλµα δεν εκτελείται, δηλαδή µια στις τρεις φορές. Άρα: Ε δ1 = 33%

15 15 Όταν έχουµε δύο ψηφία ιστορίας, οποιαδήποτε τιµή για τα δύο ψηφία από τις 00 και 10 οδηγεί σε λανθασµένη πρόβλεψη µη εκτέλεσης και εκτέλεσης του άλµατος αντίστοιχα, ενώ µόνο η τιµή 01 οδηγεί σε σωστή πρόβλεψη µη εκτέλεσης του άλµατος. Μ άλλα λόγια, η πρόβλεψη είναι και σε αυτό το µηχανισµό επιτυχής στο ένα τρίτο µόνο των επαναλήψεων: Ε δ2 = 33% Σ αυτή την περίπτωση ο µηχανισµός δυναµικής πρόβλεψης δεν είναι ιδιαίτερα επιτυχής, ε- πειδή οι εναλλαγές κατεύθυνσης άλµατος έχουν µορφή που δύσκολα προβλέπεται. Ακόµα και µε δύο ψηφία ιστορίας αποτυγχάνουµε στην πρόβλεψη, επειδή η εναλλαγή κατεύθυνσης κάθε τρεις επαναλήψεις απαιτεί τρία τουλάχιστον ψηφία για τη σωστή πρόβλεψή της. Η στατική πρόβλεψη δίνει καλύτερο αποτέλεσµα, επειδή έχουµε πιο λίγες εκτελέσεις από µη εκτελέσεις του άλµατος. 6. Άλµα προς τα εµπρός που δεν εκτελείται κάθε τρίτη επανάληψη. Όπως και προηγουµένως, η στατική πρόβλεψη επιτυγχάνει όταν το άλµα δεν εκτελείται, το οποίο τώρα συµβαίνει µόνο στο ένα τρίτο των επαναλήψεων: Ε σ = 33% Η δυναµική πρόβλεψη µε ένα ψηφίο ιστορίας παρουσιάζει παρόµοια συµπεριφορά µε προηγουµένως, παρ όλο που η ιστορία της διακλάδωσης έχει τώρα τη µορφή Με ένα µόνο ψηφίο στον πίνακα ιστορίας διακλαδώσεων, έχουµε επιτυχή πρόβλεψη µόνο όταν το ψηφίο ιστορίας είναι 1 και το άλµα εκτελείται, δηλαδή πάλι µια στις τρεις φορές. Άρα: Ε δ1 = 33% Η οµοιότητα συµπεριφοράς µε την προηγούµενη περίπτωση υπάρχει και στο µηχανισµό των δύο ψηφίων ιστορίας. Οποιαδήποτε τιµή για τα δύο ψηφία από τις 01 και 11 οδηγεί σε λανθασµένη πρόβλεψη, ενώ µόνο η τιµή 10 οδηγεί σε σωστή πρόβλεψη: Ε δ2 = 33% Στην περίπτωση αυτή η δυναµική πρόβλεψη παρουσιάζει την ίδια συµπεριφορά µε προηγου- µένως, ενώ το ίδιο αποτέλεσµα δίνει και η στατική πρόβλεψη, επειδή τώρα έχουµε πιο πολλές εκτελέσεις από µη εκτελέσεις του άλµατος. Από τη µελέτη των πιο πάνω περιπτώσεων παρατηρούµε τα εξής: Η επιτυχία της στατικής πρόβλεψης εξαρτάται αποκλειστικά από τον αριθµό εκτελέσεων ή µη εκτελέσεων του άλµατος. Πιο πολλές εκτελέσεις σε διακλαδώσεις µε αρνητική µετατόπιση και πιο λίγες σε διακλαδώσεις µε θετική µετατόπιση αυξάνουν την επιτυχία πρόβλεψης. Η επιτυχία δυναµικών µηχανισµών πρόβλεψης εξαρτάται κυρίως από τη µορφή της ιστορίας των διακλαδώσεων. Οι µελέτες που έχουν γίνει για διάφορους µηχανισµούς επιχειρούν να βελτιστοποιήσουν την απόδοσή τους για τις πιο συνηθισµένες µορφές ιστορίας διακλαδώσεων. Έτσι διακλαδώσεις των τύπων (1), (2) και (3) µπορούν να αντιµετωπιστούν επιτυχώς µε δυναµική πρόβλεψη. Επίσης, διακλαδώσεις που εµφανίζουν περιοδικότητα στη συµπεριφορά τους, όπως συµβαίνει στους τύπους (4), (5) και (6), µπορούν να αντιµετωπιστούν µε επιτυχία έως και 100%, ανάλογα µε τον αλγόριθµο πρόβλεψης, και µόνο για κατάλληλο αριθµό ψηφίων ιστορίας 8. Για να βρούµε µια περίπτωση πλήρους αποτυχίας της δυναµικής πρόβλεψης µε δύο ψηφία ιστορίας, ενηµέρωση µε ολίσθηση, και επιλογή του αρχαιότερου ψηφίου για την πρόβλεψη, αρκεί να βρούµε µια συµπεριφορά διακλάδωσης που δεν ακολουθεί ποτέ την πρόβλεψη. Μ άλλα λόγια, µε ψηφία ιστορίας 00 και 01 να εκτελεί το άλµα της, ενώ µε ψηφία ιστορίας 10 και 11 να µην το εκτελεί. Μια τέτοια συµπεριφορά εµφανίζεται στην περίπτωση εναλλαγής κατεύθυνσης άλµατος κάθε δύο ακριβώς επαναλήψεις, µε ιστορία διακλάδωσης της µορφής 8 Μπορεί να αποδειχτεί ότι ο ελάχιστος αριθµός ψηφίων ιστορίας που απαιτείται είναι ο λογάριθµος της περιόδου της συµπεριφοράς της διακλάδωσης. Ο ελάχιστος αριθµός όµως µπορεί να είναι κατάλληλος για συγκεκριµένες, και όχι για τις πιο συνηθισµένες µορφές ιστορίας. Για παράδειγµα, η εναλλαγή που είδαµε στον τύπο (4) µπορεί να προβλεφθεί και µε ένα ψηφίο ιστορίας, αρκεί ο µηχανισµός να προγραµµατιστεί έτσι, ώστε µε ιστορία 0 να προβλέπει «εκτέλεση», και µε ιστορία 1 να προβλέπει «µη εκτέλεση», κάτι που φυσικά δεν είναι η συνηθισµένη επιλογή πρόβλεψης!

16 Με αυτή την ιστορία σε καµία περίπτωση ο µηχανισµός δεν προβλέπει σωστά την επόµενη εκτέλεση της διακλάδωσης, και η επιτυχία είναι: Ε δ2 = 0% Άσκηση 5: Ένα πρόγραµµα συστήµατος, ο µεταγλωττιστής gcc, αποτελείται από το πιο κάτω µίγµα εντολών MIPS: 22% load, 11% store, 49% ΑΛΜ, 16% άλµατα µε συνθήκη, και 2% άλµατα χωρίς συνθήκη. Συγκρίνετε την επίδοση για το πρόγραµµα αυτό ενός συστήµατος ΜΕ (α) απλού κύκλου µηχανής για κάθε κύκλο εντολής, (β) πολλαπλών κύκλων µηχανής για κάθε κύκλο εντολής, και (γ) µηχανισµού µερικά επικαλυπτόµενων εντολών µε παροχέτευση. Οι χρόνοι βασικών λειτουργιών της ΜΕ είναι: 2ns για προσπέλαση µνήµης, 2ns για λειτουργία ΑΛΜ, και 1ns για προσπέλαση του ΦΚ. Για την περίπτωση µερικά επικαλυπτόµενων εντολών υποθέστε ότι οι µισές εντολές load ακολουθούνται από εξαρτώµενη εντολή, ότι το κόστος λάθους πρόβλεψης άλµατος µε συνθήκη είναι δύο κύκλοι µηχανής, και ότι η επιτυχία πρόβλεψης είναι 75%. Τα άλµατα χωρίς συνθήκη έχουν πάντα κόστος δύο κύκλων µηχανής. Θεωρήστε για κάθε περίπτωση τη δοµή της ΜΕ που είδαµε στο µάθηµα. Απάντηση: Θα αναλύσουµε την επίδοση κάθε ΜΕ για το συγκεκριµένο πρόγραµµα, υπολογίζοντας το µέσο ρυθµό εκτέλεσης εντολών γι αυτό το πρόγραµµα. Για το σκοπό αυτό, θα µελετήσουµε πρώτα τα αρχιτεκτονικά χαρακτηριστικά που µας δίνονται για τις τρεις διαφορετικές οργανώσεις ΜΕ, ώστε να υπολογίσουµε σε καθεµία το µέσο χρόνο εκτέλεσης κάθε κατηγορίας εντολών. Για ΜΕ απλού κύκλου µηχανής για κάθε κύκλο εντολής, ο κύκλος µηχανής πρέπει να περιλαµβάνει όλες τις λειτουργίες που απαιτεί η πιο πολύπλοκη εντολή, η οποία είναι η εντολή ανάγνωσης από τη µνήµη. Έτσι, το µήκος του κύκλου µηχανής θα βρίσκεται από το άθροισµα του χρόνου δύο προσπελάσεων µνήµης, του χρόνου δύο προσπελάσεων του φακέλου καταχωρητών, και του χρόνου εκτέλεσης µιας πράξης ΑΛΜ. Ο µέσος χρόνος εκτέλεσης µιας εντολής Τ α οποιασδήποτε κατηγορίας θα είναι ίσος µε το χρόνο του κύκλου µηχανής. Άρα: Τ α = 2 2ns + 2 1ns + 2ns = 8ns Για ΜΕ πολλαπλών κύκλων µηχανής για κάθε κύκλο εντολής, ο κύκλος µηχανής έχει µήκος το χρόνο της µέγιστης µικρολειτουργίας της ΜΕ. Αυτός είναι ο χρόνος των 2ns µιας προσπέλασης µνήµης ή εκτέλεσης µιας πράξης ΑΛΜ. Η πιο πολύπλοκη εντολή στη ΜΕ αυτή, η εντολή τύπου load, χρειάζεται πέντε κύκλους µηχανής. Η εντολή τύπου store χρειάζεται τέσσερις κύκλους µηχανής, όσους και η εντολή ΑΛΜ. Άλµατα µε συνθήκη (branch) και άλµατα χωρίς συνθήκη (jump) χρειάζονται τρεις κύκλους µηχανής. Άρα: Τ π (load) = 5 2ns = 10ns T π (store) = T π (ΑΛΜ) = 4 2ns = 8ns T π (branch) = T π (jump) = 3 2ns = 6ns Στη ΜΕ µερικά επικαλυπτόµενων εντολών ο κύκλος µηχανής είναι ο ίδιος µε την προηγού- µενη περίπτωση. Τώρα ο µέσος χρόνος εκτέλεσης για µια εντολή εκφράζεται ως το διάστηµα από την ολοκλήρωση της προηγούµενης µέχρι την ολοκλήρωση αυτής της εντολής. εδοµένων των ειδικών χαρακτηριστικών αυτής της οργάνωσης ΜΕ που µας δόθηκαν, θα βρούµε πόσο επιβαρύνονται οι εντολές κάθε κατηγορίας από κινδύνους, δηλαδή πόσο µεγαλύτερος είναι ο ζητούµενος χρόνος από έναν κύκλο µηχανής, που είναι ο ιδανικός χρόνος µεταξύ ο- λοκλήρωσης διαδοχικών εντολών.

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

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

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 8 ο Μερική Επικάλυψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 8 ο Μερική Επικάλυψη Κίνδυνοι στη Μερική Επικάλυψη Αδυναμία ιδανικής εκτέλεσης με μερική επικάλυψη Εξαρτήσεις μεταξύ εντολών Ανάγκη εκτέλεσης λειτουργιών σε συγκεκριμένη σειρά

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 9 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 9 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Εξαρτήσεις Εντολών Κίνδυνοι Κίνδυνοι από δοµικές εξαρτήσεις n Εξαρτήσεις υλικού Κίνδυνοι από εξαρτήσεις

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Αρχιτεκτονική Υπολογιστών Εργασία Εξαµήνου: Προσοµοίωση ARM σε επίπεδο VHDL/Verilog 1. Μελέτη συνόλου εντολών και αρχιτεκτονικής ARM

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 1: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής, στον οποίο ένα πρόγραµµα ολοκληρώνει την εκτέλεσή

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τμήμα Πληροφορικής Άσκηση 6: Ασκήσεις Χειμερινού Εξαμήνου 2017-2018 (μέρος Β ) Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 11 (εργαστηριακή): Ασκήσεις Εξαμήνου Μέρος Γ Δεκέμβριος 2016 Γράψτε ένα πρόγραμμα προσομοίωσης

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου

Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής. Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 3 ο ΜΕΔ απλού κύκλου Γιώργος Δημητρίου Μάθημα 3 ο ΜΕΔ απλού κύκλου Συνολική Δομή ΚΜΕ Μία ή περισσότερες μονάδες αριθμητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος καταχωρητών γενικού σκοπού Κρυφή μνήμη (ενοποιημένη ή

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Υπολογιστών Άσκηση 6: Ασκήσεις Εξαμήνου Μέρος Β Νοέμβριος 2016 Στην άσκηση αυτή θα μελετήσουμε την εκτέλεση ενός

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 3 η : Μερική Επικάλυψη Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση Πρόβλεψη διακλαδώσεων Μερική επικάλυψη σε μονάδες εκτέλεσης

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 6 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Μικροπρογραµµατισµένη Λογική Καλωδιωµένη λογική για πραγµατικές αρχιτεκτονικές: nπάνωαπό 100εντολέςµηχανής

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 7η: Ιεραρχία Μνήµης Άσκηση 1: Έστω ότι στην εκτέλεση ενός προγράµµατος έχουµε διαδοχικές προσπελάσεις των παρακάτω διευθύνσεων µνήµης: 1: 0x48c01010 7:

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ 14 Μαΐου 2013 Τρίτη Σειρά Ασκήσεων παράδοση 3 ασκήσεων: 30 Μαΐου, των υπολοίπων: 27 Ιουνίου Άσκηση 1 Θεωρήστε τη ΜΕ µερικά

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 4 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 4 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Συνολική οµή ΚΜΕ Μία ή περισσότερες µονάδες αριθµητικών και λογικών πράξεων Μονάδα ολίσθησης Φάκελος

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Άσκηση 7: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής MIPS αρχιτεκτονικής VLIW, ο οποίος στη λέξη εντολής του κωδικοποιεί πέντε απλές

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 2η: Μονάδα Ελέγχου Απλού Κύκλου Μηχανής Άσκηση 1: Θεωρήστε τη µονάδα επεξεργασίας δεδοµένων της απλοποιηµένης αρχιτεκτονικής MIPS, στην οποία κάθε εντολή

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

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

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

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

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

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

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

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

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

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

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

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

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

2 η Ενδιάμεση Εξέταση Λύσεις/Απαντήσεις

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 5 η : Δυναμική Δρομολόγηση Εντολών (Διακλαδώσεις, Υποθετική & Υπερβαθμωτή Εκτέλεση) Πέρα από την Εκτέλεση Εκτός Σειράς Δυναμική πρόβλεψη διακλαδώσεων Ιστορία διακλάδωσης Πρόβλεψη

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής 29 Δεκεμβρίου 2016 Δεύτερη Σειρά Ασκήσεων παράδοση: τέλος εξεταστικής Ιανουαρίου ή Σεπτεμβρίου Άσκηση 1 Θεωρήστε τη ΜΕΔ MIPS μερικά επικαλυπτόμενων εντολών που

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

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 9 η : Θέματα Δρομολόγησης Εντολών ILP Παραλληλισμός επιπέδου εντολής Εξαρτήσεις δεδομένων Εξαρτήσεις ελέγχου (διαδικασιακές) Με διαθέσιμους πόρους, οι εντολές μπορούν να εκτελεστούν

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

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ

2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος , 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ Ε Ρ Γ Α Σ Τ ΗΡ ΙΟ Υ ΠΟΛΟΓΙΣ Τ Ι Κ Ω Ν Σ Υ Σ Τ ΗΜΑΤΩΝ w w w. c s l ab.

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

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν

Επαναληπτικές δοµές. µτ α.τ. Όχι. ! απαγορεύεται µέσα σε µία ΓΙΑ να µεταβάλλουµε τον µετρητή! διότι δεν θα ξέρουµε µετά πόσες επαναλήψεις θα γίνουν Επαναληπτικές δοµές Η λογική των επαναληπτικών διαδικασιών εφαρµόζεται όπου µία ακολουθία εντολών εφαρµόζεται σε ένα σύνολο περιπτώσεων που έχουν κάτι κοινό. Όταν ψάχνουµε θέση για να παρκάρουµε κοντά

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

Σηµειώσεις στις σειρές

Σηµειώσεις στις σειρές . ΟΡΙΣΜΟΙ - ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ Σηµειώσεις στις σειρές Στην Ενότητα αυτή παρουσιάζουµε τις βασικές-απαραίτητες έννοιες για την µελέτη των σειρών πραγµατικών αριθµών και των εφαρµογών τους. Έτσι, δίνονται συστηµατικά

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

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

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

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

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

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

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

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

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

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μια Ανασκόπηση στην Οργάνωση Η/Υ Οργάνωση ενός Κλασικού Η/Υ Eπεξεργαστής Βοηθητική Μνήμη Οθόνη Πληκτρολόγιο Προσαρμογέας Δικτύου ΚΜΕ ΜΔΜ Κύρια Μνήμη Ελεγκτής Ελεγκτής Ελεγκτής Ελεγκτής

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Μάθημα 2 ο Σύνολα Εντολών Οι εντολές που εκτελεί ο κάθε επεξεργαστής (ή οικογένεια επεξεργαστών) MIPS ARM SPARC PowerPC IA-32 Αρχιτεκτονικές συνόλου εντολών Βασικές Έννοιες Εντολές μηχανής

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

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4. Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή Time 6 PM 7 8 9 10 11 12 1 2 AM 1. Πλυντήριο 2. Στεγνωτήριο 3. ίπλωµα 4. αποθήκευση Task order A B C D Σειριακή προσέγγιση για 4 φορτία =8h 30 min κάθε «φάση»

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

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει.

< 1 για κάθε k N, τότε η σειρά a k συγκλίνει. +, τότε η η σειρά a k αποκλίνει. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο 3: Σειρές πραγµατικών αριθµών Α Οµάδα. Εστω ( ) µια ακολουθία πραγµατικών αριθµών. Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς (αιτιολογήστε

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 7 η : Στατική Δρομολόγηση Εντολών (Επεξεργαστές VLIW) Εκμετάλλευση ILP Περιορισμοί στη δυναμική δρομολόγηση εντολών: Μέγεθος παραθύρου εντολών Αριθμός φυσικών καταχωρητών Αποτυχία

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

Διάλεξη 11 Προώθηση (Forwarding)

Διάλεξη 11 Προώθηση (Forwarding) ΗΥ 3 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Προώθηση (Forwarding) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων (HY3) Η μέχρι τώρα μικρο-αρχιτεκτονική του MIPS ID/EX PCSrc Control WB

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

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης

5.1 Εισαγωγή. Μια προεπισκόπηση της υλοποίησης 1 5.1 Εισαγωγή Η απόδοση µιας αρχιτεκτονικής καθορίζεται µε βάση τρεις παράγοντες: τον αριθµό εκτελού- µενων εντολών, το χρόνο κύκλου µηχανής, και τον αριθµό κύκλων ανά εντολή (CPI). Ο µεταγλωττιστής και

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Γιώργος Δημητρίου Μάθημα 4 ο ΜΕΔ πολλαπλών κύκλων Εντολή Απλού Κύκλου Μηχανής Όλες οι φάσεις του κύκλου εντολής στον ίδιο κύκλο μηχανής: Ο χρόνος από την ανάκληση μέχρι την ολοκλήρωση της εκτέλεσης (με

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

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

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

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

Παραλληλισµός Εντολών (Pipelining)

Παραλληλισµός Εντολών (Pipelining) ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Παραλληλισµός Εντολών (Pipelining) Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapter 3: Section 3.4,

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

Άσκηση IF ID EX MEM WB α. 300ps 400ps 350ps 500ps 100ps β. 200ps 150ps 120ps 190ps 140ps

Άσκηση IF ID EX MEM WB α. 300ps 400ps 350ps 500ps 100ps β. 200ps 150ps 120ps 190ps 140ps Άσκηση 4.12 Στην άσκηση αυτή, εξετάζουµε την επίδραση της διοχέτευσης στο χρόνο κύκλου ρολογιού του επεξεργαστή. Τα προβλήµατα αυτής της άσκησης θεωρούν ότι τα µεµονωµένα στάδια της διαδροµής δεδοµένων

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Εισαγωγή Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Σκοπός του εργαστηρίου είναι να κατανοήσουµε τους τρόπους προσπέλασης της µνήµης (µέθοδοι διευθυνσιοδότησης) σε ένα υπολογιστικό σύστηµα. Η Μνήµη 1 Ψηφιακή Λογική 4

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

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

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

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Ενότητα 5η: Μονάδα Ελέγχου Πολλαπλών Κύκλων Μηχανής Άσκηση 1: Θεωρήστε τη Μονάδα Επεξεργασίας εδοµένων της απλοποιηµένης

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

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Αρχιτεκτονική Η/Υ. Γιώργος ηµητρίου. Μια Ανασκόπηση στην Οργάνωση Η/Υ. Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Αρχιτεκτονική Η/Υ Γιώργος ηµητρίου Μια Ανασκόπηση στην Οργάνωση Η/Υ Πανεπιστήµιο Θεσσαλίας - Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Οργάνωση ενός Κλασικού Η/Υ Eπεξεργαστής ΚΜΕ Κρυφή Μνήµη

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

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση: ΘΕΜΑ Α Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι σωστή, ή τη λέξη Λάθος, αν είναι λανθασμένη. 1. Η ταξινόμηση είναι μια από τις βασικές

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές»

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Το σύνολο των πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας) α)

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

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

Στο σχήμα 4.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί κάθε μια από τις κάτωθι εντολές σε όσους κύκλους απαιτείται. 1 Ασκήσεις Αρχιτεκτονικής Υπολογιστών, Δημήτρης Νικολός, Απρίλης 2011 Άσκηση 4. Στο σχήμα 4.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί κάθε μια από τις κάτωθι εντολές

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

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

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

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

Θέµατα Φεβρουαρίου

Θέµατα Φεβρουαρίου Θέµατα Φεβρουαρίου 2-2 cslab@ntua 2- Θέµα ο (3%): Έστω η παρακάτω ακολουθία εντολών που χρησιµοποιείται για την αντιγραφ από µια θέση µνµης σε µια άλλη (memory-to-memory copy): lw $2, ($) sw $2, 2($) i)

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Ενότητα 3η: Μονάδα Ελέγχου Πολλαπλών Κύκλων Μηχανής Άσκηση 1: Θεωρήστε τη Μονάδα Επεξεργασίας Δεδομένων της απλοποιημένης αρχιτεκτονικής MIPS, στην οποία κάθε

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

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου Ασκήσεις Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bit και υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 2 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 2 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Αναπαράσταση Πληροφορίας Η/Υ Αριθµητικά δεδοµένα n Σταθερής υποδιαστολής n Κινητής υποδιαστολής Μη αριθµητικά

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

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις Αρης Ευθυμίου Κόστος διακλαδώσεων Οι διακλαδώσεις έχουν σχετικά μεγάλο κόστος χρόνου Τουλάχιστον ένας κύκλος

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή (συνέχεια) Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο (4 η έκδοση), μετάφραση:

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

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

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Γιώργος Δημητρίου Μάθημα 11 ο Γεννήτορας Τελικού Κώδικα Ο γεννήτορας τελικού κώδικα είναι το πιο κρίσιμο τμήμα του μεταγλωττιστή και αντιμετωπίζει πολύπλοκα προβλήματα Βέλτιστη χρήση της αρχιτεκτονικής

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Τέταρτη Σειρά Ασκήσεων (Εργαστηριακές Ασκήσεις) παράδοση στο τέλος του εξαµήνου Άσκηση 1 Θεωρήστε την αναπαράσταση ΙΕΕΕ

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

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

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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

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

Αρχιτεκτονική Υπολογιστών Γιώργος Δημητρίου Ενότητα 8 η : Στατική Δρομολόγηση Εντολών (Παράλληλοι Βρόχοι & Βεβαιωμένη Εκτέλεση) Παράλληλοι Βρόχοι Εξαρτήσεις εντολών & επαναλήψεων βρόχου: for (i=1; i

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

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

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Τρίτη (3 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 2 Εντολές : Η γλώσσα του υπολογιστή Τρίτη (3 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το πρωτότυπο αγγλικό βιβλίο

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

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

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

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

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3

ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ. Λυσεις Ασκησεων - Φυλλαδιο 3 ΘΕΩΡΙΑ ΑΡΙΘΜΩΝ Τµηµα Β Λυσεις Ασκησεων - Φυλλαδιο 3 ιδασκων: Α. Μπεληγιάννης Ιστοσελιδα Μαθηµατος : http://users.uoi.gr/abeligia/numbertheory/nt2016/nt2016.html Πέµπτη 3 Νοεµβρίου 2016 Ασκηση 1. Αφού ϐρείτε

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

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

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

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

Θέματα Μεταγλωττιστών

Θέματα Μεταγλωττιστών Γιώργος Δημητρίου Ενότητα 10 η : Βελτιστοποιήσεις Τοπικότητας και Παραλληλισμού: Εξαρτήσεις και Μετασχηματισμοί Βρόχων Επεξεργασία Πινάκων Παραλληλισμός επιπέδου βρόχου Λόγω παραλληλισμού δεδομένων Επιτυγχάνεται

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

Πρακτική µε στοιχεία στατιστικής ανάλυσης

Πρακτική µε στοιχεία στατιστικής ανάλυσης Πρακτική µε στοιχεία στατιστικής ανάλυσης 1. Για να υπολογίσουµε µια ποσότητα q = x 2 y xy 2, µετρήσαµε τα µεγέθη x και y και βρήκαµε x = 3.0 ± 0.1και y = 2.0 ± 0.1. Να βρεθεί η ποσότητα q και η αβεβαιότητά

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

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

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

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

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Φθινόπωρο 2013 εύτερη Σειρά Ασκήσεων Άσκηση 1 Α. Θεωρήστε µια ΜΕ MIPS απλού κύκλου µηχανής ανά κύκλο εντολής, στην οποία

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

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

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

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

Διοχέτευση (Pipeline)

Διοχέτευση (Pipeline) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη Διοχέτευση (ipeline) Νίκος Μπέλλας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Θέματα Απόδοσης Αν και απλή, η υλοποίηση ενός κύκλου ρολογιού είναι

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

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

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 2.4.5 8.2 Δομή Επανάληψης Δομές Επανάληψης Οι δομές επανάληψης χρησιμοποιούνται στις περιπτώσεις όπου μια συγκεκριμένη ακολουθία εντολών πρέπει να εκτελεστεί

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό.

Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» (ε) Κάθε συγκλίνουσα ακολουθία άρρητων αριθµών συγκλίνει σε άρρητο αριθµό. Ασκήσεις για το µάθηµα «Ανάλυση Ι και Εφαρµογές» Κεφάλαιο : Ακολουθίες πραγµατικών αριθµών Α Οµάδα Εξετάστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς αιτιολογήστε πλήρως την απάντησή σας α Κάθε

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

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy Chapter 5 Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου Ενδέκατη (11 η ) δίωρη διάλεξη. Διαφάνειες διδασκαλίας από το

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

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

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

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