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

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

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

Transcript

1 Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Άσκηση 7: Λυµένες Ασκήσεις Έστω ένας επεξεργαστής MIPS αρχιτεκτονικής VLIW, ο οποίος στη λέξη εντολής του κωδικοποιεί πέντε απλές εντολές MIPS, ως εξής: δύο εντολές προσπέλασης µνήµης, δύο εντολές κινητής υποδιαστολής, και µία εντολή σταθερής υποδιαστολής χωρίς προσπέλαση µνήµης. Για την εκτέλεση των εντολών VLIW, η ΜΕ του επεξεργαστή αυτού περιλαµβάνει δύο υποµονάδες υπολογισµού τελικής διεύθυνσης προσπέλασης µνήµης, δύο υποµονάδες πρόσθεσης/αφαίρεσης/ πολλαπλασιασµού κινητής υποδιαστολής, µία υποµονάδα λοιπών ακέραιων λογικών/αριθµητικών πράξεων, καθώς και µία κρυφή µνήµη δεδοµένων, δύο προσπελάσεων ανά κύκλο µηχανής, που σε επιτυχία ολοκληρώνονται σε έναν κύκλο µετά τον υπολογισµό της τελικής διεύθυνσης προσπέλασης. Ο υπολογισµός της τελικής διεύθυνσης προσπέλασης για εντολές προσπέλασης µνήµης, καθώς και όλες οι υπόλοιπες ακέραιες πράξεις απαιτούν έναν κύκλο µηχανής για την εκτέλεσή τους, ενώ οι υποµονάδες κινητής υποδιαστολής εκτελούν πρόσθεση/αφαίρεση σε δύο και πολλαπλασιασµό σε τέσσερις κύκλους µηχανής µε µερική επικάλυψη διαδοχικών πράξεων. Η ΜΕ του επεξεργαστή περιλαµβάνει τέλος και ένα φάκελο µε 32 καταχωρητές σταθερής και 32 καταχωρητές κινητής υποδιαστολής, µε όσες θύρες ανάγνωσης/εγγραφής απαιτούνται για εξυπηρέτηση µιας εντολής VLIW ανά κύκλο µηχανής. Αν ο παραπάνω επεξεργαστής, ακολουθώντας την αρχιτεκτονική VLIW, δεν ανιχνεύει εξαρτήσεις από δεδοµένα µεταξύ των επιµέρους εντολών MIPS της κάθε εντολής VLIW που εκτελεί, δώστε µια κωδικοποίηση εντολών VLIW για τον πιο κάτω βρόχο απλών εντολών MIPS, έτσι ώστε η δροµολόγηση των εντολών VLIW να γίνεται στον ελάχιστο χρόνο χωρίς κανένα χαµένο κύκλο µηχανής: loop: ldc1 $f0,0($1) (S1) ldc1 $f1,0($2) add.d $f2,$f0,$f1 (S3) mul.d $f2,$f2,$f0 (S4) sub.d $f3,$f2,$f4 () sdc1 $f3,0($3) (S6) addiu $1,$1,8 (S7) addiu $2,$2,8 (S8) addiu $3,$3,8 (S9) bne $1,$4,loop (S10) ξεδιπλώνοντας το βρόχο όσες φορές κρίνετε απαραίτητο. Βρείτε το µέσο ρυθµό ολοκλήρωσης των επαναλήψεων του αρχικού βρόχου στον παραπάνω επεξεργαστή, και συγκρίνετε µε το µέσο ρυθµό ολοκλήρωσης επαναλήψεων του βρόχου σε ένα βαθµωτό επεξεργαστή MIPS µε στατική δροµολόγηση εντολών. Ποιο είναι το ποσοστό πλήρωσης θέσεων στις εντολές VLIW που δώσατε; Στη συνέχεια προσπαθήστε να βρείτε µια νέα κωδικοποίηση εντολών VLIW για τον πιο πάνω βρόχο, έτσι ώστε να επιτυγχάνετε και τη µεγαλύτερη δυνατή πλήρωση θέσεων στις εντολές VLIW. Βρείτε ένα άνω φράγµα στο ποσοστό πλήρωσης και εξηγήστε πώς µπορείτε να το επιτύχετε. Ξεδιπλώστε το βρόχο όσο χρειάζεται, θεωρώντας ότι ο φάκελος καταχωρητών διαθέτει απεριόριστους καταχωρητές. Ποιος είναι ο ρυθµός ολοκλήρωσης των επαναλήψεων του αρχικού βρόχου στην περίπτωση αυτή; Και για τις δύο πιο πάνω περιπτώσεις υποθέστε επιτυχηµένη πρόβλεψη διακλαδώσεων µε εκτέλεση χωρίς καθυστέρηση.

2 2 Απάντηση Ξεκινώντας από τον κώδικα MIPS που µας δίνεται, θα δηµιουργήσουµε VLIW εντολές, τοποθετώντας εντολές MIPS στις θέσεις που αντιστοιχούν στις επιµέρους εντολές των VLIW εντολών, έτσι ώστε να µην παραβιάζονται οι εξαρτήσεις που υπάρχουν στον αρχικό κώδικα. Ειδικότερα, επειδή ο επεξεργαστής µας δεν εξετάζει εξαρτήσεις από δεδοµένα µεταξύ των επιµέρους εντολών MIPS µιας VLIW εντολής, θα πρέπει να είµαστε προσεκτικοί στην κωδικοποίηση των εντολών VLIW και να µην τοποθετούµε σε αυτές εντολές MIPS που εµφανίζουν µεταξύ τους εξαρτήσεις τύπου ΑΜΕ, ή να µετονοµάζουµε τους καταχωρητές που ε- µπλέκονται σε εξαρτήσεις, αν αυτές είναι τύπου ΕΜΑ και ΕΜΕ. Όσο αφορά κινδύνους από εξαρτήσεις δεδοµένων µεταξύ διαφορετικών εντολών VLIW, υ- ποθέτουµε ότι η ΜΕ διαθέτει µηχανισµό ανίχνευσης εξαρτήσεων τύπου ΑΜΕ, και κατ ε- πέκταση και µηχανισµό παροχέτευσης για όλες τις υποµονάδες εκτέλεσης. Με το µηχανισµό παροχέτευσης, κάθε εντολή MIPS µπορεί να ξεκινήσει την εκτέλεσή της τουλάχιστον τόσους κύκλους αργότερα από µια εντολή από την οποία έχει εξάρτηση δεδοµένων, όσους απαιτεί η δεύτερη για την εκτέλεσή της. Ειδικότερα, µια εντολή αποθήκευσης µπορεί να ξεκινήσει έναν κύκλο µηχανής νωρίτερα από τον κύκλο στον οποίο παράγεται το δεδοµένο που αποθηκεύει, επειδή ο µηχανισµός παροχέτευσης στέλνει το δεδοµένο αυτό κατ ευθείαν στη µονάδα προσπέλασης µνήµης, και όχι στην υποµονάδα υπολογισµού τελικής διεύθυνσης προσπέλασης. Εφ όσον η δροµολόγηση των εντολών είναι στατική, αν µια εντολή MIPS βρίσκεται σε µικρότερη απόσταση εντολών VLIW από την εντολή από την οποία αυτή εξαρτάται, η ΜΕ του επεξεργαστή παγώνει όσο χρόνο είναι απαραίτητο, ώστε να συµπληρωθεί ο αριθµός κύκλων που πρέπει να µεσολαβήσει µεταξύ των δύο εντολών. Για να µην έχουµε απώλεια χρόνου στη δροµολόγηση κάποιου κώδικα, δε θα πρέπει εποµένως να τοποθετούµε εντολές MIPS που εµφανίζουν εξαρτήσεις τύπου ΑΜΕ σε εντολές VLIW, µε τρόπο που να δηµιουργείται πάγωµα στη ΜΕ κατά τη δροµολόγησή τους. ε θα πρέπει όµως να τοποθετούµε τέτοιες εντολές ούτε σε εντολές VLIW που βρίσκονται σε απόσταση µεγαλύτερη από τον ελάχιστο αριθµό κύκλων, αν αυτό επιµηκύνει το χρόνο δροµολόγησης του κώδικα. Για απλούστευση θα αγνοήσουµε τις δοµικές εξαρτήσεις στην εγγραφή του φακέλου καταχωρητών από εντολές κινητής υποδιαστολής που έχουν διαφορετικούς χρόνους εκτέλεσης. Έτσι, θα υποθέσουµε ότι δύο εντολές που ολοκληρώνουν την εκτέλεσή τους στον ίδιο κύκλο και προέρχονται από την ίδια θέση της εντολής VLIW, έχοντας όµως ξεκινήσει από διαφορετικές εντολές VLIW, µπορούν να γράψουν το αποτέλεσµά τους ταυτόχρονα στο φάκελο καταχωρητών. Θα πρέπει όµως να προσέχουµε για εξαρτήσεις τύπου ΕΜΕ που θα µπορούσαν να εµφανιστούν λόγω των διαφορετικών χρόνων εκτέλεσης των εντολών κινητής υποδιαστολής, και να µην κατασκευάζουµε εντολές VLIW µε κινδύνους από τέτοιες εξαρτήσεις. Για να βρούµε µια κωδικοποίηση του δεδοµένου βρόχου σε εντολές VLIW που να οδηγεί σε εκτέλεση χωρίς απώλεια κύκλων µηχανής, θα πρέπει (α) να εξασφαλίσουµε ότι η κωδικοποίηση δε θα οδηγήσει σε πάγωµα της ΜΕ για αντιµετώπιση εξαρτήσεων από δεδοµένα τύπου ΑΜΕ, αλλά ούτε και σε καθυστέρηση στη δροµολόγηση των επιµέρους εντολών, και (β) να ξεδιπλώσουµε το βρόχο όσο χρειάζεται, ώστε να έχουµε διαθέσιµες τις εντολές MIPS που χρειαζόµαστε για την κωδικοποίηση των εντολών VLIW. Έτσι, για να επιτύχουµε τον πρώτο στόχο, θα πρέπει να ξεκινήσουµε µε εντολές VLIW, που αν περιέχουν επιµέρους εντολές MIPS µε κινδύνους από εξαρτήσεις τύπου ΑΜΕ, να βρίσκονται σε ικανή απόσταση µεταξύ τους, σύµφωνα µε όσα αναφέραµε πιο πάνω. Επιτρέποντας κατ αρχήν κενές εντολές VLIW, τις οποίες θα συµπληρώσουµε αργότερα προς επίτευξη του δεύτερου στόχου, σχηµατίζουµε την ακόλουθη διάταξη εντολών VLIW: VLIWloop: S1 S2 S3 S4

