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

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

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

Transcript

1 Πανεπιστήµιο Θεσσαλίας Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Οργάνωση Η/Υ Ενότητα 6η: Μικροπρογραµµατισµένη Μονάδα Ελέγχου Άσκηση 1: Θεωρήστε την απλοποιηµένη αρχιτεκτονική MIPS πολλαπλών κύκλων µηχανής ανά κύκλο ε- ντολής µε έλεγχο µικροπρογραµµατισµένης λογικής. Προσθέστε σε αυτή την αρχιτεκτονική τις ακόλουθες εντολές έµµεσου άλµατος µε σύνδεση: jmal $rt,off($rs) jalm $rt,off($rs) από τις οποίες η πρώτη εκτελεί άλµα σε διεύθυνση που διαβάζεται από τη µνήµη µε σύνδεση σε κάποιον καταχωρητή, ενώ η δεύτερη εκτελεί άλµα σε διεύθυνση που περιέχεται σε καταχωρητή µε σύνδεση στη µνήµη. Και για τις δύο εντολές, η διεύθυνση µνήµης, όπου είτε περιέχεται η διεύθυνση προορισµού του άλµατος είτε αποθηκεύεται η παρούσα τιµή του µετρητή προγράµµατος, υπολογίζεται σαν το άθροισµα του περιεχοµένου του καταχωρητή $rs µε τη µετατόπιση off της λέξης εντολής. Ο καταχωρητής $rt στην πρώτη εντολή αποτελεί τη θέση αποθήκευσης της τιµής του µετρητή προγράµµατος, ενώ στη δεύτερη εντολή παρέχει τη διεύθυνση προορισµού του άλµατος. Να γράψετε το συντοµότερο δυνατό µικροκώδικα. Εξηγήστε όποιες τροποποιήσεις απαιτούνται στη ΜΕ για την υποστήριξη των πιο πάνω εντολών, περιγράφοντας τη ροή πληροφορίας που συµβαίνει στη ΜΕ από την εκτέλεσή τους. Απάντηση: Για να προσθέσουµε στη ΜΕ MIPS πολλαπλών κύκλων µηχανής ανά κύκλο εντολής τις εντολές jmal και jalm, θα πρέπει να εξετάσουµε ποιες µικρολειτουργίες απαιτούνται γι αυτές, αν οι µικρολειτουργίες αυτές είναι ήδη υλοποιηµένες, και αν όχι, να τις προσθέσουµε µε κατάλληλη τροποποίηση των δρόµων ροής πληροφορίας, ή κάποια άλλη τροποποίηση. Είναι φανερό ότι δεν απαιτείται καµία τροποποίηση για την υποστήριξη των φάσεων ανάκλησης και αποκωδικοποίησης των νέων εντολών. Τα σήµατα ελέγχου, και άρα ο µικροκώδικας, παραµένουν ως έχουν για τις φάσεις αυτές. Μετά την αποκωδικοποίηση της εντολής jmal, οπότε θα έχει διαβαστεί και ο φάκελος καταχωρητών, πρέπει να προσπελάσουµε τη µνήµη για να διαβάσουµε τη διεύθυνση προορισµού του άλµατος. Άρα, θα πρέπει πρώτα να υπολογίσουµε τη διεύθυνση προσπέλασης, κάτι που θα γίνει µε το γνωστό τρόπο πρόσθεσης του περιεχοµένου του καταχωρητή Α µε την προέκταση προσήµου της µετατόπισης off, αφού η διευθυνσιοδότηση µνήµης που γίνεται στην εντολή είναι η ίδια µε τις κλασικές εντολές φόρτωσης και αποθήκευσης της αρχιτεκτονικής MIPS. Η µικροεντολή εποµένως που ακολουθεί τη φάση αποκωδικοποίησης θα είναι ταυτόσηµη µε αυτή της φάσης εκτέλεσης των εντολών φόρτωσης και αποθήκευσης. Μάλιστα, για εξοικονόµηση µνήµης ελέγχου, µπορούµε να χρησιµοποιήσουµε την ίδια µικροεντολή, και να αυξήσουµε τις επιλογές άλµατος µικροκώδικα από αυτήν προς τις φάσεις προσπέλασης µνή- µης των εντολών φόρτωσης και αποθήκευσης ή προς την επόµενη φάση της εντολής jmal. Στη συνέχεια µπορούµε να προσπελάσουµε τη µνήµη και να φέρουµε στον καταχωρητή DR τη διεύθυνση προορισµού του άλµατος, από τη διεύθυνση µνήµης που λαµβάνεται από τον καταχωρητή C. Η αντίστοιχη µικροεντολή είναι παρόµοια µε αυτή της φάσης προσπέλασης µνήµης της εντολής φόρτωσης. Και αυτή η µικροεντολή θα µπορούσε να είναι η ίδια µε εκεί-

2 2 νη της εντολής φόρτωσης, κάτι που όµως αυξάνει την πολυπλοκότητα των αλµάτων στο µικροκώδικα, αφού θα πρέπει να προσθέσουµε ένα νέο άλµα από τη µικροεντολή προσπέλασης µνήµης της εντολής φόρτωσης προς την κατάλληλη επόµενη µικροεντολή. Στον επόµενο κύκλο µηχανής της εντολής jmal, θα πρέπει να µεταφέρουµε το περιεχόµενο του DR στο µετρητή προγράµµατος (PC). Ενώ µέχρι τώρα δεν κάναµε τροποποιήσεις στη ΜΕ, παρατηρούµε ότι εδώ θα χρειαστούµε ένα δρόµο µεταφοράς πληροφορίας εύρους 32 bits από τον DR προς τον PC, µε κατάλληλη νέα επιλογή στην είσοδο του τελευταίου. Κάνουµε λοιπόν αυτή την προσθήκη στη ΜΕ, και προσθέτουµε και τη νέα επιλογή στον πολυπλέκτη που τροφοδοτεί τον PC, παρέχοντας στο µικροκώδικα αυτή την επιλογή. Μέχρι τώρα έχουµε υλοποιήσει το ένα από τα δύο µέρη της εντολής jmal, το άλµα, και απο- µένει η σύνδεση. Παρατηρήστε ότι η υλοποίηση που κάναµε οδήγησε στο µικρότερο δυνατό αριθµό κύκλων µηχανής, εφ όσον οι εξαρτήσεις µεταξύ των µικρολειτουργιών αποτρέπουν κάποια σύµπτυξή τους σε ακόµα µικρότερο αριθµό κύκλων. Σύνδεση σηµαίνει αποθήκευση της παλαιάς τιµής του PC, ώστε ο κώδικας να µπορεί µε κατάλληλη άλλη εντολή άλµατος να επιστρέψει στην εντολή που ακολουθεί την παρούσα. Έτσι, η σύνδεση δε µπορεί να γίνει µετά τον τελευταίο κύκλο µηχανής που περιγράψαµε, επειδή ο PC αλλάζει τιµή, και αν επιχειρήσουµε σύνδεση µετά από αυτόν, θα αποθηκεύσουµε στο φάκελο καταχωρητών λανθασµένη διεύθυνση. Η αποθήκευση εποµένως θα πρέπει να γίνει σε κάποιον από τους κύκλους που έχουµε ήδη περιγράψει, και βέβαια µετά την αποκωδικοποίηση της εντολής. Αν αφήσουµε τις φάσεις υπολογισµού της διεύθυνσης προσπέλασης και της προσπέλασης µνήµης ως έχουν, θα προσθέσουµε τη σύνδεση στη τελευταία φάση που περιγράψαµε, αυτή της αποθήκευσης στον PC της διεύθυνσης προορισµού του άλµατος. Θα πρέπει δε να προσθέσουµε στη ΜΕ το δρόµο από τον PC προς το φάκελο καταχωρητών, µε κατάλληλη επιλογή στην είσοδο δεδοµένων. Έτσι, στη φάση αυτή, ταυτόχρονα µε τη µεταφορά του περιεχοµένου του DR στον PC, έχουµε και τη µεταφορά της προηγούµενης τιµής του PC στο φάκελο καταχωρητών. Οι δύο αποθηκεύσεις, στον PC και στο φάκελο καταχωρητών, δεν αλληλεπιδρούν, διότι συµβαίνουν ταυτόχρονα στο τέλος του κύκλου µηχανής. Όσο αφορά την εντολή jalm τώρα, πρέπει να παρατηρήσουµε ότι δε µπορούµε να µεταφέρουµε στο µετρητή προγράµµατος τη διεύθυνση προορισµού του άλµατος από τον καταχωρητή Β όπου αποθηκεύεται από το φάκελο καταχωρητών, πριν η προηγούµενη τιµή του PC σταλεί στη µνήµη για σύνδεση. Επειδή δε η προσπέλαση της µνήµης προϋποθέτει τον υπολογισµό της διεύθυνσης προσπέλασης, γίνεται φανερό ότι η πρώτη φάση της εντολής jalm µετά την αποκωδικοποίησή της θα είναι και πάλι ο υπολογισµός της διεύθυνσης αυτής µε την πρόσθεση στην ΑΛΜ του περιεχοµένου του Α µε την προέκταση προσήµου της µετατόπισης off. Άρα η µικροεντολή που ακολουθεί τη φάση αποκωδικοποίησης θα είναι και πάλι ταυτόσηµη ή η ίδια µε αυτή της φάσης εκτέλεσης των εντολών φόρτωσης και αποθήκευσης. Μετά τον υπολογισµό της διεύθυνσης προσπέλασης, µπορεί να γίνει η προσπέλαση της µνή- µης για τη σύνδεση, την αποθήκευση δηλαδή στη µνήµη του περιεχοµένου του PC. Γι αυτή τη µικρολειτουργία, χρειαζόµαστε ένα δρόµο από τον PC προς την είσοδο δεδοµένων της µνήµης, µε προσθήκη πολυπλέκτη πριν από την είσοδο αυτή, και κατάλληλων σηµάτων ε- λέγχου για την επιλογή µεταξύ του Β, που αποτελούσε µέχρι τώρα τη µοναδική πηγή δεδοµένων προς τη µνήµη, και του PC. Το πεδίο ΜΕΜ του µικροκώδικα θα πρέπει τώρα να καθορίζει και την επιλογή αυτή για προσπελάσεις εγγραφής της µνήµης. Από τη στιγµή που έχει γίνει η σύνδεση για την εντολή jalm, ο PC µπορεί να πάρει τη νέα τιµή από τον καταχωρητή Β. Φυσικά, για τη µικρολειτουργία αυτή απαιτείται και ο αντίστοιχος δρόµος από τον Β προς τον PC, µε ανάλογη επιλογή στην είσοδο του PC. Επειδή µια νέα τιµή εµφανίζεται στο τέλος του κύκλου µηχανής, συµφέρει η µικρολειτουργία αυτή να εκτελείται ταυτόχρονα µε την αποθήκευση στη µνήµη της παρούσας τιµής του PC, ώστε και γι αυτή την εντολή να επιτυγχάνεται ο ελάχιστος αριθµός κύκλων µηχανής. Με τους δύο δρό- µους που προσθέσαµε, από τον PC προς την είσοδο δεδοµένων της µνήµης και από τον καταχωρητή Β προς τον PC, µπορούµε να υλοποιήσουµε µετά τον υπολογισµό της διεύθυνσης προσπέλασης στην ίδια φάση τόσο τη µεταφορά του περιεχοµένου του PC προς τη µνήµη, όσο και τη µεταφορά του περιεχοµένου του Β προς τον PC. Όπως και προηγουµένως, οι δύο αποθηκεύσεις, στη µνήµη και στον PC, συµβαίνουν ταυτόχρονα και δεν αλληλεπιδρούν.