3 3 S6 S7 S8 S9 S10 όπου κάθε γραµµή αντιστοιχεί σε µία εντολή VLIW, µε τις επιµέρους εντολές MIPS να δίνονται µε το συµβολικό όνοµα που έχουν στην εκφώνηση, και να καταλαµβάνουν θέσεις ως εξής: εντολές προσπέλασης µνήµης στις δύο πρώτες στήλες, εντολές κινητής υποδιαστολής στις δύο επόµενες στήλες και εντολές διακλάδωσης και λοιπών αριθµητικών/λογικών πράξεων στην τελευταία στήλη. Παρατηρούµε ότι σε δύο περιπτώσεις, εντολές MIPS που είναι ανεξάρτητες µεταξύ τους τοποθετήθηκαν στην ίδια εντολή VLIW. Από την άλλη µεριά, εντολές MIPS που εµφανίζουν εξαρτήσεις από δεδοµένα τύπου ΑΜΕ τοποθετήθηκαν σε κατάλληλη απόσταση µεταξύ τους. Για παράδειγµα, οι εντολές MIPS S3 και S4 έχουν µια κενή εντολή VLIW µεταξύ τους, εφ όσον η δεύτερη µπορεί να ξεκινήσει την εκτέλεσή της δύο κύκλους µηχανής µετά την πρώτη, και όχι νωρίτερα. Αν δεν υπήρχε η εντολή VLIW µεταξύ των S3 και S4, δε θα είχαµε λανθασµένο κώδικα, αλλά η δροµολόγηση των εντολών στον επεξεργαστή θα δηµιουργούσε πάγω- µα στη ΜΕ, µε αποτέλεσµα την απώλεια ενός κύκλου µηχανής, που για µεγάλο αριθµό επαναλήψεων του βρόχου γίνεται πολύ σηµαντικός! Για να ολοκληρώσουµε τον πρώτο στόχο, θα πρέπει να προσπαθήσουµε να συµπτύξουµε τον κώδικα, ώστε να πάρουµε τον ελάχιστο χρόνο δροµολόγησης κάθε επανάληψης του βρόχου. Ο χρόνος αυτός ταυτίζεται µε το χρόνο που απαιτείται για την εκτέλεση µιας επανάληψης, και καθορίζεται από τις εξαρτήσεις από δεδοµένα τύπου ΑΜΕ που υπάρχουν στο σώµα του βρόχου. Τέτοιες εξαρτήσεις είναι οι εξαρτήσεις από τις εντολές S1 και S2 προς την S3, από τις S1 και S3 προς την S4, από την S4 προς την, από την προς την S6, καθώς και από την S7 προς την S10. Από αυτές, η τελευταία δε σχετίζεται µε τις προηγούµενες. Έτσι, οι υ- πόλοιπες εξαρτήσεις δηµιουργούν την αλυσίδα εντολών S1-S3-S4--S6 που δροµολογείται σειριακά, δίνοντας τον ελάχιστο χρόνο των 10 κύκλων µηχανής για κάθε επανάληψη του βρόχου. Οι εντολές S7, S8 και S9 µπορούν να τοποθετηθούν πριν από την εντολή S6, προσέχοντας τις εξαρτήσεις τύπου ΕΜΑ στους καταχωρητές $1, $2 και $3, οι κίνδυνοι από τις ο- ποίες αποφεύγονται µε αλλαγή στη µετατόπιση των εντολών προσπέλασης µνήµης, όπου αυτό χρειάζεται. Φυσικά η εντολή διακλάδωσης S10 θα πρέπει να βρίσκεται πάντα στο τέλος του βρόχου, αλλά µπορεί να βρίσκεται στην ίδια εντολή VLIW µε την S6. Σύµφωνα µε τα παραπάνω, λαµβάνουµε τον εξής νέο κώδικα VLIW: VLIWloop: S1(0) S2(0) S3 S6(-8) S4 S7 S8 S9 S10 όπου σε παρένθεση δείχνουµε τις µετατοπίσεις στις αντίστοιχες εντολές προσπέλασης µνή- µης. Οι εντολές S7, S8 και S9 θα µπορούσαν να τοποθετηθούν οπουδήποτε στην τελευταία στήλη, εκτός από την τελευταία γραµµή, και επιλέξαµε γραµµές που πριν ήταν κενές. Παρατηρούµε ότι µε τη νέα κωδικοποίηση παραµένουν δύο µόνο κενές εντολές VLIW.

4 4 Στη συνέχεια, για να επιτύχουµε το δεύτερο στόχο, δηλαδή την πλήρωση µε τουλάχιστον µια εντολή MIPS όλων των εντολών VLIW, εφαρµόζουµε ξεδίπλωµα στον αρχικό βρόχο, και τοποθετούµε στις πιο πάνω εντολές VLIW τις εντολές MIPS που αντιστοιχούν στη δεύτερη επανάληψη του βρόχου. Επειδή η πρώτη εντολή VLIW δε διαθέτει χώρο για άλλες δύο εντολές φόρτωσης, οι δύο νέες εντολές φόρτωσης θα τοποθετηθούν αναγκαστικά στη δεύτερη εντολή VLIW, κι εποµένως όλος ο κώδικας VLIW θα επιµηκυνθεί κατά µία εντολή: VLIWloop: S1(0) S2(0) S1(8) S2(8) S6(-16) S6(-8) S3 S3 S4 S4 S7 S8 S9 S10 Προφανώς οι εντολές S7, S8, S9 θα πρέπει τώρα να µεταβάλλουν τα τελούµενά τους κατά το διπλάσιο της προηγούµενης µεταβολής, δηλαδή κατά 16. Η εντολή S10 παραµένει στο τέλος του βρόχου. Επίσης, οι εντολές της δεύτερης επανάληψης θα πρέπει να χρησιµοποιούν διαφορετικούς καταχωρητές κινητής υποδιαστολής από τις εντολές της πρώτης επανάληψης, ώστε να αποφεύγονται παραβιάσεις των εξαρτήσεων τύπου ΕΜΑ και ΕΜΕ που εµφανίζονται σαν αποτέλεσµα του ξεδιπλώµατος. Αυτό είναι εφικτό, αφού κάθε επανάληψη χρησιµοποιεί µόνο τέσσερις καταχωρητές κινητής υποδιαστολής, µε τον $f4 να είναι κοινός για όλες τις επαναλήψεις, και η αρχιτεκτονική µας διαθέτει 32 καταχωρητές κινητής υποδιαστολής. Τώρα δεν έχουµε καµία κενή εντολή VLIW στον κώδικά µας, αλλά έχουµε πολύ χαµηλό ποσοστό πλήρωσης θέσεων, όπως θα δούµε πιο κάτω. Ο κώδικας VLIW που βρήκαµε οδηγεί σε δροµολόγηση δύο επαναλήψεων του αρχικού βρόχου σε χρόνο 11 κύκλων µηχανής, απαιτεί δηλαδή κατά µέσο όρο 5,5 κύκλους µηχανής ανά επανάληψη. Αν είχαµε ένα βαθµωτό επεξεργαστή MIPS µε στατική δροµολόγηση εντολών, θα απαιτούνταν 15 κύκλοι µηχανής ανά επανάληψη, χρόνος που προκύπτει από την αρχική σειρά των εντολών και τον ελάχιστο αριθµό κύκλων µηχανής που µεσολαβούν µεταξύ εξαρτηµένων εντολών. Για τον υπολογισµό αυτό, λαµβάνουµε υπ όψη µόνο τη φάση εκτέλεσης των εντολών, µια που ζητάµε το ρυθµό ολοκλήρωσης επαναλήψεων, και όχι το συνολικό χρόνο για µια επανάληψη από την προσκόµιση της πρώτης µέχρι την ολοκλήρωση της τελευταίας εντολής. Αν λοιπόν η πρώτη εντολή εκτελείται στον πρώτο κύκλο µηχανής, ο χρόνος εκτέλεσης των εντολών µιας επανάληψης θα είναι: Εντολή: S1 S2 S3 S4 S6 S7 S8 S9 S10 Χρόνος: Αν όµως αναδιατάσσαµε τις εντολές σύµφωνα µε όσα αναφέραµε νωρίτερα, θα µπορούσαµε να µειώσουµε το χρόνο σε 12 κύκλους: Εντολή: S1 S2 S3 S4 S7 S8 S9 S6 S10 Χρόνος: Τώρα, οι εντολές S7, S8 και S9 δροµολογούνται κατά τη διάρκεια εκτέλεσης του πολλαπλασιασµού κινητής υποδιαστολής της εντολής S4.