3 3 Βέβαια, για να είναι σωστή η αποθήκευση στον PC, πρέπει να επαληθεύσουµε ότι ο Β συνεχίζει και σε αυτή τη φάση να περιέχει τη διεύθυνση προορισµού άλµατος. Επειδή ο καταχωρητής Β δεν έχει επίτρεψη εγγραφής, γράφεται σε κάθε κύκλο µηχανής, οπότε η τιµή που µας ενδιαφέρει θα έχει αποθηκευτεί σε αυτόν τον αµέσως προηγούµενο κύκλο. Εφόσον ούτε ο IR έχει µεταβληθεί, ούτε έχει µεσολαβήσει εγγραφή στο φάκελο καταχωρητών, η ανάγνωση του τελευταίου που δίνει τιµή στον Β θα επιστρέψει όντως τη διεύθυνση προορισµού άλµατος. Σύµφωνα µε τα παραπάνω, ο συνολικός µικροκώδικας των εντολών jmal και jalm απαιτεί 2 κοινές µικροεντολές για την ανάκληση και την αποκωδικοποίηση, και µετά άλλες 5 µικροεντολές, 3 για την πρώτη και 2 για τη δεύτερη εντολή, όπως φαίνεται στον ακόλουθο πίνακα: Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC= Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 JMAL: add A προ(ir) readdr writepc DR JALM: add A προ(ir) writepc B όπου οι ετικέτες JΜAL και JALM δείχνουν την πρώτη µικροεντολή των εντολών jmal και jalm, αντίστοιχα, που ακολουθεί τις δύο πρώτες φάσεις, οι οποίες είναι κοινές για όλες τις εντολές. Με το όνοµα writepc στο πεδίο ΦΚ δώσαµε συµβολικά τις τιµές των σηµάτων ελέγχου για επιλογή του PC στην είσοδο δεδοµένων του φακέλου καταχωρητών, για επιλογή του πεδίου rt της λέξης εντολής στην είσοδο διεύθυνσης αποθήκευσης του φακέλου καταχωρητών, και για ενεργοποίηση του σήµατος επίτρεψης εγγραφής του φακέλου καταχωρητών. Με το όνοµα writepc στο πεδίο ΜΕΜ δώσαµε συµβολικά στο µικροκώδικα τις τιµές των σηµάτων για επιλογή του PC στην είσοδο δεδοµένων της µνήµης, και για την ενεργοποίηση του σήµατος εγγραφής της µνήµης. Αντίστοιχο όνοµα writeb για το ίδιο πεδίο πρέπει να αντικαταστήσει το όνοµα write στην εντολή αποθήκευσης. Άσκηση 2: Στην προσπάθειά µας για εξοικονόµηση χώρου στη µνήµη ελέγχου, κωδικοποιούµε τις µικρολειτουργίες σε διαφορετικά πεδία της µικροεντολής. Η κωδικοποίηση αυτή γίνεται µε τους εξής περιορισµούς: (α) Οι µικρολειτουργίες που εµφανίζονται στην ίδια µικροεντολή κωδικοποιούνται σε διαφορετικά πεδία, ώστε να µπορούν να εκτελούνται ταυτόχρονα. (β) Κάθε µικρολειτουργία κωδικοποιείται σε ένα και µόνο πεδίο, το ίδιο για όλες τις µικροεντολές στις οποίες αυτή εµφανίζεται. (γ) Κάθε πεδίο κωδικοποιεί και την κενή µικρολειτουργία. Προτείνετε µια µέθοδο κωδικοποίησης των µικρολειτουργιών µιας µονάδας επεξεργασίας δεδοµένων, η οποία να ικανοποιεί τους πιο πάνω περιορισµούς, και ταυτόχρονα να µεγιστοποιεί την εξοικονόµηση χώρου στη µνήµη ελέγχου. Παρουσιάστε ένα παράδειγµα εφαρµογής της µεθόδου σας. Απάντηση: Έστω n ο συνολικός αριθµός των µικρολειτουργιών της µονάδας επεξεργασίας δεδοµένων και k ο µέγιστος αριθµός µικρολειτουργιών σε µια µικροεντολή. Για να µην περιορίσουµε τη µέγιστη παραλληλία στην εκτέλεση µικρολειτουργιών, θα πρέπει σύµφωνα µε τον περιορισµό (α) ο αριθµός πεδίων της µικροεντολής να είναι τουλάχιστον ίσος µε k.

4 4 Η µοναδικότητα εµφάνισης κάθε µικρολειτουργίας σε κάποιο πεδίο της µικροεντολής, γεγονός που ικανοποιεί τον περιορισµό (β), επιτυγχάνεται µε την πράξη του διαµερισµού. Υποθέτουµε έτσι ότι διαµερίζουµε τις n µικρολειτουργίες σε m σύνολα για κωδικοποίηση σε m πεδία της µικροεντολής µε τέτοιον τρόπο, ώστε κανένα ζεύγος µικρολειτουργιών του ίδιου συνόλου να µην εµφανίζεται στην ίδια µικροεντολή, σύµφωνα µε τον περιορισµό (α). Εάν ο αριθµός των µικρολειτουργιών σε ένα από τα σύνολα της διαµέρισης είναι q i, τότε για να κωδικοποιηθούν αυτές οι µικρολειτουργίες σε ένα πεδίο, απαιτούνται C i = log 2 (q i +1) δυαδικά ψηφία, όπου το 1 προστίθεται για να συµπεριληφθεί η κενή µικρολειτουργία, όπως µας επιβάλλει ο περιορισµός (γ). Το σύνολο των ψηφίων που απαιτούνται για µια συγκεκριµένη δια- µέριση είναι: m m C = Σ C i = Σ log 2 (q i +1) i=1 i=1 Μία µέθοδος που µας δίνει τη διαµέριση εκείνη που ελαχιστοποιεί το C είναι η εξαντλητική µέθοδος. Αυτή βρίσκει όλες τις δυνατές διαµερίσεις των n µικρολειτουργιών σε m σύνολα που ικανοποιούν τον περιορισµό (α), και στη συνέχεια υπολογίζει την τιµή C για κάθε διαµέριση, ώστε να βρει τη ζητούµενη. Σύµφωνα µε τα παραπάνω, και λόγω της ικανοποίησης του περιορισµού (α), θα έχουµε m k. Άρα η εξαντλητική µέθοδος θα δοκιµάσει όλες τις δυνατές διαµερίσεις, µε m=k, k+1,, n-1, n. Μια πιο πρακτική µέθοδος περιγράφεται παρακάτω και ολοκληρώνεται σε τέσσερα βήµατα: 1. Εύρεση όλων των διαφορετικών συνόλων µικρολειτουργιών S i, καθένα από τα οποία περιλαµβάνει το µέγιστο αριθµό µικρολειτουργιών συµβιβαστών µεταξύ τους, δηλαδή µικρολειτουργιών που δε µπορούν να ανήκουν στην ίδια µικροεντολή. 2. Εύρεση όλων των διαφορετικών συνδυασµών B j των συνόλων S i, έτσι ώστε κάθε συνδυασµός Β j να έχει τον ελάχιστο αριθµό συνόλων S i και κάθε µικρολειτουργία να υπάρχει σε ένα τουλάχιστον σύνολο S i του συνδυασµού B j. Ένας τέτοιος συνδυασµός ονοµάζεται ελάχιστη κάλυψη. 3. Προσδιορισµός όλων των δυνατών τρόπων διαγραφής µικρολειτουργιών από τα σύνολα S i ενός συνδυασµού B j, έτσι ώστε κάθε συνδυασµός συνόλων να περιέχει κάθε µικρολειτουργία ακριβώς µία φορά. Έτσι προκύπτουν νέοι συνδυασµοί Μ t. 4. Εκτίµηση του κόστους C t κάθε συνδυασµού Μ t και επιλογή του συνδυασµού µε το ελάχιστο κόστος. Το βήµα 1 εκτελείται ως εξής: Αρχικά υποθέτουµε ότι έχουµε n σύνολα, τα οποία αποτελούν τα σύνολα του επιπέδου 1. Κάθε σύνολο σ αυτό το επίπεδο περιέχει µία ακριβώς µικρολειτουργία. Εάν έχουµε τα σύνολα του επιπέδου i, τότε τα σύνολα του επιπέδου i+1 βρίσκονται µε τον ακόλουθο τρόπο: Σε κάθε σύνολο του προηγούµενου επιπέδου προσθέτουµε µια νέα µικρολειτουργία, έτσι ώστε τα νέα σύνολα να εξακολουθήσουν να περιέχουν συµβιβαστές µικρολειτουργίες. οκιµάζουµε κάθε διαθέσιµη µικρολειτουργία, και εάν βρήκαµε κάποια νέα σύνολα, διαγράφουµε όλα τα υποσύνολα αυτών. Το βήµα 2 εκτελείται µε τη µέθοδο ελαχιστοποίησης λογικής συνάρτησης ως εξής: Σχεδιάζουµε έναν πίνακα όπου οι γραµµές αντιστοιχούν στα σύνολα S i και οι στήλες στις µικρολειτουργίες. Στη συνέχεια συµπληρώνουµε τον πίνακα σηµειώνοντας για κάθε γραµµή τις µικρολειτουργίες που περιέχονται στο αντίστοιχο σύνολο. Τέλος βρίσκουµε κάθε ελάχιστο συνδυασµό συνόλων που να καλύπτουν όλες τις µικρολειτουργίες. Στη διαδικασία αυτή, κάθε συνδυασµός B j περιέχει υποχρεωτικά τα σύνολα που έχουν αποκλειστικότητα στην κάλυψη κάποιων µικρολειτουργιών. Το βήµα 3 εκτελείται εξαντλητικά για την εύρεση των νέων συνδυασµών Μ t. Ας θεωρήσουµε το επόµενο παράδειγµα, στο οποίο 6 µικροεντολές µ 1, µ 2,, µ 6 ενεργοποιούν 7 µικρολειτουργίες c 1, c 2,, c 7, µε τον ακόλουθο τρόπο: µ 1 :c 1, c 4