5 5 Βλέπουµε λοιπόν ότι µε την κωδικοποίηση εντολών VLIW που δώσαµε, ο ρυθµός ολοκλήρωσης των επαναλήψεων του βρόχου υπερδιπλασιάστηκε. Θα µπορούσαµε όµως να πάρουµε και καλύτερο ρυθµό, δεδοµένου ότι ο βρόχος είναι παράλληλος, ενώ το ποσοστό πλήρωσης θέσεων των εντολών VLIW είναι 16 θέσεις στις 55, δηλαδή µόλις 29%, λίγο παραπάνω από το ελάχιστο ποσοστό 20% που αντιστοιχεί σε κώδικα µε µία ακριβώς συµπληρωµένη θέση για κάθε εντολή VLIW. Υψηλότερος ρυθµός ολοκλήρωσης επαναλήψεων επιτυγχάνεται µε περαιτέρω ξεδίπλωµα του βρόχου. Ένα άνω φράγµα στο ποσοστό πλήρωσης εντολών VLIW, αλλά και στο ρυθµό ολοκλήρωσης επαναλήψεων του αρχικού βρόχου, υπολογίζεται από το εύρος και τα πεδία της VLIW εντολής, σε συνδυασµό µε τον αριθµό εντολών του σώµατος, και αγνοώντας τις εντολές ελέγχου του βρόχου. Έτσι, µε δεδοµένο ότι τα πεδία της VLIW εντολής περιλαµβάνουν δύο επιµέρους εντολές προσπέλασης µνήµης, µπορούµε να έχουµε κωδικοποίηση µέχρι δύο επαναλήψεων ανά εντολή VLIW, αν το σώµα του βρόχου περιέχει µία εντολή προσπέλασης µνήµης, µέχρι µιας επανάληψης ανά εντολή VLIW, αν το σώµα του βρόχου περιέχει δύο εντολές προσπέλασης µνήµης, και γενικά µέχρι 2/Ν επαναλήψεις ανά εντολή VLIW, αν το σώµα του βρόχου περιέχει Ν εντολές προσπέλασης µνήµης. Το ίδιο άνω φράγµα στον αριθµό επαναλήψεων ανά εντολή VLIW υπολογίζεται και για εντολές κινητής υποδιαστολής, αφού τα πεδία της VLIW εντολής περιλαµβάνουν δύο τέτοιες επιµέρους εντολές. Όµως, αν το σώµα του βρόχου περιλαµβάνει και εντολές σταθερής υποδιαστολής εκτός προσπελάσεων µνήµης, τότε εφ όσον τα πεδία της VLIW εντολής περιλαµβάνουν µόνο µία τέτοια επιµέρους εντολή, το άνω φράγµα µειώνεται στο µισό από το προηγούµενο, δηλαδή 1/Ν επαναλήψεις ανά εντολή VLIW, για Ν εντολές σταθερής υποδιαστολής εκτός προσπελάσεων µνήµης στο σώµα του βρόχου. Στην περίπτωσή µας, το άνω φράγµα στον αριθµό επαναλήψεων που κωδικοποιούνται ανά εντολή VLIW υπολογίζεται στο 2/3, το οποίο σηµαίνει ότι µπορούµε να κωδικοποιήσουµε µέχρι δύο επαναλήψεις σε κάθε τρεις εντολές VLIW. Η τιµή αυτή προκύπτει τόσο από τις εντολές προσπέλασης µνήµης, όσο και από τις εντολές κινητής υποδιαστολής, που είναι τρεις στο σώµα του βρόχου και για τις δύο κατηγορίες. Εποµένως, για κ επαναλήψεις του αρχικού βρόχου, που αντιστοιχούν σε 6κ+4 εντολές MIPS, συµπεριλαµβανοµένων των τεσσάρων ε- ντολών ελέγχου του βρόχου που υπολογίζονται µία φορά, θέλουµε 1,5κ εντολές VLIW, που διαθέτουν 5* 1,5κ θέσεις επιµέρους εντολών MIPS. Το µέγιστο ποσοστό πλήρωσης θέσεων θα είναι (6κ+4)/(5* 1,5κ ), που φτάνει στο 93,33% για κ = 4. Για µεγαλύτερο αριθµό επαναλήψεων το ποσοστό µειώνεται προς το 80%, λόγω των κενών θέσεων που προκύπτουν για τις εντολές σταθερής υποδιαστολής. Για κ 2 ο αριθµός εντολών VLIW δεν είναι αρκετός για την τοποθέτηση των εντολών ελέγχου του βρόχου. Επειδή κάθε εντολή VLIW δροµολογείται σε έναν κύκλο µηχανής, το άνω φράγµα στον α- ριθµό επαναλήψεων ανά εντολή VLIW αντιστοιχεί σε άνω φράγµα στο ρυθµό ολοκλήρωσης επαναλήψεων ίσο µε δύο επαναλήψεις σε τρεις κύκλους µηχανής. Επίτευξη του άνω φράγµατος στο ποσοστό πλήρωσης θέσεων και ρυθµού ολοκλήρωσης επαναλήψεων µπορούµε να έχουµε, αν ο συνολικός αριθµός επαναλήψεων είναι αρκετά µεγάλος, ώστε τα κενά στη δροµολόγηση MIPS εντολών που οφείλονται στις εξαρτήσεις τύπου ΑΜΕ να περιορίζονται στις αρχικές επαναλήψεις. Βγάζοντας τις αρχικές επαναλήψεις έξω από το βρόχο, διατηρούµε µέσα σε αυτόν µόνο τον αριθµό επαναλήψεων που αντιστοιχεί στο άνω φράγµα, ενώ συµπληρώνουµε τον κώδικα µε εντολές που ολοκληρώνουν το συνολικό αριθµό επαναλήψεων του αρχικού βρόχου. Με τον τρόπο αυτό λαµβάνουµε ένα νέο βρόχο που υλοποιεί ουσιαστικά συνδυασµό πραγµατικού µε συµβολικό ξεδίπλωµα του αρχικού βρόχου. Για να τοποθετήσουµε τις εντολές MIPS στις VLIW εντολές µε τον βέλτιστο τρόπο, µπορού- µε να χρησιµοποιήσουµε την τεχνική που µάθαµε για βελτιστοποίηση στη µερική επικάλυψη µονάδων εκτέλεσης πράξεων. Έτσι, ξεκινώντας µε τις εντολές VLIW που είχαµε παραπάνω, εισάγουµε καθυστερήσεις στη δροµολόγηση εντολών MIPS, όταν αυτό γίνεται απαραίτητο, ώστε οι κενές θέσεις που δηµιουργούµε να καλύπτονται από άλλες εντολές MIPS επόµενων επαναλήψεων. Για παράδειγµα, η τοποθέτηση της εντολής S6 πρέπει να γίνεται 11 εντολές

6 6 VLIW µετά την πρώτη S1, και όχι 9 εντολές, όπως είχαµε πιο πάνω, ώστε να µεσολαβήσουν δύο εντολές VLIW, όπου θα τοποθετηθούν οι εντολές S1 και S2 επόµενων επαναλήψεων. Η διάταξη εντολών VLIW που προκύπτει, και η οποία δίνει δροµολόγηση εντολών και πλήρωση θέσεων στο άνω φράγµα, είναι η ακόλουθη: S1(0) S2(0) S1(8) S2(8) S3 S1(16) S2(16) S3 S1(24) S2(24) S4 S4 S3 S1(32) S2(32) S3 S1(40) S2(40) S4 S3 S4 VLIWloop: S1(48) S2(48) S3 S1(56) S2(56) S4 S6(0) S6(8) S4 S3 S7 S1(32) S2(64) S3 S8 S1(40) S2(40) S4 S9 S6(-16) S6(-8) S3 S4 S10 S3 S4 S6(0) S6(8) S4 S6(16) S6(24) S6(32) S6(40) Παρατηρούµε ότι στον παραπάνω κώδικα έχουν ξεκινήσει 6 επαναλήψεις του αρχικού βρόχου πριν την είσοδο στο βρόχο που σηµατοδοτείται µε την ετικέτα VLIWloop. Έτσι, ενώ ο βρόχος των έξι εντολών VLIW φαίνεται να περιέχει 4 επαναλήψεις του αρχικού βρόχου, στην πραγµατικότητα διαχειρίζεται 10 επαναλήψεις, µε 8 από αυτές να είναι ταυτόχρονα ε- νεργές! Έτσι, ο νέος βρόχος υλοποιεί πραγµατικό ξεδίπλωµα 4 επαναλήψεων του αρχικού βρόχου, και συµβολικό ξεδίπλωµα 2 φορές πάνω στο πραγµατικό. Μπορούµε να δούµε πώς το σώµα του νέου βρόχου περιέχει εντολές από 10 επαναλήψεις του αρχικού βρόχου, αν ση- µειώσουµε δίπλα σε κάθε εντολή πλην των τεσσάρων εντολών ελέγχου του βρόχου τον αριθµό αρχικής επανάληψης στον οποίο αντιστοιχεί, υποθέτοντας ότι η πρώτη αποθήκευση αναφέρεται στην επανάληψη i: S1(48) (i+6) S2(48) (i+6) S3 (i+5) (i) S1(56) (i+7) S2(56) (i+7) S4 (i+4) (i+1) S6(0) (i) S6(8) (i+1) S4 (i+5) S3 (i+6) S1(32) (i+8) S2(64) (i+8) (i+2) S3 (i+7) S1(40) (i+9) S2(40) (i+9) (i+3) S4 (i+6) S6(-16) (i+2) S6(-8) (i+3) S3 (i+8) S4 (i+7) Έτσι, στις 3 πρώτες εντολές ενεργές είναι οι επαναλήψεις i έως i+7, ενώ στις 3 τελευταίες εντολές ενεργές είναι οι επαναλήψεις i+2 έως i+9. Ένας τέτοιος βαθµός συνολικού ξεδιπλώµατος απαιτεί µεγάλο αριθµό καταχωρητών κινητής υποδιαστολής, όταν πρέπει να γίνει µετονοµασία για µη παραβίαση των εξαρτήσεων τύπου ΕΜΕ που υπάρχουν τόσο στον αρχικό, όσο και στον ξεδιπλωµένο κώδικα. Από την άλλη µεριά, δεν απαιτούνται περισσότεροι καταχωρητές σταθερής υποδιαστολής από όσους συναντάµε στον αρχικό κώδικα MIPS, όµως οι $1, $2 και $3 τώρα µεταβάλλονται κατά 32 µέσα στο βρόχο, γι αυτό και οι µετατοπίσεις των εντολών προσπέλασης µνήµης έχουν τροποποιη-

7 7 θεί κατάλληλα. Μέσα στο νέο βρόχο, το ποσοστό πλήρωσης θέσεων εντολών VLIW γίνεται ίσο µε το άνω φράγµα που βρήκαµε προηγουµένως για κ = 4. Ο ρυθµός ολοκλήρωσης επαναλήψεων του αρχικού βρόχου γίνεται ίσος µε τέσσερις επαναλήψεις κάθε έξι κύκλους µηχανής, ή 2/3, όπως και αναµέναµε. Ο παραπάνω κώδικας προϋποθέτει ένα συνολικό αριθµό επαναλήψεων της µορφής 6+4ρ, για ρ 1. Για την περίπτωση που ο συνολικός αριθµός επαναλήψεων του αρχικού βρόχου είναι µικρότερος από 10, ή όχι στη µορφή 6+4ρ, θα πρέπει να υπάρχει επιπλέον κώδικας, ο οποίος να υλοποιεί µεµονωµένες επαναλήψεις του αρχικού βρόχου, ώστε να συµπληρώνεται ο απαιτούµενος αριθµός επαναλήψεων. Πρέπει να παρατηρήσουµε ότι η επιλογή της τιµής του κ δεν γίνεται µε µόνο κριτήριο το άνω φράγµα στο ποσοστό πλήρωσης θέσεων εντολών VLIW. Ένας παράγοντας που πρέπει να λαµβάνουµε υπόψη είναι η µέγιστη απόσταση από την παραγωγή µιας τιµής µε την εγγραφή της σε κάποιον καταχωρητή, µέχρι τη χρήση της µε την ανάγνωσή της από τον ίδιο καταχωρητή. Ο χρόνος µιας επανάληψης του νέου βρόχου θα πρέπει να είναι µεγαλύτερος από την απόσταση αυτή, διαφορετικά θα κινδυνεύσουµε να χρησιµοποιήσουµε τιµή που παράγεται από λάθος επανάληψη. Πιο συγκεκριµένα, από τη στιγµή που µια επανάληψη του νέου βρόχου περιέχει εντολές από διαφορετικές επαναλήψεις του αρχικού βρόχου, πρέπει να είµαστε σίγουροι ότι η παραγωγή και η χρήση µιας τιµής γίνονται σε εντολές της σωστής επανάληψης του αρχικού βρόχου. Αυτό ακριβώς εξασφαλίζεται αν η µέγιστη απόσταση µεταξύ παραγωγής και χρήσης, συµπεριλαµβανοµένων των εντολών παραγωγής και χρήσης της τιµής, δεν υπερβαίνει τη διάρκεια µιας επανάληψης του νέου βρόχου. Μπορούµε να διακρίνουµε δύο περιπτώσεις. Αν η απόσταση αυτή οφείλεται µόνο στο χρόνο καθυστέρησης της εντολής που παράγει την τιµή, αν δηλαδή η εντολή χρήσης της τιµής είναι δροµολογηµένη αµέσως µετά το χρόνο καθυστέρησης της εντολής παραγωγής, τότε δεν έ- χουµε άλλη επιλογή από το να αναγκάσουµε το κ να δώσει αριθµό εντολών VLIW τουλάχιστον ίσο µε την απόσταση αυτή. Έτσι, αν λ είναι ο χρόνος καθυστέρησης της εντολής παραγωγής, τότε δεν µπορούµε να υλοποιήσουµε το νέο βρόχο µε λιγότερες από λ+2 εντολές VLIW, ώστε να υπάρχει ικανή απόσταση µεταξύ των εµπλεκόµενων εντολών στο χρόνο µιας επανάληψης. Αν από την άλλη µεριά η απόσταση αυτή δεν οφείλεται µόνο στο χρόνο καθυστέρησης, αν δηλαδή η εντολή χρήσης είναι δροµολογηµένη πιο κάτω από το σηµείο στο ο- ποίο η τιµή γίνεται διαθέσιµη, µπορούµε µετά το χρόνο καθυστέρησης να εισάγουµε µια ε- ντολή αντιγραφής της τιµής σε άλλον καταχωρητή, οπότε στην ουσία σπάµε την απόσταση σε δύο µικρότερες. Βέβαια, θα πρέπει να υπάρχει η κατάλληλη θέση στις εντολές VLIW, αλλιώς η προσθήκη της εντολής αντιγραφής θα µας αναγκάσει να αρχίσουµε από την αρχή τη διαδικασία υπολογισµού του βέλτιστου κ, διότι θα αλλάξει το άνω φράγµα των αριθµών επαναλήψεων ανά εντολή VLIW. Στον παραπάνω κώδικα, η εντολή µε τη µέγιστη καθυστέρηση είναι η εντολή πολλαπλασιασµού S4 µε λ = 3. Όµως, η εξαρτηµένη από αυτήν εντολή δεν δροµολογείται στην ελάχιστη απόσταση, αλλά έναν κύκλο αργότερα, επειδή δεν υπάρχει διαθέσιµη θέση εντολής VLIW στην απόσταση αυτή. Θα πρέπει εποµένως να ισχύει 1,5κ λ+2+1, ή 1,5κ 6. Από την άλλη µεριά, και η ίδια η S4 είναι δροµολογηµένη 4 κύκλους µακριά από την S1 από την οποία λαµβάνει τιµή, παρόλο που η S1 παράγει την τιµή µε καθυστέρηση µόνο 1 κύκλου. Η απόσταση αυτή είναι µικρότερη από την προηγούµενη, οπότε δε µας απασχολεί. Αν όµως ήταν µεγαλύτερη, θα µπορούσαµε να σκεφτούµε την εναλλακτική επιλογή της αντιγραφής του καταχωρητή $f0 που περιέχει αυτή την τιµή σε κάποιον άλλο, αν βέβαια είχαµε περιθώριο στις θέσεις των εντολών VLIW που κατασκευάζουµε. Σύµφωνα µε τα παραπάνω, η ελάχιστη τιµή του κ δεν είναι µεγαλύτερη από αυτή που επιλέξαµε µε κριτήριο τη µεγιστοποίηση του ποσοστού πλήρωσης θέσεων εντολών VLIW, κι εποµένως η τιµή που επιλέξαµε είναι αποδεκτή. Άσκηση 8: Έστω ο πιο κάτω βρόχος κώδικα C:

8 8 for (i=1; i<1000; i++) { a[i] = a[i+1] + b[i]; b[i] = a[i] + c[i]; } (S1) Βρείτε τις εξαρτήσεις από δεδοµένα µεταξύ των εντολών του σώµατός του, και αποφανθείτε αν ο βρόχος είναι παράλληλος. Αν δεν είναι παράλληλος, εξηγήστε αν µπορεί να γίνει παράλληλος ή µια σειριακή διάταξη παράλληλων βρόχων, και πώς αυτό επιτυγχάνεται. Απάντηση Ένας βρόχος είναι παράλληλος, αν οι επαναλήψεις του µπορούν να εκτελεστούν µε οποιαδήποτε σειρά. Κάτι τέτοιο µπορεί να συµβεί, αν δεν υπάρχουν εξαρτήσεις από δεδοµένα που µεταφέρονται µεταξύ επαναλήψεων του βρόχου. Μπορεί να υπάρχουν εξαρτήσεις από δεδο- µένα µεταξύ των εντολών της ίδιας επανάληψης, κάτι που περιορίζει το βαθµό παραλληλισµού σε επίπεδο εντολών του σώµατος του βρόχου, αλλά αυτό δε σχετίζεται µε τον παραλληλισµό σε επίπεδο επαναλήψεων του βρόχου που µας απασχολεί σε αυτή την άσκηση. Οι εξαρτήσεις από δεδοµένα στο σώµα του βρόχου σχετίζονται µε τις αναφορές στα στοιχεία των πινάκων a και b. Με την υπόθεση ότι οι πίνακες δεν επικαλύπτονται διαφορετικά η α- νάλυση δεν έχει νόηµα, οι εξαρτήσεις είναι οι εξής: ΑΜΕ από την εντολή S1 προς την S2, λόγω αναφοράς στο στοιχείο a[i]. ΕΜΑ από την εντολή S1 προς την S2, λόγω αναφοράς στο στοιχείο b[i]. ΕΜΑ από την εντολή S1 προς την S1 της επόµενης επανάληψης, λόγω ανάγνωσης του στοιχείου a[i+1] και εγγραφής του στοιχείου a[i]. Μπορούµε να απεικονίσουµε τις παραπάνω εξαρτήσεις από δεδοµένα στον ακόλουθο γράφο εξαρτήσεων: S1 1 S2 όπου οι εξαρτήσεις τύπου ΕΜΑ σηµειώνονται µε µια κάθετη γραµµή πάνω στην αντίστοιχη ακµή, και ο αριθµός δίπλα σε µια εξάρτηση υποδηλώνει την απόσταση επαναλήψεων στην οποία µεταφέρεται η εξάρτηση. Εξαιτίας της ύπαρξης µιας εξάρτησης που µεταφέρεται σε διαδοχικές επαναλήψεις, και συγκεκριµένα της εξάρτησης από την εντολή S1 προς τον εαυτό της, ο βρόχος δεν είναι παράλληλος µε τη µορφή που µας δόθηκε. Για να διαπιστώσουµε αν ο βρόχος µετατρέπεται σε παράλληλο ή σε κάποια σειρά παράλληλων βρόχων, θα εξετάσουµε το γράφο εξαρτήσεων. Γενικά, αν στο γράφο εξαρτήσεων κάποιου βρόχου σχηµατίζεται κάποιος κύκλος, όπου όλες οι εξαρτήσεις είναι τύπου ΑΜΕ, τότε ο βρόχος δε µπορεί να µετασχηµατιστεί σε παράλληλο. Αν ο κύκλος αυτός δεν καλύπτει όλες τις εντολές του σώµατος του βρόχου, τότε είναι πιθανό να µπορούµε να διασπάσουµε το βρόχο σε δύο επιµέρους βρόχους, έτσι ώστε στον ένα να συµµετέχουν οι εντολές που σχηµατίζουν τον κύκλο, και ο οποίος θα είναι αναγκαστικά σειριακός, και στον άλλο να συµµετέχουν οι υπόλοιπες εντολές, και ο οποίος να είναι παράλληλος. Για να επιτρέπεται διάσπαση του αρχικού βρόχου, θα πρέπει οι υπόλοιπες εντολές να µη συµµετέχουν σε άλλον κύκλο που να έχει κοινές εντολές µε τον πρώτο, ενώ για να είναι ο δεύτερος βρόχος παράλληλος, θα πρέπει αυτό να το επιτρέπουν οι εξαρτήσεις µεταξύ των εντολών που συµµετέχουν στο σώµα του. Σε κάθε περίπτωση κύκλου εξαρτήσεων όπου συµµετέχει εξάρτηση τύπου ΕΜΑ, είναι δυνατό να γίνει µετασχηµατισµός στον κώδικα µέσω µετονοµασίας, ο οποίος θα διασπά τον κύκλο