5 5 µ 2 :c 2, c 3, c 7 µ 3 :c 1, c 2, c 3, c 4 µ 4 :c 3, c 4, c 5 µ 5 : c 1, c 6 µ 6 : c 2, c 5 Θα ακολουθήσουµε την παραπάνω µέθοδο για την εύρεση της βέλτιστης κωδικοποίησης της µικροεντολής σε πεδία. Βήµα 1: Επίπεδο 1: {c 1 }, {c 2 }, {c 3 }, {c 4 }, {c 5 }, {c 6 }, {c 7 } Επίπεδο 2: {c 1, c 5 }, {c 1, c 7 }, {c 2, c 6 }, {c 3, c 6 }, {c 4, c 6 }, {c 4, c 7 }, {c 5, c 6 }, {c 5, c 7 }, {c 6, c 7 } Επίπεδο 3: {c 1, c 5, c 7 }, {c 4, c 6, c 7 }, {c 5, c 6, c 7 } Για παράδειγµα, από το σύνολο {c 1 } µπορούµε να πάρουµε τα σύνολα {c 1, c 2 }, {c 1, c 3 }, {c 1, c 4 }, {c 1, c 5 }, {c 1, c 6 } και {c 1, c 7 }. Από αυτά τα 6 σύνολα, µόνο τα {c 1, c 5 } και {c 1, c 7 } περιέχουν συµβιβαστές µικρολειτουργίες, γι αυτό τα υπόλοιπα απορρίπτονται. Παρόµοια, από το σύνολο {c 1, c 5 } µπορούµε να πάρουµε τα σύνολα {c 1, c 5, c 6 } και {c 1, c 5, c 7 }. Όµως στο πρώτο από αυτά, οι µικρολειτουργίες c 1 και c 6 απαντώνται στη µικροεντολή µ 5 κι εποµένως είναι µη συµβιβαστές. Επιλέγουµε έτσι το δεύτερο. Βήµα 2: Ο πίνακας συνόλων/µικρολειτουργιών θα είναι: Μικρολειτουργίες Σύνολα c 1 c 2 c 3 c 4 c 5 c 6 c 7 S 1 = {c 2, c 6 } x x S 2 = {c 3, c 6 } x x S 3 = {c 1, c 5, c 7 } x x x S 4 = {c 4, c 6, c 7 } x x x S 5 = {c 5, c 6, c 7 } x x x Εύκολα µπορούµε να διαπιστώσουµε ότι τα σύνολα S 1, S 2, S 3 και S 4 λαµβάνονται υποχρεωτικά στους ζητούµενους συνδυασµούς B j, διότι είναι τα µόνα που καλύπτουν τις µικρολειτουργίες c 2, c 3, c 1 και c 4 αντίστοιχα. Επειδή οι υπόλοιπες µικρολειτουργίες καλύπτονται από τα σύνολα αυτά, κι επειδή ζητούµε τις ελάχιστες καλύψεις, θα έχουµε µόνο έναν αποδεκτό συνδυασµό Β 1, ο οποίος θα περιλαµβάνει τα 4 πρώτα σύνολα: Β 1 = {S 1, S 2, S 3, S 4 } Ο εναλλακτικός συνδυασµός Β 2 = {S 1, S 2, S 3, S 4, S 5 } δεν αποτελεί ελάχιστη κάλυψη, εφ όσον Β 1 Β 2. Βήµα 3,4: Αναγράφουµε τα 4 σύνολα και παίρνουµε όλους τους δυνατούς συνδυασµούς υποσυνόλων, έτσι ώστε να πάρουµε νέους συνδυασµούς που να αποτελούν τις διαµερίσεις M t των 7 µικρολειτουργιών. Ταυτόχρονα, υπολογίζουµε το κόστος C t κάθε διαµέρισης Μ t και το συµπληρώνουµε στον πίνακα. Παρατηρούµε ότι υπάρχουν 4 διαµερίσεις µε ελάχιστο κόστος ίσο µε 6 ψηφία ανά µικροεντολή: ιαµέριση S 1 S 2 S 3 S 4 Κόστος Μ 1 {c 2 } {c 3 } {c 1, c 5 } {c 4, c 6, c 7 } 6 Μ 2 {c 2 } {c 3 } {c 1, c 5, c 7 } {c 4, c 6 } 6 Μ 3 {c 2 } {c 3, c 6 } {c 1, c 5 } {c 4, c 7 } 7 Μ 4 {c 2 } {c 3, c 6 } {c 1, c 5, c 7 } {c 4 } 6 Μ 5 {c 2, c 6 } {c 3 } {c 1, c 5 } {c 4, c 7 } 7 Μ 6 {c 2, c 6 } {c 3 } {c 1, c 5, c 7 } {c 4 } 6 Β 1

6 6 Αν επιλέξουµε τη διαµέριση Μ 1 για την κωδικοποίηση που ζητάµε, θα έχουµε 4 πεδία. Το πρώτο θα κωδικοποιεί τη µικρολειτουργία c 2 µε το ψηφίο 1 και την κενή µε το ψηφίο 0. Το δεύτερο θα κωδικοποιεί τη µικρολειτουργία c 3 µε το ψηφίο 1 και την κενή µε το ψηφίο 0. Το τρίτο θα κωδικοποιεί τη µικρολειτουργία c 1 µε τα δύο ψηφία 01, την c 5 µε τα δύο ψηφία 10 και την κενή µε τα ψηφία 00. Το τελευταίο πεδίο κωδικοποιεί τη µικρολειτουργία c 4 µε τα δύο ψηφία 01, την c 6 µε τα ψηφία 10, την c 7 µε τα ψηφία 11 και την κενή µε τα ψηφία 00. Οι µικροεντολές που µας δίνονται θα κωδικοποιηθούν εποµένως ως εξής: µ 1 : µ 2 : µ 3 : µ 4 : µ 5 : µ 6 : Υποθέτουµε ότι τους κωδικούς πεδίων µικρολειτουργιών συνοδεύουν τα κατάλληλα πεδία άλµατος, τα οποία δε µας απασχολούν στην άσκηση αυτή. Η παραπάνω µέθοδος βρίσκει τη βέλτιστη κωδικοποίηση µικρολειτουργιών για εξοικονόµηση χώρου στη µνήµη ελέγχου και µπορεί να επεκταθεί προς δύο κατευθύνσεις: Α. Εάν έχουµε άνω φράγµα στον αριθµό ψηφίων της κάθε µικροεντολής, θα πρέπει πιθανά να τροποποιήσουµε τον περιορισµό (α), ώστε να επιτρέπεται στο ίδιο πεδίο κωδικοποίηση µικρολειτουργιών από την ίδια µικροεντολή. Το αποτέλεσµα αυτής της τροποποίησης είναι η απώλεια παραλληλίας στην εκτέλεση, και αύξηση του αριθµού των µικροεντολών. Στην περίπτωση αυτή, ο υπολογισµός του κόστους θα πρέπει να συνυπολογίζει τον αριθµό των µικροεντολών, και η µέθοδος θα πρέπει να µας δίνει κάποιο συνδυασµό µέγιστης εξοικονόµησης χώρου µε ελάχιστο αριθµό µικροεντολών. Β. Εάν έχουµε περιορισµούς στους χρόνους εκτέλεσης των µικρολειτουργιών, είναι πιθανό να µη µπορούµε να επιτρέψουµε κάποιες µικρολειτουργίες να ανήκουν σε πεδία µε µεγάλη κωδικοποίηση (δηλαδή κωδικοποίηση µε πολλά ψηφία). Αυτό συµβαίνει επειδή ο χρόνος αποκωδικοποίησης αυξάνεται µε µεγαλύτερη κωδικοποίηση, και µπορεί για αργές µικρολειτουργίες να αυξήσει το χρόνο κύκλου µηχανής. Εποµένως, θα τροποποιήσουµε το βήµα 1, έτσι ώστε η πρόσθεση µιας µικρολειτουργίας σε κάποιο σύνολο να µη γίνεται, όταν το µέγεθος κωδικοποίησης γίνεται έτσι απαγορευτικό για αυτήν ή για κάποια από όσες είναι ήδη στο σύνολο. Άσκηση 3: Η αρχιτεκτονική 80x86 διαθέτει την εντολή MOVS, η οποία µεταφέρει µια συµβολοσειρά (string) από µια περιοχή µνήµης σε κάποια άλλη. Έστω ότι θέλετε να διαθέσετε την πιο πάνω εντολή σε µικροπρογραµµατισµένη ΜΕ MIPS, µε τη µορφή: movs ($rt), off($rs) όπου οι καταχωρητές $rs και $rt περιέχουν τις αρχικές διευθύνσεις ανάγνωσης και εγγραφής της συµβολοσειράς αντίστοιχα, µε τον $rs να δέχεται και µια σταθερά µετατόπισης off. Γράψτε έναν όσο πιο σύντοµο µικροκώδικα µπορείτε για την υλοποίηση της παραπάνω εντολής, τροποποιώντας τη ΜΕ, ώστε να υποστηρίζει τη ροή πληροφορίας που χρειάζεστε. ε µπορείτε όµως να προσθέσετε νέους καταχωρητές ειδικού σκοπού, ούτε να τροποποιήσετε τις εισόδους στους ήδη υπάρχοντες. Η είσοδος διευθύνσεων της Μ Μ να γίνεται µόνο από τον C. Τέλος, αποτίµηση συνθηκών να γίνεται µόνο στην ΑΛΜ. Υποθέστε ότι η συµβολοσειρά τελειώνει µε το χαρακτήρα \0. Με την ολοκλήρωση της εντολής, οι $rs και $rt µπορούν να έχουν αλλαγµένη τιµή.

7 7 Απάντηση: Η εντολή µεταφοράς συµβολοσειράς µεταφέρει κάθε ψηφιολέξη αυτής, µέχρι να βρει τη σταθερά 0. Αν είχαµε τη δυνατότητα να σχεδιάσουµε τη ΜΕ από την αρχή, ώστε να επιλέξουµε τις υποµονάδες που θα µας έδιναν την καλύτερη δυνατή υλοποίηση, θα επιλέγαµε: (α) δύο ανεξάρτητους καταχωρητές δείκτες, οι οποίοι να αποθηκεύουν τις διευθύνσεις ανάγνωσης και εγγραφής της συµβολοσειράς µε δυνατότητα αυτόµατης αύξησης της τιµής τους κατά 1, (β) δυνατότητα ελέγχου µηδενικής τιµής πάνω στην έξοδο της µνήµης, που σε κάθε ανάγνωση φορτώνει ένα χαρακτήρα της συµβολοσειράς. Επειδή δεν έχουµε την ευχέρεια ευρείας παρέµβασης στην οργάνωση της ΜΕ, αλλά ουσιαστικά µόνο δυνατότητα τροποποίησης των υπαρχόντων δρόµων ροής πληροφορίας, θα πρέπει λίγο-πολύ να στηριχτούµε στις µικρολειτουργίες που υλοποιούν τις κοινές εντολές MIPS. Έτσι, αντί να προσπαθήσουµε να γράψουµε απ ευθείας το ζητούµενο µικροκώδικα, είναι ευκολότερο να ξεκινήσουµε από τον αντίστοιχο κώδικα σε συµβολική γλώσσα µε κοινές ε- ντολές MIPS και από αυτόν να προχωρήσουµε βήµα-βήµα προς τον τελικό µικροκώδικα. Εποµένως, θα ακολουθήσουµε την πιο κάτω διαδικασία για την εύρεση του ζητούµενου µικροκώδικα: Α. Ανάπτυξη κώδικα συµβολικής γλώσσας MIPS που υλοποιεί την αντίστοιχη µεταφορά. Β. Εύρεση µικροκώδικα που αντιστοιχεί σε µετάφραση αυτού του κώδικα στις αντίστοιχες µικροεντολές. Γ. Ανάλυση της ροής πληροφορίας που γίνεται κατά την εκτέλεση της εντολής και εισαγωγή τροποποιήσεων στη ΜΕ για να υποστηρίζει αυτή τη ροή, λαµβάνοντας υπ όψη τους περιορισµούς που µας δίνονται.. Σύµπτυξη του παραπάνω µικροκώδικα µε δεδοµένους τους νέους δρόµους ροής πληροφορίας, ώστε να πάρουµε έναν όσο το δυνατό συντοµότερο τελικό µικροκώδικα. Αναλυτικά: Α. Ο κώδικας σε συµβολική γλώσσα MIPS που µεταφέρει µια συµβολοσειρά από τη περιοχή µνήµης που αρχίζει στη διεύθυνση που περιέχεται στον καταχωρητή $rs µε µετατόπιση off στην περιοχή µνήµης που αρχίζει στη διεύθυνση που περιέχεται στον καταχωρητή $rt, µπορεί να είναι ο ακόλουθος: lb $tmp, off($rs) beq $tmp, $0, End Loop: sb $tmp, 0($rt) addi $rs, $rs, 1 addi $rt, $rt, 1 lb $tmp, off($rs) bne $tmp, $0, Loop End: sb $tmp, 0($rt) όπου ο καταχωρητής $tmp είναι κάποιος διαθέσιµος καταχωρητής γενικού σκοπού, τον οποίο χρησιµοποιούµε για την προσωρινή αποθήκευση ενός χαρακτήρα της συµβολοσειράς. Ο παραπάνω κώδικας ξεκινάει µε την ανάγνωση του πρώτου χαρακτήρα της συµβολοσειράς από την αντίστοιχη διεύθυνση ανάγνωσης. Στη συνέχεια ελέγχει αν αυτός έχει τιµή 0 (ή ισοδύναµα το χαρακτήρα \0 ), το οποίο θα σηµαίνει ότι η συµβολοσειρά είναι η δηλαδή η κενή συµβολοσειρά. Αν ο έλεγχος αποδειχτεί αληθής, ο κώδικας εκτελεί άλµα στην εντολή που βρίσκεται στην ετικέτα End, διαφορετικά συνεχίζεται µε την αποθήκευση του χαρακτήρα στην αντίστοιχη διεύθυνση αποθήκευσης. Οι καταχωρητές $rs και $rt αυξάνονται κατά 1, ώστε να πάµε στις επόµενες διευθύνσεις ανάγνωσης και αποθήκευσης αντίστοιχα, και διαβάζουµε τον επόµενο χαρακτήρα της συµβολοσειράς. Τέλος, επανελέγχουµε για µηδενική τιµή του χαρακτήρα, και σε αρνητικό συµπέρασµα δηλαδή µη µηδενική τιµή επαναλαµβάνου- µε τη διαδικασία µε την εντολή που βρίσκεται στην ετικέτα Loop. ιαφορετικά, ο κώδικας µεταφοράς ολοκληρώνεται µε την έξοδο από το βρόχο και εκτέλεση της εντολής στην ετικέτα End, η οποία είναι µια ακόµα εντολή αποθήκευσης που αποθηκεύει τον τελικό χαρακτήρα \0.