9 9 και θα µεταφέρει αυτή την εξάρτηση έξω από αυτόν. Πιο συγκεκριµένα, θα δηµιουργείται νέα εντολή, η οποία θα αντιγράφει την τιµή ανάγνωσης σε προσωρινό πίνακα, και στη συνέχεια η τιµή θα διαβάζεται από τον πίνακα αυτόν. Παρόµοιος µετασχηµατισµός εφαρµόζεται και για εξαρτήσεις τύπου ΕΜΕ. Από τη στιγµή που έχουµε απαλείψει τους κύκλους εξαρτήσεων σε ένα βρόχο, και αν υπάρχουν εξαρτήσεις που µεταφέρονται µεταξύ επαναλήψεων, διασπάµε το βρόχο ανάµεσα στις εντολές που συµµετέχουν στις εξαρτήσεις αυτές, και εκτελούµε τους επιµέρους βρόχους µε τη σειρά που επιβάλλουν οι εξαρτήσεις, αλλά µε κάθε έναν από αυτούς να είναι πια παράλληλος. Σύµφωνα µε τα παραπάνω, ο κύκλος που έχουµε στον κώδικά µας µπορεί να απαλειφτεί, α- φού δηµιουργείται από εξάρτηση τύπου ΕΜΑ. Εποµένως, ο βρόχος που µας δόθηκε µπορεί να µετατραπεί σε παράλληλο, ή σε µια σειρά από παράλληλους βρόχους. Για το σκοπό αυτό, δηµιουργούµε έναν προσωρινό πίνακα, στον οποίο αντιγράφουµε την τιµή του στοιχείου a[i+1], και ξαναγράφουµε τον κώδικα C ως εξής: for (i=1; i<1000; i++) { t[i] = a[i+1]; a[i] = t[i] + b[i]; b[i] = a[i] + c[i]; } (S0) (S1) Ο γράφος εξαρτήσεων του νέου βρόχου θα είναι ο ακόλουθος: S0 1 S1 όπου βλέπουµε πώς ο κύκλος που είχαµε προηγουµένως έχει τώρα µετατραπεί σε δύο εξαρτήσεις από την εντολή S0 προς την εντολή S1, και ο νέος γράφος δεν περιέχει κύκλο. Επειδή ο βρόχος περιέχει µια εξάρτηση που µεταφέρεται από µία επανάληψη στην επόµενη, συνεχίζει να µην είναι παράλληλος. Αυτό µπορεί να επαληθευτεί, θεωρώντας τις δύο πρώτες επαναλήψεις του βρόχου, και παρατηρώντας ότι µε παράλληλη εκτέλεσή τους, το στοιχείο a[2] θα µπορούσε να πάρει νέα τιµή στη δεύτερη επανάληψη πριν διαβαστεί στην πρώτη. Εφ όσον όµως ο νέος βρόχος δεν περιέχει κύκλο εξαρτήσεων, µπορεί να διασπαστεί σε δύο παράλληλους βρόχους forall 1, ως εξής: forall (i=1; i<1000; i++) t[i] = a[i+1]; forall (i=1; i<1000; i++) { a[i] = t[i] + b[i]; b[i] = a[i] + c[i]; } S2 (S0) (S1) Οι δύο παράλληλοι βρόχοι εκτελούνται ο ένας µετά τον άλλο. Αξίζει να σηµειωθεί ότι η αντιγραφή των αρχικών τιµών του πίνακα που µετονοµάζουµε δεν είναι πάντα αναγκαία. Έτσι, για το συγκεκριµένο παράδειγµα, µπορούµε να χρησιµοποιούµε τον πίνακα t για κάθε αναφορά στον a σε κώδικα που προηγείται του βρόχου που µελετάµε, 1 Ο βρόχος forall είναι ένας παράλληλος βρόχος for και ανήκει σε επέκταση της C για παράλληλο προγραµµατισµό.

10 10 ώστε να έχουµε τις τιµές των στοιχείων a[i+1] ήδη στα στοιχεία t[i] πριν την έναρξη του βρόχου. Η δυνατότητα µιας τέτοιας βελτιστοποίησης εξαρτάται βέβαια από τη ροή ελέγχου και δεδοµένων του συνολικού κώδικα, µια που οι τιµές των στοιχείων a[i] µπορεί να µην παράγονται µόνο µέσα από το βρόχο, αλλά και από άλλα µονοπάτια ελέγχου! Άσκηση 9: Θεωρήστε ένα βαθµωτό επεξεργαστή MIPS µε στατική δροµολόγηση εντολών. Η ΜΕ του επεξεργαστή αυτού διαθέτει µία υποµονάδα πρόσθεσης/αφαίρεσης κινητής υποδιαστολής που απαιτεί 2 κύκλους µηχανής για κάθε πράξη, µία υποµονάδα πολλαπλασιασµού κινητής υποδιαστολής που απαιτεί 8 κύκλους µηχανής για κάθε πράξη και µία υποµονάδα σταθερής υποδιαστολής που απαιτεί έναν κύκλο µηχανής για κάθε πράξη. Ακόµα, διαθέτει µία υποµονάδα προσπέλασης µνήµης που απαιτεί 3 κύκλους µηχανής για κάθε προσπέλαση, µετά τον υπολογισµό της τελικής διεύθυνσης προσπέλασης που γίνεται στην υποµονάδα σταθερής υποδιαστολής. Οι διακλαδώσεις εκτελούνται στην υποµονάδα σταθερής υποδιαστολής χωρίς καθυστέρηση. Οι υποµονάδες διαθέτουν µηχανισµό παροχέτευσης για προώθηση σε άλλες υποµονάδες των δεδοµένων που παράγουν, αλλά καµία υποµονάδα δεν υποστηρίζει µερική επικάλυψη στην εκτέλεση διαδοχικών πράξεων. Τέλος, ο επεξεργαστής διαθέτει 32 καταχωρητές σταθερής και 32 καταχωρητές κινητής υποδιαστολής. Θεωρήστε στη συνέχεια τον ακόλουθο κώδικα MIPS: loop: ldc1 $f0,0($1) (S1) ldc1 $f1,0($2) add.d $f2,$f0,$f0 (S3) add.d $f2,$f2,$f1 (S4) mul.d $f3,$f0,$f1 () sub.d $f3,$f3,$f2 (S6) sdc1 $f3,0($3) (S7) addiu $1,$1,8 (S8) addiu $2,$2,8 (S9) addiu $3,$3,8 (S10) bne $1,$4,loop (S11) Αν οι περιοχές µνήµης που προσπελαύνονται από τις εντολές προσπέλασης µνήµης δεν επικαλύπτονται, εφαρµόστε την τεχνική του συµβολικού ξεδιπλώµατος στον παραπάνω κώδικα, έτσι ώστε να αυξηθεί η απόσταση δροµολόγησης των εντολών κινητής υποδιαστολής και προσπέλασης µνήµης που εµφανίζουν κινδύνους από εξαρτήσεις δεδοµένων, και ο κώδικας να δροµολογείται στον επεξεργαστή χωρίς παγώµατα. Απάντηση Σε ένα βαθµωτό επεξεργαστή µε στατική δροµολόγηση εντολών, οι εντολές εκτελούνται µε τη σειρά που ανακαλούνται από τη µνήµη εντολών. Σε περίπτωση εµφάνισης κινδύνου από εξάρτηση δεδοµένων που δεν καλύπτεται µε παροχέτευση, η ΜΕ παγώνει, µέχρι το δεδοµένο που απαιτείται να γίνει διαθέσιµο. Εποµένως, αν θέλουµε η σειρά ανάκλησης των εντολών να οδηγεί σε δροµολόγηση χωρίς παγώµατα, η παραγωγή κώδικα θα πρέπει να γίνεται µε κατάλληλες τεχνικές αναδιάταξης των εντολών. Με την τεχνική του συµβολικού ξεδιπλώµατος δηµιουργούµε ένα νέο βρόχο που, ενώ φαινο- µενικά εκτελεί εντολές µιας επανάληψης, περιέχει εντολές από πολλές διαδοχικές επαναλήψεις. Οι εντολές είναι τοποθετηµένες µε τέτοιον τρόπο, ώστε αν εµφανίζουν κάποιον κίνδυνο από εξάρτηση τύπου ΑΜΕ, να µη βρίσκονται σε θέσεις που να οδηγούν σε πάγωµα στην ε- κτέλεση του κώδικα. Αν το πάγωµα δεν αποφεύγεται στον αρχικό βρόχο, µε αντιστοίχηση των εντολών σε εντολές διαδοχικών επαναλήψεων, η απόσταση στη δροµολόγησή τους αυξάνεται µέχρι το µέγεθος του σώµατος του βρόχου.

11 11 Για την εφαρµογή του συµβολικού ξεδιπλώµατος απαιτείται η ανάλυση των εξαρτήσεων από δεδοµένα στο σώµα του αρχικού βρόχου. Οι κίνδυνοι από τις εξαρτήσεις τύπου ΑΜΕ αντιµετωπίζονται µε το συµβολικό ξεδίπλωµα, ενώ οι εξαρτήσεις τύπου ΕΜΕ και ΕΜΑ απαλείφονται µε µετονοµασία καταχωρητών. Για να µην υπάρχει πάγωµα στη δροµολόγηση δύο εντολών που εµφανίζουν κάποια εξάρτηση τύπου ΑΜΕ από την πρώτη προς τη δεύτερη, πρέπει η απόσταση δροµολόγησής τους να είναι τουλάχιστον ίση µε το χρόνο που απαιτείται για την εκτέλεση της πρώτης. Η µέγιστη απόσταση δροµολόγησης δύο τέτοιων εντολών επιτυγχάνεται, αν η δεύτερη εντολή είναι τοποθετηµένη αµέσως πριν από την πρώτη. Αυτό συµβαίνει, µια που για σώµα βρόχου Ν εντολών, η µέγιστη απόσταση στη δροµολόγηση χωρίς πάγωµα εντολών της ίδιας επανάληψης του αρχικού βρόχου µε κάποια εξάρτηση τύπου ΑΜΕ θα είναι Ν-1. εδοµένου ότι σε απόσταση Ν από µια εντολή θα δροµολογηθεί η ίδια εντολή της επόµενης επανάληψης, η εντολή που λαµβάνει κάποιο δεδοµένο δε µπορεί να δροµολογηθεί σε απόσταση µεγαλύτερη από Ν από την εντολή που το παράγει, διότι τότε θα λάµβανε λανθασµένα το δεδοµένο που παράγεται στην επόµενη επανάληψη. Εκτός από την ειδική περίπτωση που η εντολή που λαµβάνει το δεδοµένο είναι η τελευταία εντολή στο σώµα του βρόχου, οπότε η εντολή που το παράγει θα βρίσκεται στην αρχή του, οι δύο εντολές θα πρέπει να τοποθετηθούν στο νέο βρόχο µε την πρώτη να βρίσκεται αµέσως πριν τη δεύτερη, ώστε να δροµολογούνται σε διαδοχικές επαναλήψεις του νέου βρόχου. Φυσικά, αν κάποια εντολή έχει χρόνο εκτέλεσης µεγαλύτερο από Ν-1, δε µπορούµε να επιτύχουµε δροµολόγηση χωρίς πάγωµα των εντολών που εξαρτώνται από αυτή, εκτός εάν η διαδικασία κατασκευής του νέου βρόχου απαιτήσει την εισαγωγή εντολών αντιγραφής, όπως θα δούµε πιο κάτω, και το µέγεθος του σώµατος του νέου βρόχου ξεπεράσει το χρόνο εκτέλεσης της εντολής. Οι εξαρτήσεις από δεδοµένα τύπου ΑΜΕ στο σώµα του βρόχου που µας δίνεται, χωρίς να λάβουµε υπ όψη τις εντολές ελέγχου του βρόχου που σαν εντολές σταθερής υποδιαστολής δε δηµιουργούν παγώµατα στην εκτέλεσή του, απεικονίζονται στον παρακάτω γράφο εξαρτήσεων. Η τοποθέτηση των εντολών του κώδικά µας σε ένα νέο βρόχο που να είναι σε συµφωνία µε τα παραπάνω µπορεί να γίνει ευκολότερα, αν διαµερίσουµε το γράφο σε επίπεδα από κάτω προς τα επάνω, µε βάση την απόσταση των εντολών από την S7. Οι εντολές κάθε επιπέδου θα τοποθετηθούν ανάµεσα στις εντολές των γειτονικών επιπέδων και θα αντιστοιχούν στην ίδια επανάληψη του αρχικού βρόχου. Εντολές διαδοχικών επιπέδων της ίδιας επανάληψης του αρχικού βρόχου θα εκτελούνται σε διαδοχικές επαναλήψεις του νέου βρόχου. S1 S3 S2 S4 S6 S7 Έτσι, µπορούµε να δούµε ότι η εντολή S6 θα τοποθετηθεί αµέσως µετά την S7, ως εξής: sdc1 $f3,0($3) (S7) sub.d $f3,$f3,$f2 (S6)

12 12 Εφ όσον ο καταχωρητής $f3 λαµβάνει τιµή στην S6, είναι εύκολα κατανοητό γιατί η εντολή S7 που λαµβάνει την τιµή αυτή κι εποµένως είναι εντολή της ίδιας επανάληψης του αρχικού βρόχου, θα εκτελεστεί στην επόµενη επανάληψη του νέου βρόχου. Η απόσταση στη δροµολόγηση των δύο εντολών είναι η µεγαλύτερη δυνατή, αφού µεταξύ τους θα µεσολαβήσουν όλες οι υπόλοιπες εντολές του σώµατος του βρόχου που θα εισάγουµε στη συνέχεια. εδοµένου ότι η S6 είναι εξαρτηµένη από δύο εντολές, τις S4 και, µόνο µία από αυτές θα βρεθεί αµέσως µετά την S6, ενώ η άλλη θα ακολουθήσει, κι εποµένως θα δροµολογηθεί σε απόσταση κατά µία θέση µικρότερη από τη µέγιστη. Σε µια τέτοια περίπτωση, µπορούµε να τοποθετήσουµε στη µέγιστη απόσταση την εντολή που απαιτεί τον περισσότερο χρόνο για την εκτέλεσή της, που εδώ είναι η : sdc1 $f3,0($3) sub.d $f3,$f3,$f2 mul.d $f3,$f0,$f1 (S7) (S6) () Ο παραπάνω κώδικας είναι όµως λανθασµένος ύστερα από την αναδιάταξη που κάναµε, διότι η εξάρτηση τύπου ΕΜΕ στον καταχωρητή $f3 µεταξύ των και S6 οδηγεί σε αποθήκευση στη µνήµη κατά την εκτέλεση της εντολής S7 της τιµής που παράγει η, και όχι της τιµής που παράγει η εντολή S6. Στο βαθµωτό επεξεργαστή MIPS, η εξάρτηση αυτή δε δηµιουργεί κίνδυνο στον αρχικό βρόχο, όµως δεν επιτρέπει αναδιάταξη των και S6, γι αυτό και θα πρέπει να µετονοµάσουµε τον καταχωρητή $f3 στη δεύτερη εγγραφή του. Ο νέος κώδικας θα είναι ο ακόλουθος: sdc1 $f13,0($3) sub.d $f13,$f3,$f2 mul.d $f3,$f0,$f1 (S7) (S6) () όπου σωστά πια, η εντολή S7 αποθηκεύει στη µνήµη την τιµή που παράγει η S6, η οποία τώρα µεταφέρεται σ αυτήν µέσω του καταχωρητή $f13. Η εντολή S4 τοποθετείται κάτω από την, και οι εντολές του επόµενου επιπέδου θα τοποθετηθούν µετά τις S4 και. Παρ όλο που δεν υπάρχει εξάρτηση µεταξύ των εντολών S3 και, δε µπορούµε να τοποθετήσουµε την S3 µεταξύ των S4 και, για το λόγο που θα εξηγήσουµε πιο κάτω. Μέχρι το σηµείο αυτό λοιπόν, έχουµε κατασκευάσει το ακόλουθο τµήµα από το σώµα του νέου βρόχου: sdc1 $f13,0($3) sub.d $f13,$f3,$f2 mul.d $f3,$f0,$f1 add.d $f2,$f2,$f1 (S7) (S6) () (S4) Το επόµενο επίπεδο περιέχει τις εντολές S2 και S3. Από τις δύο εντολές επιλέγουµε να τοποθετήσουµε πρώτα την S2 που έχει µεγαλύτερο χρόνο εκτέλεσης. Όµως, θα πρέπει να διορθώσουµε τη µετατόπισή της, ώστε να ανταποκρίνεται στο νέο βρόχο. εδοµένου ότι η εντολή S2 βρίσκεται τρία επίπεδα πάνω από την S7, θα χρειαστούν τρεις επαναλήψεις του νέου βρόχου µέχρι την εκτέλεση της εντολής S7 της ίδιας επανάληψης του αρχικού βρόχου, ή ισοδύναµα, η εντολή S2 θα αντιστοιχεί σε τρεις επαναλήψεις του αρχικού βρόχου µετά την επανάληψη στην οποία βρίσκεται η S7 της ίδιας επανάληψης του νέου βρόχου. Εποµένως, µε µέγεθος δεδοµένου ίσο µε 8, η µετατόπιση της εντολής S2 θα αυξηθεί κατά 24: sdc1 $f13,0($3) sub.d $f13,$f3,$f12 mul.d $f3,$f0,$f1 add.d $f12,$f2,$f1 ldc1 $f1,24($2) add.d $f2,$f0,$f0 (S7) (S6) () (S4) (S3) Στον παραπάνω κώδικα εφαρµόσαµε µετονοµασία για τη δεύτερη εγγραφή του καταχωρητή $f2 που δηµιουργεί εξάρτηση τύπου ΕΜΕ µεταξύ των εντολών S3 και S4.