8 8 Παρατηρήστε ότι οι καταχωρητές $rs και $rt χρησιµοποιούνται σα δείκτες και αλλάζουν τιµή µεταξύ διαδοχικών επαναλήψεων, κάτι που µας επιτρέπει η εκφώνηση. Β. Για την εύρεση του µικροκώδικα που προκύπτει από τη µετάφραση καθεµιάς από τις παραπάνω εντολές, θα θεωρήσουµε τη µορφή της µικροεντολής MIPS που είδαµε στο µάθηµα. Πιο συγκεκριµένα, στη µορφή αυτή οι µικρολειτουργίες είναι χωρισµένες σε οµάδες, µε κάθε οµάδα να αναφέρεται είτε στις διαφορετικές µικρολειτουργίες που εκτελούνται στο ίδιο ση- µείο κάποιας υποµονάδας της ΜΕ, είτε στις διαφορετικές επιλογές κάποιας εισόδου µιας υποµονάδας της ΜΕ. Κάθε οµάδα µικρολειτουργιών κωδικοποιείται στο ίδιο πεδίο της µικροεντολής. Η κωδικοποίηση αυτή δεν εξασφαλίζει τη µέγιστη εξοικονόµηση χώρου στη µνήµη ελέγχου, αλλά είναι απλή και επιτυγχάνει πλήρη παραλληλία στην εκτέλεση των µικρολειτουργιών µιας µικροεντολής, εφ όσον οι µικρολειτουργίες κάθε οµάδας είναι εξ ορισµού συµβιβαστές (η µια αποκλείει την άλλη). O συνολικός µικροκώδικας που προκύπτει από τη µετάφραση κάθε εντολής ξεχωριστά ε- παναλαµβάνοντας εντολές όπου χρειάζεται είναι: Εντολή Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 lb $tmp,off($rs) LB: add A προ(ir) writedr beq $tmp,$0,end BEQ: sub A B C(Ζ==1) Loop: sb $tmp,0($rt) SB: add A προ(ir) writeb addi $rs,$rs,1 ADDI: add A προ(ir) writec addi $rt,$rt,1 ADDI: add A προ(ir) writec lb $tmp,off($rs) LB: add A προ(ir) writedr bne $tmp,$0,loop BNE: sub A B C(Ζ==0) End: sb $tmp,0($rt) SB: add A προ(ir) writeb όπου οι δύο πρώτες µικροεντολές αντιστοιχούν στις κοινές φάσεις ανάκλησης και αποκωδικοποίησης των εντολών MIPS. Στις µικροεντολές µε προσπέλαση στη µνήµη έχουµε προσθέσει στις αντίστοιχες µικρολειτουργίες την ένδειξη b για το µέγεθος δεδοµένου. Γ. Για να προχωρήσουµε προς την εντολή movs, πρέπει να κατανοήσουµε ότι ο τελικός µικροκώδικας θα αντιστοιχεί σε µία µόνο εντολή, οπότε θα περνάει µία µοναδική φορά από τις φάσεις ανάκλησης και αποκωδικοποίησης. Από εκεί και πέρα, µια σειρά από µικροεντολές θα εκτελούν την movs, µε τη βοήθεια των υποµονάδων και καταχωρητών της ΜΕ, µε τον περιορισµό ότι η τιµή του IR θα παραµένει σταθερή, όσο είµαστε στην ίδια εντολή, όπως θα παραµένει σταθερή και η τιµή του PC, δεδοµένου ότι η movs δεν είναι εντολή άλµατος. Άρα ο παραπάνω µικροκώδικας θα τροποποιηθεί µε µια διαδικασία ενοποίησης, στην οποία (α) θα αφαιρεθεί το άλµα στη διεύθυνση Fetch από όλες τις µικροεντολές πλην της τελευταίας που εκτελείται, και (β) κάθε άλµα σε επίπεδο εντολής που προηγουµένως τροποποιούσε τον PC πρέπει να γίνει άλµα σε επίπεδο µικροεντολής που τροποποιεί µόνο τον µpc. Σαν αποτέλεσµα των παραπάνω, όλες οι µικρολειτουργίες που χρησιµοποιούν τον IR πρέπει να διαβάζουν απ αυτόν τα πεδία της τελικής εντολής movs. Πιο συγκεκριµένα, οι µόνοι καταχωρητές γενικού σκοπού που µπορούν να προσπελαστούν είναι αυτοί που δηλώνονται στα πεδία rs και rt του IR, δηλαδή ο καταχωρητής µε διεύθυνση IR για τον $rs και ο καταχωρητής µε διεύθυνση IR για τον $rt. Σε κάθε ανάγνωση του

9 9 ΦΚ, ο πρώτος διαβάζεται στον καταχωρητή ειδικού σκοπού Α και ο δεύτερος στον καταχωρητή ειδικού σκοπού Β. Από την άλλη µεριά, όµως, όσο αφορά την εγγραφή στο ΦΚ, βλέπουµε ότι η ροή πληροφορίας που έχουµε στις δύο εντολές addi µας επιβάλλει να µπορούµε να εισάγουµε στο ΦΚ νέα τιµή τόσο για τον καταχωρητή $rs όσο και για τον καταχωρητή $rt. Εποµένως, θα προσθέσουµε στην είσοδο διευθύνσεων του ΦΚ τη δυνατότητα επιλογής διεύθυνσης εγγραφής και από το πεδίο IR 25-21, επιπλέον του πεδίου IR που ήδη επιλέγεται. Επειδή η εντολή movs είναι κωδικοποιηµένη µε σταθερά µετατόπισης, το µόνο άλλο πεδίο του IR που µπορούµε να χρησιµοποιήσουµε είναι το πεδίο σταθεράς IR Αυτό λοιπόν θα περιέχει τη µετατόπιση που προστίθεται στο περιεχόµενο του καταχωρητή $rs. Οι περιπτώσεις στις οποίες χρειαζόµαστε κάποια άλλη σταθερά από τη λέξη εντολής, όπως εδώ συµβαίνει στις επιµέρους εντολές sb, addi, beq και bne, πρέπει να αντιµετωπιστούν διαφορετικά. Η πιο απλή λύση, την οποία και θα υιοθετήσουµε, είναι να υποθέσουµε ότι η είσοδος ΑΛΜ2 µπορεί να επιλέξει, εκτός των Β και προ(ir), απ ευθείας και τις σταθερές που θέλουµε, οι οποίες εδώ είναι οι 0 και 1. Η εντολή movs δεν µας παρέχει τον καταχωρητή γενικού σκοπού $tmp που χρησιµοποιήσαµε στον αρχικό κώδικα MIPS. Εποµένως, θα πρέπει να αντικαταστήσουµε τον $tmp µε κάποιον από τους καταχωρητές ειδικού σκοπού της ΜΕ. Εφόσον η τιµή που διαβάζουµε από τη µνήµη τοποθετείται αυτόµατα στον DR, είναι βολικό στη θέση του $tmp να χρησιµοποιήσουµε τον καταχωρητή DR. Ο καταχωρητής PC δε µπορεί να χρησιµοποιηθεί στις εντολές beq και bne. Τα αντίστοιχα άλµατα µεταφέρονται στο πιο χαµηλό επίπεδο των µικροεντολών, όπου θα πρέπει να εισάγουµε δύο συνθήκες άλµατος, τις ΑΛΜZ και ΑΛΜΝZ, για µηδενική και µη µηδενική έξοδο της ΑΛΜ, αντίστοιχα. Το κύκλωµα µpc δέχεται τις δύο συνθήκες, και εάν είναι αληθείς, θέτει στον µpc την κατάλληλη νέα διεύθυνση µικροκώδικα. Όπως µε το µικροκώδικα εντολών διακλάδωσης MIPS για τον PC, έτσι και εδώ για τον µpc ο έλεγχος των παραπάνω συνθηκών γίνεται στον ίδιο κύκλο µηχανής µε την πράξη της σύγκρισης στην ΑΛΜ. Συµπληρώνοντας την ανάλυση ροής πληροφορίας για τη νέα εντολή, παρατηρούµε τα εξής: 1. Η ΑΛΜ εκτελεί πράξεις τόσο πάνω στην τιµή του καταχωρητή $rs, όσο και πάνω στην τιµή του καταχωρητή $rt. Επειδή ο πρώτος διαβάζεται στον Α και ο δεύτερος διαβάζεται στον Β, θα προσθέσουµε τη δυνατότητα επιλογής της εισόδου ΑΛΜ1 και από τον Β. 2. Ο καταχωρητής DR χρησιµοποιείται από την ΑΛΜ για σύγκριση µε το 0. Θα συνδέσου- µε έτσι την έξοδο του DR µε την ΑΛΜ, και θα υποθέσουµε ότι η ΑΛΜ επιλέγει και τον DR για την είσοδο ΑΛΜ1. 3. Η τιµή του DR χρησιµοποιείται και για επακόλουθη εγγραφή στη µνήµη. Άρα, θα χρειαστεί να προσθέσουµε στη Μ Μ τη δυνατότητα επιλογής εισόδου δεδοµένων εγγραφής και από τον DR. Παρόλο που η τιµή εγγραφής µπορεί να ληφθεί και από τον C µετά την αφαίρεση του 0 από την τιµή του DR, ο C πρέπει να παρέχει τη διεύθυνση προσπέλασης, και δε µπορεί να παρέχει ταυτόχρονα και τα δεδοµένα εγγραφής! Ούτως ή άλλως, ούτε ο DR ούτε ο C δεν είναι συνδεµένοι µε την είσοδο δεδοµένων εγγραφής της Μ Μ, κι επο- µένως θα πρέπει να τροποποιήσουµε τους δρόµους ροής πληροφορίας προς τη µνήµη, είτε για τη µία είτε για την άλλη περίπτωση. Με βάση την παραπάνω ανάλυση παίρνουµε τον ακόλουθο µικροκώδικα: Εντολή Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 lb $tmp,off($rs) MOVS: add A προ(ir) beq $tmp,$0,end brαλμζ End sub DR 0 Loop: sb $tmp,0($rt) Loop: add B 0 writebdr addi $rs,$rs,1 add A 1 write1c addi $rt,$rt,1 add B 1 write2c

10 10 lb $tmp,off($rs) add A προ(ir) bne $tmp,$0,loop brαλμνz Loop sub DR 0 End: sb $tmp,0($rt) End: add B 0 writebdr Η ενοποίηση των εντολών στον µικροκώδικα της εντολής movs απαλείφει την επανάληψη των φάσεων ανάκλησης και αποκωδικοποίησης για κάθε εντολή και την περιορίζει στην αρχή της νέας εντολής. Ειδικότερα, όσο αφορά τη φάση αποκωδικοποίησης, δεν απαιτείται ο υπολογισµός της διεύθυνσης προορισµού άλµατος στην ΑΛΜ για τις επιµέρους εντολές µετά την πρώτη, εφ όσον ενδιάµεσα άλµατα µε συνθήκη υλοποιούνται σε επίπεδο µικροεντολών, όπως ήδη αναφέρα- µε, και στο µικροκώδικα η διεύθυνση προορισµού υπολογίζεται µε ανεξάρτητα κυκλώµατα. Η µικρολειτουργία άλµατος disp µας οδηγεί στην πρώτη µικροεντολή της εκτέλεσης της νέας εντολής movs, µε ετικέτα MOVS. Στον παραπάνω πίνακα έχουµε σηµειώσει µε write1c και µε write2c την εγγραφή από τον C στο ΦΚ µε διεύθυνση εγγραφής IR και IR αντίστοιχα. Παρατηρήστε ότι οι ετικέτες Loop και End που αρχικά αναφέρονταν σε εντολές, τώρα θα γίνουν ετικέτες στις αντίστοιχες µικροεντολές. Ο µικροκώδικας που δώσαµε είναι πιθανό να µην είναι ακόµα σωστός, λόγω λανθασµένου χρονισµού σε εξαρτήσεις µεταξύ µικρολειτουργιών. Τέτοιο θέµα προκύπτει όταν ένα δεδοµένο παράγεται σε υποµονάδα της ΜΕ, αλλά δε χρησιµοποιείται από κάποια εξαρτηµένη µικρολειτουργία τη στιγµή που πρέπει, αλλά χρησιµοποιείται είτε νωρίτερα, είτε αργότερα. Έ- τσι, οποτεδήποτε συµβαίνει εγγραφή σε κάποιον καταχωρητή ειδικού σκοπού που δε διαθέτει επίτρεψη εγγραφής, το δεδοµένο που αποθηκεύεται σε αυτόν θα πρέπει να καταναλώνεται στον αµέσως επόµενο κύκλο µηχανής. Αν κάτι τέτοιο δεν είναι εφικτό, θα χρειαστεί να προσθέσουµε σε αυτόν επίτρεψη εγγραφής. Παρόµοιο θέµα εµφανίζεται όταν στο µικροκώδικα υπάρχει ενδιάµεση εγγραφή στο ΦΚ, ο- πότε οι νέες τιµές περνάνε στους Α και Β αν βέβαια ο καταχωρητής που γράφεται ταυτίζεται µε κάποιον από τους δύο καταχωρητές ανάγνωσης µετά την εγγραφή. Θα επανέλθουµε στο χρονισµό των µικρολειτουργιών στο επόµενο βήµα, αφού η όποια πιθανή σύµπτυξη θα αλλάξει τις σχετικές θέσεις των µικρολειτουργιών που απαιτούν διόρθωση χρονισµού.. Ο τελικός µικροκώδικας βρίσκεται µε σύµπτυξη διαδοχικών µικροεντολών, οι οποίες ε- κτελούν µικρολειτουργίες που ανήκουν σε διαφορετικά πεδία, και οι οποίες ακολουθούν υποχρεωτικά η µία την άλλη, χωρίς όµως η δεύτερη να είναι εξαρτηµένη από την πρώτη, δηλαδή καµία µικρολειτουργία της δεύτερης µικροεντολής να µη χρησιµοποιεί το αποτέλεσµα µιας µικρολειτουργίας της πρώτης. Έτσι, η τελευταία µικροεντολή της πρώτης από τις δύο εντολές sb µπορεί να συµπτυχθεί µε την πρώτη µικροεντολή της επόµενης εντολής addi, αφού η µεν εκτελεί µόνο εγγραφή στη µνήµη, η δε εκτελεί µόνο πρόσθεση στην ΑΛΜ, ενώ η ροή από τη µία φτάνει στην άλλη χωρίς διακλάδωση. Φαινοµενικά, η τελευταία µικροεντολή της πρώτης από τις δύο addi µπορεί να συµπτυχθεί µε την πρώτη µικροεντολή της δεύτερης addi, επειδή οι εκτελούµενες µικρολειτουργίες ανήκουν σε διαφορετικά πεδία, και επειδή η ροή από τη µία φτάνει πάντα στην άλλη. Όµως, η πρώτη µικροεντολή γράφει το ΦΚ, και συγκεκριµένα τον καταχωρητή $rs. Υποθέτοντας ότι σε κάθε κύκλο συµβαίνει ανάγνωση του ΦΚ, στο τέλος του κύκλου στον οποίο γίνεται η εγγραφή, ο καταχωρητής ειδικού σκοπού Α που λαµβάνει την τιµή του $rs θα πάρει από τον ΦΚ την τιµή που µόλις γράφτηκε. Επειδή η δεύτερη µικροεντολή χρησιµοποιεί τον καταχωρητή Β για την πρόσθεση, δεν υπάρχει πρόβληµα, εκτός εάν οι καταχωρητές $rs και $rt συµπίπτουν. Σε µια τέτοια περίπτωση, θα υπάρχει εξάρτηση µεταξύ των µικρολειτουργιών εγγραφής του ΦΚ και επιλογής του Β στο πεδίο ΑΛΜ1, οπότε η σύµπτυξη θα παραβιάσει την εξάρτηση αυτή. Κοιτάζοντας όµως προσεκτικότερα, θα διαπιστώσουµε ότι η τήρηση της εξάρτησης σε µια τέτοια περίπτωση θα οδηγήσει σε αύξηση του ίδιου καταχωρητή δύο φορές, µία από την πρώτη και µία από τη δεύτερη addi! Παρόλο που ο αρχικός κώδικας MIPS αυτό ακριβώς κά-

11 11 νει, το σωστό είναι η αύξηση να γίνεται µία φορά αν οι δύο καταχωρητές συµπίπτουν, οπότε µε σύµπτυξη των δύο µικροεντολών οπότε δεν προλαβαίνει να διαβαστεί ο Β µε τη νέα τιµή η δεύτερη αύξηση θα γίνει στην παλιά τιµή του $rt, και στην ουσία θα ακυρώνει την πρώτη. Εποµένως θα πρέπει να συµπτύξουµε τις δύο µικροεντολές, όχι µόνο για βελτίωση του µικροκώδικα, αλλά και για ορθή εκτέλεσή του! Φυσικά αν οι δύο καταχωρητές δε συµπίπτουν, η σύµπτυξη δεν έχει καµία επίδραση στα αποτελέσµατα των δύο προσθέσεων. Προχωρώντας πιο κάτω, βλέπουµε ότι το ίδιο ακριβώς συµβαίνει µεταξύ της τελευταίας µικροεντολής της δεύτερης addi και της πρώτης µικροεντολής της εντολής lb που ακολουθεί. Και εδώ έχουµε µια εγγραφή του ΦΚ που ακολουθείται από χρήση του καταχωρητή ειδικού σκοπού Α. Ο ΦΚ όµως γράφει τον καταχωρητή $rt, ο οποίος κανονικά περνάει στον Β, κι εποµένως παραβίαση εξάρτησης σε σύµπτυξη θα συµβεί µόνο αν οι δύο καταχωρητές $rs και $rt συµπίπτουν. Τώρα όµως, η τιµή που χρειαζόµαστε έχει ήδη γραφτεί στο ΦΚ από την πρώτη addi, και αν δεν είχαµε κάνει την προηγούµενη σύµπτυξη, θα διαβάζαµε από τον ΦΚ την λανθασµένη, διπλά αυξηµένη τιµή του καταχωρητή, την οποία θα έγραφε στο ΦΚ η δεύτερη addi! Εδώ βέβαια, λόγω της υποχρεωτικής προηγούµενης σύµπτυξης, η τιµή που διαβάζεται είναι η σωστή, ακόµα κι αν δε συµπτύξουµε τις δύο µικροεντολές addi και lb, αφού όταν οι δύο καταχωρητές συµπίπτουν, οι δύο διαδοχικές addi θα γράφουν στο ΦΚ την ίδια τιµή. Ε- µείς θα επιλέξουµε τη σύµπτυξη για βελτίωση της απόδοσης του µικροκώδικα. Γενικά, δε µπορεί να γίνει σύµπτυξη µεταξύ δύο µικροεντολών, όταν υπάρχει κάποια εξάρτηση µεταξύ τους. Σε τέτοια περίπτωση όµως, µπορούµε να εξετάσουµε εάν κάποια µερική σύµπτυξη µπορεί να παράγει πιο σύντοµο µικροκώδικα, εάν δηλαδή µπορούµε να µεταφέρουµε µέρος µιας µικροεντολής σε προηγούµενη και το υπόλοιπο σε επόµενη. Οι µικρολειτουργίες κάποιας µικροεντολής που πρέπει να ενεργοποιούνται στον ίδιο κύκλο µηχανής δε µπορούν να διαχωριστούν για µερική σύµπτυξη. Για παράδειγµα, δε µπορούµε να διαχωρίσουµε µια µικρολειτουργία του πεδίου ΑΛΜ από τις αντίστοιχες επιλογές των πεδίων ΑΛΜ1 και ΑΛΜ2. Η µόνη περίπτωση µικρολειτουργιών από τον παραπάνω µικροκώδικα που δεν απαιτείται να ενεργοποιούνται στον ίδιο κύκλο µηχανής είναι στη µικροεντολή ανάκλησης, και συγκεκρι- µένα η µικρολειτουργία του πεδίου ΜΕΜ σε σχέση µε τις υπόλοιπες που σχετίζονται µε την αύξηση του PC. Όµως, δε µπορεί να γίνει µερική σύµπτυξη µε την επόµενη µικροεντολή, επειδή τόσο η ανάγνωση της µνήµης όσο και η αύξηση του PC έχουν αποτέλεσµα που χρησι- µοποιείται σε αυτήν. Τελικά δεν προκύπτει καµία άλλη σύµπτυξη στον µικροκώδικα, κι έτσι καταλήγουµε στον παρακάτω µικροκώδικα της εντολής movs: Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 MOVS: add A προ(ir) brαλμζ End sub DR 0 Loop: add B 0 add A 1 writebdr add B 1 write1c add A προ(ir) write2c brαλμνz Loop sub DR 0 End: add B 0 writebdr Ο χρονισµός στον παραπάνω µικροκώδικα µας επιβάλλει την εισαγωγή επίτρεψης εγγραφής στον καταχωρητή ειδικού σκοπού DR. ιαφορετικά, σύµφωνα µε όσα αναφέραµε και νωρίτερα, η χρήση του ως πηγή δεδοµένων προς αποθήκευση στη µνήµη θα ήταν σωστή, µόνο αν η αποθήκευση γινόταν αµέσως µετά την αντίστοιχη φόρτωση. Χωρίς επίτρεψη εγγραφής, το