13 13 Μέχρι τώρα οι εντολές που τοποθετήσαµε στο νέο βρόχο είχαν εξαρτήσεις που εκτείνονταν σε δύο µόνο επίπεδα. Παρατηρούµε όµως ότι η εξάρτηση από την εντολή S1 προς την εκτείνεται σε τρία επίπεδα, γεγονός που είναι αποτέλεσµα της µορφής που έχει ο γράφος ε- ξαρτήσεων. Ας δοκιµάσουµε να τοποθετήσουµε την εντολή S1 απλά κάτω από τις S2 και S3: sdc1 $f13,0($3) sub.d $f13,$f3,$f12 mul.d $f3,$f0,$f1 add.d $f12,$f2,$f1 ldc1 $f1,24($2) add.d $f2,$f0,$f0 ldc1 $f0,32($1) (S7) (S6) () (S4) (S3) (S1) όπου η µετατόπιση της S1 τροποποιήθηκε κατάλληλα, ώστε να αντιστοιχεί σε τέσσερις επαναλήψεις του αρχικού βρόχου µετά την S7. Μελετώντας τη δροµολόγηση των εντολών µιας επανάληψης, έστω i, του αρχικού βρόχου, παρατηρούµε τα εξής: Αν η S1 της επανάληψης i του αρχικού βρόχου που βρίσκεται σε κάποια επανάληψη, έστω j, του νέου βρόχου διαβάσει κάποια τιµή από τη µνήµη, η τιµή αυτή θα χρησιµοποιηθεί από τις εντολές S3 και της επόµενης επανάληψης j+1 του νέου βρόχου. Στην επανάληψη j+1 όµως θα εκτελεστεί και η εντολή S2 της επανάληψης i του αρχικού βρόχου, η οποία θα διαβάσει από τη µνήµη κάποια τιµή που πρέπει να λάβει η της ίδιας επανάληψης του αρχικού βρόχου. Η τελευταία όµως είναι πάνω από την S2 και έχει ήδη ε- κτελεστεί, µε λανθασµένη τιµή του καταχωρητή $f1. Το παραπάνω σφάλµα συνέβη επειδή η παρέλαβε το δεδοµένο που παρήγαγε η S1 µια επανάληψη νωρίτερα απ ό,τι έπρεπε. Επειδή οι S1 και S2 βρίσκονται σε διαφορετικά επίπεδα του γράφου εξαρτήσεων, τα δεδοµένα που παράγουν για την ίδια επανάληψη του αρχικού βρόχου, λαµβάνονται από την σε διαφορετικές επαναλήψεις του νέου βρόχου, ενώ για σωστή εκτέλεσή του, θα έπρεπε να ληφθούν στην ίδια επανάληψη. Το πρόβληµα αυτό δε θα αντιµετωπιζόταν µε µεταφορά της εντολής στο παραπάνω επίπεδο. Τότε, θα αυξανόταν η απόσταση µεταξύ των εντολών και S6, αλλά και µεταξύ των εντολών S2 και S4, µια που και η εντολή S2 αναγκαστικά θα µεταφερόταν ένα επίπεδο πιο πάνω, και το πρόβληµα θα ξαναεµφανιζόταν σε άλλα σηµεία του κώδικα. Μάλιστα, αυτός είναι και ο λόγος που δεν τοποθετήσαµε την εντολή S3 µεταξύ των εντολών S4 και, µια που αυτό θα ισοδυναµούσε µε άνοδο της στο επίπεδο της S3! Για να αντιµετωπίσουµε το παραπάνω πρόβληµα, είµαστε αναγκασµένοι να εισάγουµε µια εντολή αντιγραφής, έστω S12, η οποία απλά να µεταφέρει το δεδοµένο που παράγει η εντολή S1 σε έναν άλλο καταχωρητή, από τον οποίο στη συνέχεια να το παραλάβει η. Η εντολή αυτή διασπά την εξάρτηση τύπου ΑΜΕ από την εντολή S1 προς την εντολή σε δύο µέρη, και τοποθετείται έτσι στο επίπεδο των S2 και S3 του γράφου εξαρτήσεων. Με τον τρόπο αυτό εξασφαλίζουµε ότι καµία εξάρτηση δεν εκτείνεται σε παραπάνω από δύο επίπεδα του γράφου. Ο διορθωµένος κώδικας, µε την προσθήκη και των εντολών ελέγχου του βρόχου, θα είναι ο ακόλουθος: swploop: sdc1 $f13,0($3) (S7) sub.d $f13,$f3,$f12 (S6) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) ldc1 $f1,24($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) ldc1 $f0,32($1) (S1) addiu $1,$1,8 (S8) addiu $2,$2,8 (S9) addiu $3,$3,8 (S10) bne $1,$4,swploop (S11)

14 14 Ο παραπάνω κώδικας συµπληρώνεται µε τους κώδικες προλόγου και επιλόγου, οι οποίοι ο- λοκληρώνουν τις επαναλήψεις του αρχικού βρόχου που πρέπει να έχουν ξεκινήσει πριν την αρχή, και τις επαναλήψεις που πρέπει να ολοκληρωθούν µετά το τέλος του νέου βρόχου. Έ- τσι, για πέντε επίπεδα στο γράφο εξαρτήσεων, έχουν ξεκινήσει και πρέπει να ολοκληρωθούν τέσσερις ακόµα επαναλήψεις του αρχικού βρόχου. Ο αντίστοιχος κώδικας προλόγου και επιλόγου προκύπτει µε αντιγραφή τµηµάτων του σώµατος του βρόχου όσες φορές χρειάζεται, αφαιρώντας κάθε φορά τις εντολές που εκτελούνται µέσα στο βρόχο. Έτσι, ο συνολικός κώδικας θα είναι ο εξής: prologue: ldc1 $f0,0($1) (S1) ldc1 $f1,0($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) ldc1 $f0,8($1) (S1) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) ldc1 $f1,8($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) ldc1 $f0,16($1) (S1) sub.d $f13,$f3,$f12 (S6) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) ldc1 $f1,16($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) ldc1 $f0,24($1) (S1) swploop: sdc1 $f13,0($3) (S7) sub.d $f13,$f3,$f12 (S6) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) ldc1 $f1,24($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) ldc1 $f0,32($1) (S1) addiu $1,$1,8 (S8) addiu $2,$2,8 (S9) addiu $3,$3,8 (S10) bne $1,$4,swploop (S11) epilogue: sdc1 $f13,0($3) (S7) sub.d $f13,$f3,$f12 (S6) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) ldc1 $f1,24($2) add.d $f2,$f0,$f0 (S3) mov.d $f10,$f0 (S12) sdc1 $f13,8($3) (S7) sub.d $f13,$f3,$f12 (S6) mul.d $f3,$f10,$f1 () add.d $f12,$f2,$f1 (S4) sdc1 $f13,16($3) (S7) sub.d $f13,$f3,$f12 (S6) sdc1 $f13,24($3) (S7) Είναι φανερό ότι ο διαµερισµός του γράφου εξαρτήσεων σε επίπεδα δεν είναι µοναδικός. Κάποιες φορές µάλιστα προτιµάµε να διατηρήσουµε στο ίδιο επίπεδο εντολές που έχουν κάποια εξάρτηση τύπου ΑΜΕ µεταξύ τους, οπότε αυτές τοποθετούνται στο νέο βρόχο µε τη σειρά που είχαν και στον αρχικό. Κάτι τέτοιο είναι επιθυµητό, αν έτσι παράγεται µικρότερος κώδικας, λόγω πολυπλοκότητας των εξαρτήσεων τύπου ΑΜΕ που υπαγορεύει την εισαγωγή πολλών εντολών αντιγραφής, ή ακόµα, αν έτσι ο κώδικας χρησιµοποιεί λιγότερους καταχω-

15 15 ρητές. Αν για παράδειγµα στον κώδικα που µας δόθηκε τοποθετούσαµε την εντολή S1 στο ίδιο επίπεδο µε την S3, οπότε στο νέο βρόχο θα την τοποθετούσαµε πριν την S3, όπως δηλαδή βρίσκεται στον αρχικό κώδικα, δε θα χρειαζόταν να αντιγράψουµε την τιµή που διαβάζεται από τη µνήµη σε κάποιον προσωρινό καταχωρητή, γιατί η S1 θα βρισκόταν σε απόσταση ενός επιπέδου από την. Αυτό θα το προτιµούσαµε, αν η εντολή S1 είχε µικρότερο χρόνο εκτέλεσης. Προφανώς, µε τον τρόπο αυτό δεν επιτυγχάνουµε τη µεγιστοποίηση στην απόσταση δροµολόγησης εξαρτηµένων εντολών, αλλά αυτό δε µας πειράζει, ειδικά για εντολές που δεν έχουν µεγάλο χρόνο εκτέλεσης, όπως για παράδειγµα εντολές σταθερής υποδιαστολής. Γενικά λοιπόν, το πρόβληµα της παραγωγής κώδικα µε συµβολικό ξεδίπλωµα δεν έχει µονοσήµαντη λύση, και απαιτείται χρήση ευριστικών κανόνων για παραγωγή κώδικα που να δίνει τη βέλτιστη δροµολόγηση εντολών. Ας σηµειωθεί ότι η πιο πάνω εφαρµογή της τεχνικής του συµβολικού ξεδιπλώµατος δε θα ήταν επιτρεπτή, αν οι θέσεις µνήµης στις οποίες γίνονται εγγραφές µπορούσαν να επικαλύπτονται µε τις θέσεις µνήµης από τις οποίες γίνονται αναγνώσεις. Πιο γενικά, το συµβολικό ξεδίπλωµα δε θα επιτρεπόταν, αν ο βρόχος εµφάνιζε κύκλο εξαρτήσεων τύπου ΑΜΕ, είτε µέσω καταχωρητή, είτε µέσω της µνήµης, το οποίο στην ουσία θα σήµαινε ότι ο βρόχος δεν είναι, ούτε µπορεί να γίνει παράλληλος. Στην πραγµατικότητα όµως, το συµβολικό ξεδίπλω- µα δεν εκτελεί το βρόχο σε πλήρη παραλληλία, αλλά µόνο σε παραλληλία ενός αριθµού διαδοχικών επαναλήψεων. Έτσι, αν γνωρίζουµε ότι στον κύκλο εξαρτήσεων η ελάχιστη απόσταση επαναλήψεων στην οποία µεταφέρονται εξαρτήσεις είναι µεγαλύτερη από τον αριθµό διαδοχικών επαναλήψεων που εκτελούνται παράλληλα, η εφαρµογή της πιο πάνω τεχνικής γίνεται δυνατή! Άσκηση 10: Θεωρήστε τον ακόλουθο κώδικα MIPS: lw $3,0($7) slt $1,$3,$4 beq $1,$0,L1 addu $3,$3,$2 L1: sw $3,0($8) Μετασχηµατίστε τον κώδικα µε τη βοήθεια (α) εντολών µεταφοράς υπό συνθήκη, και (β) βεβαιωµένης εκτέλεσης, ώστε να µην περιέχει εντολή διακλάδωσης. Απάντηση Στην πρώτη περίπτωση, η εντολή πρόσθεσης θα εκτελείται ανεξάρτητα από την τιµή που λαµβάνει ο καταχωρητής $1. Άρα, θα πρέπει να γράφει το αποτέλεσµά της σε κάποιον προσωρινό καταχωρητή, απ όπου αυτό θα µεταφερθεί στον $3 µέσω κάποιας εντολής µεταφοράς υπό συνθήκη. Η συνθήκη αυτή θα καθορίζεται από το περιεχόµενο του καταχωρητή $1: lw $3,0($7) slt $1,$3,$4 addu $13,$3,$2 cmovn $3,$13,$1 sw $3,0($8) και είναι η µη µηδενική τιµή του, ώστε η µεταφορά να συµβαίνει, ακριβώς όταν η αρχική διακλάδωση δεν εκτελούσε άλµα. Στη δεύτερη περίπτωση, η εντολή πρόσθεσης θα εκτελείται µε συνθήκη που καθορίζεται από κάποιον καταχωρητή βεβαίωσης. Η εντολή σύγκρισης θα πρέπει να τροποποιηθεί, ώστε να δίνει τιµή στον καταχωρητή βεβαίωσης, µια που τώρα δε χρειαζόµαστε τον καταχωρητή $1:

16 16 lw $3,0($7) cmp.lt p0,p1=$3,$4 (p0) addu $3,$3,$2 sw $3,0($8) όπου p0 και p1 καταχωρητές βεβαίωσης. Όταν ο καταχωρητής p0 έχει µηδενική τιµή, το ο- ποίο θα συµβαίνει όταν το περιεχόµενο του $3 δεν είναι µικρότερο από το περιεχόµενο του $4, η εντολή πρόσθεσης εκτελείται σαν εντολή nop, και το περιεχόµενο του $3 παραµένει αµετάβλητο.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

Παράλληλα Συστήματα. Γιώργος Δημητρίου. Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής Γιώργος Δημητρίου Ενότητα 2 η : Στοιχεία Αρχιτεκτονικής Υπολογιστών Α. Μερική Επικάλυψη Μηχανισμός μερικής επικάλυψης εντολών Εξαρτήσεις Κίνδυνοι (hazards) Παροχέτευση

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

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

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

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

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

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

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

Εισαγωγή και επεξεργασία δεδοµένων

Εισαγωγή και επεξεργασία δεδοµένων Μάθηµα 4 Εισαγωγή και επεξεργασία δεδοµένων Εισαγωγή δεδοµένων σε πίνακα 1. Ανοίγουµε το παράθυρο του πίνακα Υπάλληλοι σε προβολή φύλλου δεδοµένων. 2. Η κενή γραµµή, η οποία υπάρχει πάντα στον πίνακα,

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

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

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

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

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

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

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

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

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

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

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

ΘΕΜΑ 2. (2,5 µονάδες) Θεωρήστε τρεις κρυφές µνήµες των 512 πλαισίων µε 8 λέξεις ανά πλαίσιο και οργανώσεις αντίστοιχα:

ΘΕΜΑ 2. (2,5 µονάδες) Θεωρήστε τρεις κρυφές µνήµες των 512 πλαισίων µε 8 λέξεις ανά πλαίσιο και οργανώσεις αντίστοιχα: ΑΡΧΙΤΕΤΟΝΙΗ ΥΠΟΛΟΓΙΣΤΩΝ 2 Σεπτεµβρίου 2006 ΘΕΜΑ 1. (2 µονάδες) Θεωρούµε δύο υπολογιστές Υ1 και Υ2 που έχουν υλοποιηθεί µε τους επεξεργαστές Ε 1 και Ε 2 αντίστοιχα που έχουν την ίδια αρχιτεκτονική σε επίπεδο

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

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

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

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες] Α. Στο παρακάτω διάγραµµα εµφανίζεται η εκτέλεση ενός παράλληλου αλγόριθµου που λύνει το ίδιο πρόβληµα µε έναν ακολουθιακό αλγόριθµο χωρίς πλεονασµό. Τα Α i και B i αντιστοιχούν σε ακολουθιακά υποέργα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση- Μάθηµα 3 Προχωρηµένες ιδιότητες πεδίων Μάσκες εισαγωγής Οι ιδιότητες Μορφή και Μάσκα εισαγωγής περιγράφονται µαζί γιατί έχουν κοινά χαρακτηριστικά που αφορούν την εµφάνιση. Με την ιδιότητα Μορφή καθορίζουµε

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

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής:

ΣΕΙΡΕΣ TAYLOR. Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων. Πολυώνυµο είναι κάθε συνάρτηση της µορφής: ΣΕΙΡΕΣ TAYLOR Στην Ενότητα αυτή θα ασχοληθούµε µε την προσέγγιση συναρτήσεων µέσω πολυωνύµων Πολυώνυµο είναι κάθε συνάρτηση της µορφής: p( ) = a + a + a + a + + a, όπου οι συντελεστές α i θα θεωρούνται

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008 Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 5//008 Πρόβληµα ο Στα παρακάτω ερωτήµατα επισηµαίνουµε ότι perceptron είναι ένας νευρώνας και υποθέτουµε, όπου χρειάζεται, τη χρήση δικτύων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Outlook Express-User Instructions.doc 1

Outlook Express-User Instructions.doc 1 Οδηγίες προς τους υπαλλήλους του ήµου Θεσσαλονίκης για την διαχείριση της ηλεκτρονικής τους αλληλογραφίας µε το Outlook Express (Ver 1.0 22-3-2011) (Για οποιοδήποτε πρόβληµα ή απορία επικοινωνήστε µε τον

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής...

ΠΕΡΙΕΧΟΜΕΝΑ. Περιγραφή της αρχικής οθόνης κάθε τάξης α. Εικονίδια επιλογής θεµατικών ενοτήτων β. Εικονίδια διαφυγής... ΠΕΡΙΕΧΟΜΕΝΑ Α. ΕΚΚΙΝΗΣΗ ΚΛΕΙΣΙΜΟ ΤΗΣ ΕΦΑΡΜΟΓΗΣ.............................. 5 Β. ΒΑΣΙΚΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΠΡΟΣΒΑΣΙΜΟΤΗΤΑΣ.............................. 6 Γ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΥΛΗ ΚΑΘΕ ΤΑΞΗΣ....................................

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

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

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

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

ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone

ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone ΠροσδιορισµόςΒέλτιστης Λύσης στα Προβλήµατα Μεταφοράς Η µέθοδος Stepping Stone Hµέθοδος Stepping Stoneείναι µία επαναληπτική διαδικασία για τον προσδιορισµό της βέλτιστης λύσης σε ένα πρόβληµα µεταφοράς.

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

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

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

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

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής

Εισαγωγή στον Προγραµµατισµό. Σύντοµες Σηµειώσεις. Γιώργος Μανής Εισαγωγή στον Προγραµµατισµό Σύντοµες Σηµειώσεις Γιώργος Μανής Νοέµβριος 2012 Αλγόριθµοι και Λογικά ιαγράµµατα Αλγόριθµος λέγεται µία πεπερασµένη διαδικασία καλά ορισµένων ϐηµάτων µου ακολουθείται για

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

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex

Γραµµικός Προγραµµατισµός - Μέθοδος Simplex Γραµµικός Προγραµµατισµός - Μέθοδος Simplex Η πλέον γνωστή και περισσότερο χρησιµοποιηµένη µέθοδος για την επίλυση ενός γενικού προβλήµατος γραµµικού προγραµµατισµού, είναι η µέθοδος Simplex η οποία αναπτύχθηκε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήμιο Θεσσαλίας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Παραδείγματα Ενοτήτων 7-9 Ενότητα 7: Ενδιάμεσος κώδικας Άσκηση 7-1: Θεωρήστε τη γλώσσα προγραμματισμού C με τη γνωστή γραμματική

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

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

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

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

ηµιουργία Β.. ανειστική Βιβλιοθήκη Μάθηµα 5 Ορισµός σχέσεων - Σύνδεση πινάκων

ηµιουργία Β.. ανειστική Βιβλιοθήκη Μάθηµα 5 Ορισµός σχέσεων - Σύνδεση πινάκων Μάθηµα 5 ηµιουργία Β.. ανειστική Βιβλιοθήκη - Ορισµός σχέσεων - Σύνδεση πινάκων ηµιουργία Β.. ανειστική Βιβλιοθήκη Η ανειστική Βιβλιοθήκη θα αποτελέσει ένα απλό, αλλά ολοκληρωµένο παράδειγµα δηµιουργίας

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

max & min Μεθοδολογία - 1 Τα βήματα που συνήθως ακολουθούμε στις τεχνικές εύρεσης max & min είναι τα εξής:

max & min Μεθοδολογία - 1 Τα βήματα που συνήθως ακολουθούμε στις τεχνικές εύρεσης max & min είναι τα εξής: Μεθοδολογία - 1 Τα βήματα που συνήθως ακολουθούμε στις τεχνικές εύρεσης είναι τα εξής: 1. Υπόθεση Ξεκινάμε με μια αυθαίρετη παραδοχή ότι κάποιος από τους αριθμούς που εξετάζουμε είναι ο μέγιστος (ή ο ελάχιστος

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

Εργαστήριο 3. Εαρινό Εξάμηνο

Εργαστήριο 3. Εαρινό Εξάμηνο Τομέας Υλικού και Αρχιτεκτονικής Υπολογιστών ΗΥ134 - Εισαγωγή στην Οργάνωση και Σχεδίαση Η/Υ 1 Εργαστήριο 3 Εαρινό Εξάμηνο 2012-2013 Στό χόι τόυ εργαστηρι όυ Εντολές προσπέλασης της μνήμης Χρήση πινάκων

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις Caches

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

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

Ασκήσεις Caches

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

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

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4

Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4 Γραµµικη Αλγεβρα Ι Επιλυση Επιλεγµενων Ασκησεων Φυλλαδιου 4 ιδασκοντες: Ν Μαρµαρίδης - Α Μπεληγιάννης Βοηθος Ασκησεων: Χ Ψαρουδάκης Ιστοσελιδα Μαθηµατος : http://wwwmathuoigr/ abeligia/linearalgebrai/laihtml

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

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

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

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

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

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

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης ΘΕΜΑ Α A1 Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις α-δ και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή, ή τη λέξη ΛΑΘΟΣ, αν είναι λανθασμένη. a. Σε μία εντολή εκχώρησης του αποτελέσματος

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

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

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

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

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

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

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