12 12 περιεχόµενο του DR αλλάζει σε κάθε κύκλο µηχανής. Έτσι, αν στον κύκλο που προηγείται της αποθήκευσης δεν υπάρχει φόρτωση, η τιµή που αποθηκεύεται είναι απροσδιόριστη. Επειδή στον παραπάνω µικροκώδικα οι αποθηκεύσεις δεν ακολουθούν άµεσα τις φορτώσεις, ούτε θα µπορούσαµε να τις κάνουµε να ακολουθούν, επειδή πρέπει να µεσολαβεί η αποτίµηση της συνθήκης τερµατισµού της εντολής movs, δεν έχουµε άλλη λύση από την προσθήκη στον DR σήµατος επίτρεψης εγγραφής. Το σήµα αυτό θα ενεργοποιείται, κάθε φορά που έχουµε φόρτωση από τη µνήµη, κι έτσι το περιεχόµενο του DR θα διατηρείται µέχρι την επόµενη φόρτωση, και θα µπορεί να χρησιµοποιηθεί από όσες ενδιάµεσες µικροεντολές το χρειάζονται. Ο παραπάνω µικροκώδικας προκύπτει για τους περιορισµούς που δίνονται στην εκφώνηση της άσκησης. Ας δούµε στη συνέχεια, πώς θα διαµορφωνόταν ο µικροκώδικας, αν είχαµε µεγαλύτερη ελευθερία σε τροποποιήσεις στη ΜΕ. Κατ αρχήν, ας θεωρήσουµε τη δυνατότητα ελέγχου µηδενικής τιµής κατ ευθείαν πάνω στα δεδοµένα που φορτώνονται από τη µνήµη, πριν αυτά αποθηκευτούν στον καταχωρητή DR. Σε τέτοια περίπτωση, δεν είναι αναγκαίο να χρησιµοποιηθεί η ΑΛΜ για την αποτίµηση της συνθήκης. Έτσι, µπορούµε µε κατάλληλη σύµπτυξη να τοποθετήσουµε τις αποθηκεύσεις α- µέσως κάτω από τις φορτώσεις, και να αποφύγουµε την προσθήκη επίτρεψης εγγραφής στον DR, επιτυγχάνοντας µάλιστα αρκετά πιο σύντοµο µικροκώδικα. Υποθέτοντας ότι ο έλεγχος µηδενικής τιµής γίνεται στην έξοδο της µνήµης µε δύο συµπληρωµατικές συνθήκες άλµατος Μ ΜZ (µηδενική τιµή από µνήµη) και Μ ΜΝZ (µη µηδενική τιµή από µνήµη), ο µικροκώδικας διαµορφώνεται ως εξής: Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 MOVS: add A προ(ir) brμ ΜΖ End add B 0 Loop: add A 1 writebdr add B 1 write1αλμ add A προ(ir) write2αλμ brμ ΜΝZ Loop add B 0 End: fetch writebdr Παρατηρήστε ότι ο υπολογισµός της διεύθυνσης αποθήκευσης τώρα γίνεται στις µικροεντολές που ελέγχουν τη συνθήκη µηδενικής τιµής, αφού δεν απαιτείται η ΑΛΜ για τον έλεγχο, και από την άλλη η ροή ελέγχου είναι τέτοια, που όποιο και να είναι το αποτέλεσµα των διακλαδώσεων, ακολουθεί πάντα εγγραφή στη µνήµη. Παρόµοια, αν µπορούµε να έχουµε επιλογή διεύθυνσης στη Μ Μ και από τον B, δε χρειάζεται να προσθέσουµε το περιεχόµενο του Β µε το 0, ώστε να λάβουµε τη διεύθυνση από τον C. Επιπλέον, µπορούµε να λάβουµε το δεδοµένο προς αποθήκευση από τον C, όπου βρίσκεται µετά τον έλεγχο µηδενικής τιµής, και πάλι αποφεύγοντας την επίτρεψη εγγραφής στον DR. Θα πρέπει όµως να έχουµε σύνδεση τόσο του Β προς την είσοδο διευθύνσεων, όσο και του C αντί του DR προς την είσοδο δεδοµένων της Μ Μ. Με αυτή τη δυνατότητα, αλλά χωρίς τη δυνατότητα ελέγχου στην έξοδο της µνήµης, ο µικροκώδικας γίνεται: Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 MOVS: add A προ(ir) brαλμζ End sub DR 0 Loop: add A 1 writebc(b) add B 1 write1αλμ add A προ(ir) write2αλμ brαλμνz Loop sub DR 0

13 13 End: fetch writebc(b) όπου µε writebc(b) συµβολίσαµε την ενεργοποίηση εγγραφής µιας ψηφιολέξης στη µνήµη από τον C και µε διεύθυνση που παρέχει ο Β. Μπορείτε να βρείτε τη µορφή που θα έπαιρνε ο µικροκώδικας, αν είχαµε ταυτόχρονα και τις δύο πιο πάνω τροποποιήσεις της ΜΕ. Ακόµα και έτσι, καταφέραµε να µειώσουµε το σώµα του βρόχου περίπου στο µισό του αρχικού, κάνοντας την εντολή movs σηµαντικά πιο γρήγορη. Αυτό δείχνει πώς µικρές βελτιώσεις σε µια ΜΕ µπορούν να επιφέρουν µεγάλες βελτιώσεις στην απόδοση των επεξεργαστών. Ας σηµειώσουµε τέλος, ότι αν δε µας επιτρεπόταν αλλαγή στις τιµές των δύο καταχωρητών $rs και $rt, θα έπρεπε να χρησιµοποιήσουµε άλλους καταχωρητές ειδικού σκοπού για προσωρινή αποθήκευση των διευθύνσεων προσπέλασης µνήµης. Αν δεν µας αρκούσαν οι ήδη υπάρχοντες A, B, C και DR, θα έπρεπε να εισάγουµε νέους καταχωρητές και να δηµιουργήσουµε τις κατάλληλες συνδέσεις µε πολυπλέκτες και αντίστοιχα σήµατα ελέγχου. Επιπλέον, είναι πιθανό να έπρεπε να τροποποιήσουµε τη µορφή της µικροεντολής, ώστε να περιλαµβάνει και πεδία διαχείρισης αυτών των καταχωρητών. Αν για παράδειγµα θέλαµε να χρησιµοποιήσουµε τους Α και Β για την αποθήκευση των δύο διευθύνσεων προσπέλασης µνήµης, θα εισάγαµε δύο πολυπλέκτες επιλογής εισόδου στους Α και Β, ώστε να µπορούν να λάβουν τιµή και από την έξοδο της ΑΛΜ εκτός από τον ΦΚ, και να αποθηκεύουν έτσι τα αποτελέσµατα της αύξησης κατά 1 των δύο διευθύνσεων της προηγούµενης επανάληψης. Οι δύο καταχωρητές θα έπρεπε να διαθέτουν επίτρεψη εγγραφής, ώ- στε να µη χάνεται η τιµή που εγγράφεται σε αυτούς από την έξοδο της ΑΛΜ σε επόµενους κύκλους µηχανής. Επιπλέον, οι Α και Β λαµβάνουν τιµή από το ΦΚ κατά τη φάση αποκωδικοποίησης, κάτι που θα έπρεπε να αναφέρεται στο µικροκώδικα. Έτσι, η µικροεντολή θα έ- πρεπε να περιλαµβάνει δύο πρόσθετα πεδία για την επιλογή εισόδου των Α και Β, τα οποία αν δεν είναι κενά να υπονοούν και επίτρεψη εγγραφής. Θεωρώντας τον πρώτο τελικό µικροκώδικα που γράψαµε, λαµβάνοντας υπόψη τα παραπάνω, θα καταλήγαµε στον ακόλουθο µικροκώδικα: Ετικέτα Άλµα ΑΛΜ ΑΛΜ1 ΑΛΜ2 Α Β ΦΚ ΜΕΜ PC Fetch: add PC 4 readir ΑΛΜ disp add PC προ(ir) <<2 ΦΚ ΦΚ MOVS: add A προ(ir) brαλμζ End sub DR 0 Loop: add B 0 add A 1 ΑΛΜ writebdr add B 1 ΑΛΜ add A προ(ir) brαλμνz Loop sub DR 0 End: add B 0 writebdr Άσκηση 4: Θεωρήστε τον αλγόριθµο πρόσθεσης αριθµών κινητής υποδιαστολής του προτύπου ΙΕΕΕ 754 που δίνεται στην επόµενη σελίδα. Ορίστε µια αρχιτεκτονική που εκτελεί την πράξη του αλγορίθ- µου αυτού και περιγράψτε τις µικρολειτουργίες της. Σχεδιάστε µια µικροπρογραµµατισµένη µονάδα ελέγχου γι αυτή την αρχιτεκτονική, δίνοντας το µικροκώδικα και τις αντίστοιχες συνθήκες άλµατος.

14 14 Αρχή Ευθυγράµµιση Όρων Πρόσθεση Συντελεστών Κανονικοποίηση Υπερχείλιση ή Υποχείλιση? ΝΑΙ ΟΧΙ Στρογγυλοποίηση Εξαίρεση ΟΧΙ 1. Υποµονάδα Ευθυγράµµισης. Αυτή παίρνει τους δύο προσθετέους και τους ευθυγραµµίζει. Ειδικότερα, συγκρίνει µε µια πράξη αφαίρεσης τους δύο εκθέτες και ολισθαίνει τον συντελεστή του αριθµού µε το µικρότερο εκθέτη τόσες θέσεις δεξιά, όση είναι η απόλυτη τιµή της διαφοράς, συνυπολογίζοντας στην ολίσθηση και το ψηφίο 1 του ακέραιου µέρους του αριθµού. Ο µεγαλύτερος από τους δύο εκθέτες θα είναι και ο αρχικός εκθέτης του αθροίσµατος. 2. ΑΛΜ. Αυτή εκτελεί τις πράξεις της πρόσθεσης και της αφαίρεσης, ανάλογα µε το σχετικό πρόσηµο των δύο προσθετέων. έχεται ως εισόδους τους δύο συντελεστές µετά την ευθυγράµµιση, συνυπολογίζοντας στην πράξη και το πιθανό ψηφίο 1 του ακέραιου µέρους των αριθµών. 3. Υποµονάδα Κανονικοποίησης. Αυτή κανονικοποιεί το άθροισµα, δεδοµένου ότι η έξοδος της ΑΛΜ µπορεί να µην αντιστοιχεί σε κανονικοποιηµένο αριθµό κινητής υποδιαστολής. Ειδικότερα, διακρίνει δύο περιπτώσεις µη κανονικοποιηµένου αποτελέσµατος: (α) Εάν το ακέραιο µέρος του αθροίσµατος είναι τα δύο ψηφία 10 ή 11, ολισθαίνει το συντελεστή δεξιά, και ταυτόχρονα αυξάνει τον εκθέτη κατά 1. (β) Εάν το ακέραιο µέρος του αθροίσµατος είναι τα δύο ψηφία 00 και το άθροισµα δεν είναι το 0, ολισθαίνει το συντελεστή τόσες θέσεις αριστερά, µέχρι να εµφανιστεί 1 στο ακέραιο µέρος του αθροίσµατος. Ταυτόχρονα µειώνει αντίστοιχα τον εκθέτη. 4. Υποµονάδα Στρογγυλοποίησης. Αυτή στρογγυλοποιεί το κανονικοποιηµένο άθροισµα, µια που η προηγούµενη φάση παράγει αριθµό µεγαλύτερης ακρίβειας από την αναπαράσταση που έχουµε. Ο ακριβής αλγόριθµος στρογγυλοποίησης δε µας απασχολεί. Το αποτέλεσµά του όµως µπορεί να µην είναι κανονικοποιηµένο, οπότε θα πρέπει να το ξαναστείλουµε πίσω στην υποµονάδα κανονικοποίησης, πριν πάρουµε το τελικό αποτέλεσµα. 5. Υποµονάδα Ελέγχου. Αυτή ενεργοποιεί όλες τις µικρολειτουργίες της µονάδας µέσω µικροπρογραµµατισµένης λογικής. Έτσι, επιλέγει το µεγαλύτερο εκθέτη και τους αντίστοι- Κανονικοποιηµέ-? ΝΑΙ Τέλος Απάντηση: Υποθέτουµε ότι η ζητούµενη µονάδα πρόσθεσης διαβάζει τους προσθετέους από δύο καταχωρητές κινητής υποδιαστολής Α και Β, και επιστρέφει το άθροισµα σε έναν τρίτο C. Θα α- ποτελείται δε από τις ακόλουθες 5 υποµονάδες:

15 15 χους συντελεστές για την υποµονάδα ευθυγράµµισης, ελέγχει το πρόσηµο των προσθετέων και αποφασίζει για τη σωστή πράξη µεταξύ των συντελεστών, ελέγχει την υποµονάδα κανονικοποίησης µε βάση το ακέραιο µέρος του αποτελέσµατος της ΑΛΜ και αποφασίζει για υπερχείλιση ή υποχείλιση, ελέγχει το αποτέλεσµα της στρογγυλοποίησης και αποφασίζει για πιθανή επανάληψη της κανονικοποίησης, ενώ τέλος παράγει και το τελικό πρόσηµο του αθροίσµατος. Η αρχιτεκτονική της ζητούµενης µονάδας απεικονίζεται στο διάγραµµα που ακολουθεί: A π εκθέτης συντελεστής B π εκθέτης συντελεστής ε-αλμ Υποµονάδα Ευθυγράµµισης 1. Έχουµε 4 καταχωρητές ειδικού σκοπού για την αποθήκευση ενδιάµεσων αποτελεσµάτων. (α) Ο καταχωρητής ε αποθηκεύει το αποτέλεσµα της αφαίρεσης των δύο εκθετών. (β) Ο καταχωρητής ΑΒ αποθηκεύει το αποτέλεσµα της ολίσθησης του συντελεστή που αντιστοιχεί στο µικρότερο εκθέτη κατά τη φάση της ευθυγράµµισης. (γ) Ο καταχωρητής Ε αποθηκεύει τον προσωρινό εκθέτη του αθροίσµατος. Μπορεί να αυξάνει ή να µειώνει το περιεχόµενό του κατά 1 µε κατάλληλο σήµα ελέγχου. (δ) Ο καταχωρητής Σ αποθηκεύει το προσωρινό συντελεστή του αθροίσµατος. Λειτουργεί ως καταχωρητής ολίσθησης, ο- λισθαίνοντας το περιεχόµενό του κατά µία θέση δεξιά ή αριστερά µε κατάλληλο σήµα ελέγχου. 2. Έχουµε 5 σηµεία επιλογής πληροφορίας, στα οποία τοποθετούµε πολυπλέκτες 2 1: (α) Ο ολισθητής της υποµονάδας ευθυγράµµισης δέχεται είσοδο από έναν από τους Α και Β. (β) Η ίδια επιλογή γίνεται και για τη δεύτερη είσοδο της ΑΛΜ. (γ) Ο δρόµος από την είε Ολίσθηση ΑΒ Υποµονάδα Ελέγχου ΑΛΜ Ε Υποµονάδα Κανονικοποίησης Σ Υποµονάδα Στρογγυλοποίησης Στο διάγραµµα αυτό παρατηρούµε τα εξής: C π εκθέτης συντελεστής

16 16 σοδο προς τον καταχωρητή Ε µεταφέρει τον έναν από τους δύο εκθέτες εισόδου. (δ) Η είσοδος του Ε µπορεί να γίνει είτε από τους Α και Β, είτε από την έξοδο εκθέτη της υπο- µονάδας στρογγυλοποίησης. (ε) Η είσοδος στο Σ µπορεί να γίνει είτε από την ΑΛΜ είτε από την έξοδο συντελεστή της υποµονάδας στρογγυλοποίησης. 3. Υποθέτουµε ότι οι υποµονάδες εκτέλεσης πράξεων ε-αλμ και ΑΛΜ παράγουν το αποτέλεσµά τους στη µορφή πρόσηµο/µέτρο. Τα δύο πρόσηµα εξόδου στέλνονται στην υπο- µονάδα ελέγχου, το πρώτο για την επιλογή εκθετών και συντελεστών στην υποµονάδα ευθυγράµµισης, το δεύτερο για τον υπολογισµό του τελικού προσήµου του αθροίσµατος. 4. Σε κάθε πράξη, η ΑΛΜ συµπεριλαµβάνει το ακέραιο ψηφίο των προσθετέων. Αν αυτοί είναι ευθυγραµµισµένοι, το άθροισµα (σε περίπτωση πράξης πρόσθεσης) δίνει κρατούµενο εξόδου, το οποίο αποθηκεύουµε στον Σ σα δεύτερο και σηµαντικότερο ψηφίο του α- κέραιου µέρους του αποτελέσµατος. Αυτό θα απαλειφτεί µε την κανονικοποίηση. 5. Η αρχή της πρόσθεσης σηµατοδοτείται από τη ΜΕ της ΚΜΕ µε την εγγραφή των καταχωρητών Α και Β. Το τέλος της πρόσθεσης σηµατοδοτείται είτε µε την εγγραφή στον C, είτε µε την ένδειξη εξαίρεσης (υπερχείλιση ή υποχείλιση). Σε καθεµιά από τις δύο περιπτώσεις έχουµε επιστροφή ελέγχου στην ΚΜΕ. Οι µικρολειτουργίες (σήµατα ελέγχου) της αρχιτεκτονικής δίνονται στον ακόλουθο πίνακα: α/α Μικρολειτουργία Περιγραφή 1 ε-sub Εκτέλεση της πράξης: Εκθέτης(Α) Εκθέτης(Β) 2 E=A Επιλογή του Εκθέτης(Α) για είσοδο του Ε 3 E=B Επιλογή του Εκθέτης(Β) για είσοδο του Ε 4 ΟΛ1 = Α Επιλογή του Συντελεστής(Α) για την είσοδο 1 του Ολισθητή 5 ΟΛ1 = Β Επιλογή του Συντελεστής(Β) για την είσοδο 1 του Ολισθητή 6 ολίσθηση(ε) Εκτέλεση ολίσθησης µε την είσοδο αριθµού ψηφίων ολίσθησης από τον ε 7 ΑΛΜ2 = Α Επιλογή του Συντελεστής(Α) για την είσοδο 2 της ΑΛΜ 8 ΑΛΜ2 = Β Επιλογή του Συντελεστής(Β) για την είσοδο 2 της ΑΛΜ 9 πράξη(υε) Η ΑΛΜ εκτελεί πράξη που καθορίζεται από την Υποµονάδα Ελέγχου 10 E = ΥΣ Επιλογή της εξόδου εκθέτη της Υποµονάδας Στρογγυλοποίησης για τον Ε 11 Ε++ Αύξηση του Ε κατά 1 12 Ε-- Μείωση του Ε κατά 1 13 Σ = ΑΛΜ Επιλογή της εξόδου της ΑΛΜ για είσοδο στον Σ 14 Σ = ΥΣ Επιλογή της εξόδου συντελεστή της ΥΣ για είσοδο στον Σ 15 δ.ολίσθησησ Εκτέλεση δεξιάς ολίσθησης στον Σ 16 α.ολίσθησησ Εκτέλεση αριστερής ολίσθησης στον Σ 17 στρογγυλοποίηση Εκτέλεση στρογγυλοποίησης 18 πρόσηµο Υπολογισµός του προσήµου του αθροίσµατος 19 εγγραφή C Ενεργοποίηση σήµατος εγγραφής του καταχωρητή C 20 Cause = υπερχείλιση Επιλογή κωδικού υπερχείλισης για τον κώδικα εξαίρεσης 21 Cause = υποχείλιση Επιλογή κωδικού υποχείλισης για τον κώδικα εξαίρεσης Οι τελευταίες δύο µικρολειτουργίες αναφέρονται σε έναν καταχωρητή που παρέχει η ΜΕ για τον έλεγχο εξαιρέσεων, τον Cause. Σ αυτόν υποθέτουµε ότι η µονάδα κινητής υποδιαστολής γράφει έναν κωδικό µε την επιστροφή ελέγχου στην ΚΜΕ, όταν θέλει να σηµατοδοτήσει κάποια εξαίρεση. Το πώς η ΜΕ της ΚΜΕ αντιµετωπίζει τις εξαιρέσεις δε µας απασχολεί εδώ. Όπως και σε άσκηση της προηγούµενης ενότητας, έτσι κι τώρα δεν αναφέρθηκαν κάποια σή- µατα εγγραφής καταχωρητών, επειδή ενεργοποιούνται µέσω άλλων σηµάτων. Έτσι, η εγγραφή του ε ενεργοποιείται µε τη µικρολειτουργία 1, η εγγραφή του ΑΒ µε τη µικρολειτουργία 6, η εγγραφή του Ε µε τις µικρολειτουργίες 2, 3 και 10, και τέλος η εγγραφή του Σ µε τις µικρολειτουργίες 13 και 14. Από την άλλη µεριά, επειδή κάποιοι δρόµοι πληροφορίας δεν έχουν σηµεία επιλογής, δεν ορίζονται τα αντίστοιχα σήµατα εισόδου σε κάποιες υποµονάδες. Για παράδειγµα, δεν αναφέρεται σήµα επιλογής της εισόδου ΑΛΜ1, που είναι συνδεµένη µόνιµα µε τον ΑΒ. Παρό- µοια, η είσοδος ΟΛ2 του ολισθητή που δέχεται τον αριθµό των ψηφίων ολίσθησης είναι συνδεµένη µόνιµα µε τον ε.

17 17 Για την υλοποίηση της ΥΕ µε µικροπρογραµµατισµένη λογική χρειαζόµαστε να επιλέξουµε τη µορφή της µικροεντολής. Επειδή έχουµε µικρό σχετικά αριθµό µικρολειτουργιών, θα χρησιµοποιήσουµε κωδικοποίηση σε οριζόντιες µικροεντολές, δηλαδή µε µορφή της λέξης ελέγχου µε ένα bit για κάθε µικρολειτουργία. Ακόµα, θα χρησιµοποιήσουµε και δύο πεδία άλµατος: ένα πεδίο συνθήκης και ένα πεδίο διεύθυνσης. Υποθέτοντας ότι στο πεδίο συνθήκης προστίθεται κι ένα bit επιλογής ΑΨ µεταξύ αληθούς και ψευδούς συνθήκης, κι ότι το ψηφίο αυτό µας επιτρέπει επιπλέον να επιλέξουµε (α) µεταξύ άµεσου άλµατος και συνέχειας στην επόµενη µικροεντολή και (β) µεταξύ κανονικής εξόδου και εξόδου µε εξαίρεση από τη µονάδα πρόσθεσης, οι συνθήκες που χρειαζόµαστε θα είναι όπως δίνονται στον παρακάτω πίνακα: Κωδικός Συνθήκη Άλµατος Περιγραφή 000 Επιστροφή στη ΜΕ (εξαίρεση εάν ΑΨ = 1) 001 Επόµενη µικροεντολή (άµεσο άλµα εάν ΑΨ = 1) 010 ε < 0 Ο καταχωρητής ε έχει αρνητική τιµή 011 ΑΚΕΡ(Σ) = 01 Το ακέραιο µέρος του Σ είναι 01 (κανονικοποιηµένη µορφή) 100 ΑΚΕΡ(Σ) = 00 Το ακέραιο µέρος του Σ είναι ΑΚΕΡ 1 (Σ) = 1 Το πιο σηµαντικό ψηφίο του ακέραιου µέρους του Σ είναι υπερχείλιση Η κανονικοποίηση οδήγησε σε υπερχείλιση 111 υποχείλιση Η κανονικοποίηση οδήγησε σε υποχείλιση Όταν υπάρχει συνθήκη, το ψηφίο ΑΨ του πεδίου συνθήκης επιλέγει το αληθές της συνθήκης όταν έχει τιµή 1 και το ψευδές όταν έχει τιµή 0, αντιστρέφοντας δηλαδή τη συνθήκη. Για παράδειγµα, συµπεριλαµβάνοντας το ψηφίο ΑΨ, πεδίο συνθήκης µε τιµή 0101 αντιστοιχεί στη συνθήκη «ε<0», ενώ πεδίο µε τιµή 0100 αντιστοιχεί στη συνθήκη «ε 0». Παρόµοια, πεδίο συνθήκης µε τιµή 1101 αντιστοιχεί στη συνθήκη «υπερχείλιση», ενώ πεδίο µε τιµή 1100 στη συνθήκη «όχι υπερχείλιση». Όταν δεν υπάρχει συνθήκη, το ψηφίο ΑΨ απλά αυξάνει τις επιλογές στο πεδίο άλµατος. Έτσι, η τιµή 0000 αντιστοιχεί σε κανονική επιστροφή ελέγχου στην κεντρική ΜΕ, ενώ η τιµή 0001 αντιστοιχεί σε επιστροφή ελέγχου στην κεντρική ΜΕ µε ση- µατοδότηση εξαίρεσης. Τέλος, η τιµή 0011 αντιστοιχεί σε άµεσο άλµα προς τη διεύθυνση που δίνει το πεδίο διεύθυνσης, ενώ η τιµή 0010 αντιστοιχεί σε µετάβαση στην επόµενη µικροεντολή. Ο ζητούµενος µικροκώδικας δίνεται στον παρακάτω πίνακα, όπου παραθέσαµε και τις αντίστοιχες µικρολειτουργίες σαν επεξήγηση της λέξης ελέγχου: Συνθήκη ιεύθυνση Λέξη Ελέγχου Μικρολειτουργίες Add: ε-sub 0101 L E = A, ΟΛ1 = B, ολίσθηση(ε) 0011 Norm ΑΛΜ2 = Α, πράξη(υε), Σ = ΑΛΜ L1: E = B, ΟΛ1 = Α, ολίσθηση(ε) ΑΛΜ2 = Β, πράξη(υε), Σ = ΑΛΜ Norm: 0111 L L E++, δ.ολίσθησησ 1101 EX L στρογγυλοποίηση, Ε = ΥΣ, Σ = ΥΣ L2: E--, α.ολίσθησησ 1111 EX L L: στρογγυλοποίηση, Ε = ΥΣ, Σ = ΥΣ 0110 Norm πρόσηµο, εγγραφή C ΕΧ1: Cause = υπερχείλιση EX2: Cause = υποχείλιση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή Εισαγωγή Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ Ξεκινάµε την εργαστηριακή µελέτη της Ψηφιακής Λογικής των Η/Υ εξετάζοντας αρχικά τη µορφή των δεδοµένων που αποθηκεύουν και επεξεργάζονται οι υπολογιστές και προχωρώντας

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή

6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή 6 η Θεµατική Ενότητα : Σχεδίαση Συστηµάτων σε Επίπεδο Καταχωρητή Εισαγωγή Η σχεδίαση ενός ψηφιακού συστήµατος ως ακολουθιακή µηχανή είναι εξαιρετικά δύσκολη Τµηµατοποίηση σε υποσυστήµατα µε δοµικές µονάδες:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Chapter 3. Αριθμητική Υπολογιστών. (συνέχεια)

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

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

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 3 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Γιώργος ηµητρίου Μάθηµα 3 ο Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων Μονάδα Επεξεργασίας εδοµένων Υποµονάδες πράξεων n Αριθµητική/Λογική Μονάδα (ΑΛΜ - ALU): Βασικές αριθµητικές

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

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

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

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

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

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

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

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

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

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

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

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

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

3.1 εκαδικό και υαδικό

3.1 εκαδικό και υαδικό Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και εδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 3.1 εκαδικό και υαδικό εκαδικό σύστηµα 2 1 εκαδικό και υαδικό υαδικό Σύστηµα 3 3.2 Μετατροπή Για τη µετατροπή

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

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

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

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

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

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

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

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

Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας Μάθημα 4: Κεντρική Μονάδα Επεξεργασίας 4.1 Γενικά Ο υπολογιστής επεξεργάζεται δεδομένα ακολουθώντας βήμα βήμα, τις εντολές ενός προγράμματος. Το τμήμα του υπολογιστή, που εκτελεί τις εντολές και συντονίζει

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

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην επιστήµη των υπολογιστών ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ 1 Αριθµητικό Σύστηµα! Ορίζει τον τρόπο αναπαράστασης ενός αριθµού µε διακεκριµένα σύµβολα! Ένας αριθµός αναπαρίσταται διαφορετικά σε κάθε σύστηµα,

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

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

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

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

Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005. υαδική Αφαίρεση. υαδική Αφαίρεση (συν.) Ακόµη ένα παράδειγµα Αφαίρεσης.

Περίληψη. ΗΜΥ 210: Λογικός Σχεδιασµός, Εαρινό Εξάµηνο 2005. υαδική Αφαίρεση. υαδική Αφαίρεση (συν.) Ακόµη ένα παράδειγµα Αφαίρεσης. ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Κεφάλαιο 5 -ii: Αριθµητικές Συναρτήσεις και Κυκλώµατα Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αφαίρεση δυαδικών Περίληψη

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

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα

1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα 1 η Θεµατική Ενότητα : Δυαδικά Συστήµατα Δεκαδικοί Αριθµοί Βάση : 10 Ψηφία : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Αριθµοί: Συντελεστές Χ δυνάµεις του 10 7392.25 = 7x10 3 + 3x10 2 + 9x10 1 + 2x10 0 + 2x10-1 + 5x10-2

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 11 ο και 12 ο Γιώργος Δημητρίου Μάθημα 11 ο και 12 ο Μονάδες ράξεων Αριθμητική/Λογική Μονάδα (ΑΛΜ - ALU): Βασικές αριθμητικές πράξεις ρόσθεση/αφαίρεση Λογικές πράξεις Μονάδες πολύπλοκων αριθμητικών πράξεων σταθερής

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΗΛΕΚΤΡΟΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΨΗΦΙΑΚΑ ΟΛΟΚΛΗΡΩΜΕΝΑ ΗΛΕΚΤΡΟΝΙΚΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΟΜΑ Α Α Αριθµητική Λογική Μονάδα των 8-bit 1. Εισαγωγή Γενικά µια αριθµητική λογική µονάδα (ALU, Arithmetic Logic Unit)

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

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

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

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

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: Σελίδα 1 από 12 Απαντήσεις στο φυλλάδιο 55 Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από: (α) Κεντρική Μονάδα Επεξεργασίας. (β) Κύρια Μνήµη. (γ) Μονάδες εισόδου. (δ) Μονάδες εξόδου. (ε) Βοηθητική

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

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

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

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

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

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

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 ΑριθμητικέςΠράξειςσεΑκέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

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

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

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

Εγχειρίδιο χρήσης του Άβακα

Εγχειρίδιο χρήσης του Άβακα Εγχειρίδιο χρήσης του Άβακα Με το παρόν λογισμικό γίνεται προσομοίωση των λειτουργικών δυνατοτήτων του εκπαιδευτικού υπολογιστή που έχει την ονομασία Άβακας. Η εικόνα του Άβακα εμφανίζεται σε παράθυρο

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Εισαγωγή στην

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ Εισαγωγή στην επιστήµη των υπολογιστών Πράξεις µε µπιτ 1 Πράξεις µε µπιτ 2 Αριθµητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασµός, Διαίρεση Ο πολλαπλασιασµός και η διαίρεση στο επίπεδο του

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ

Εισαγωγή στην επιστήµη των υπολογιστών. Πράξεις µε µπιτ Εισαγωγή στην επιστήµη των υπολογιστών Πράξεις µε µπιτ 1 Πράξεις µε µπιτ 2 Αριθµητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασµός, Διαίρεση 3 Πρόσθεση στη µορφή συµπληρώµατος ως προς δύο

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

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

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

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

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. 6. Καταχωρητές Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f. Καταχωρητής 4 ψηφίων Καταχωρητής με παράλληλη φόρτωση Η εισαγωγή

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

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

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

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Υπολογιστές και Δεδοµένα Κεφάλαιο 3ο Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος

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

Chapter 3. Αριθμητική Υπολογιστών. Όγδοη (8 η ) δίωρη διάλεξη. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Ακαδηµαϊκό Έτος 2006 2007 Γραπτή Εργασία #2 Ηµεροµηνία Παράδοσης 28-0 - 2007 ΠΛΗ 2: Ψηφιακά Συστήµατα ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Άσκηση : [5 µονάδες] Έχετε στη

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 4ο Πράξεις με μπιτ 1 Πράξεις με μπιτ 2 Αριθμητικές Πράξεις σε Ακέραιους Πρόσθεση, Αφαίρεση, Πολλαπλασιασμός, Διαίρεση Ο πολλαπλασιασμός

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

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

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

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

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

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

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

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

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

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών

Εισαγωγή στην επιστήµη των υπολογιστών. Αναπαράσταση Αριθµών Εισαγωγή στην επιστήµη των υπολογιστών Αναπαράσταση Αριθµών 1 Δεκαδικό και Δυαδικό Σύστηµα Δύο κυρίαρχα συστήµατα στο χώρο των υπολογιστών Δεκαδικό: Η βάση του συστήµατος είναι το 10 αναπτύχθηκε τον 8

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

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

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

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

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

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

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

ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ Α. ΨΗΦΙΑΚΗ ΣΧΕ ΙΑΣΗ

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

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

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

Αρχιτεκτονικές Υπολογιστών ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΥΠΟΛΟΓΙΣΤΩΝ Μάθηµα: Αρχιτεκτονικές Υπολογιστών Αναπαράσταση εδοµένων ιδάσκων: Αναπλ. Καθ. Κ. Λαµπρινουδάκης clam@unipi.gr Αρχιτεκτονικές Υπολογιστών Aναπλ. Καθ. Κ. Λαµπρινουδάκης 1 εδοµένα

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

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

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

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

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

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

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

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

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

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

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής

Σύστημα Πλεονάσματος. Αναπαράσταση Πραγματικών Αριθμών. Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής Σύστημα Πλεονάσματος Αναπαράσταση Πραγματικών Αριθμών Αριθμητικές Πράξεις σε Αριθμούς Κινητής Υποδιαστολής Σύστημα Πλεονάσματος (Excess System) - 1 Είναι μια άλλη μια μορφή αναπαράστασης για αποθήκευση

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