Aνάπτυξη και προσομοίωση της επικαλυπτόμενης αρχιτεκτονικής Mips για εκπαιδευτικούς σκοπούς

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

Download "Aνάπτυξη και προσομοίωση της επικαλυπτόμενης αρχιτεκτονικής Mips για εκπαιδευτικούς σκοπούς"

Transcript

1 ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Aνάπτυξη και προσομοίωση της επικαλυπτόμενης αρχιτεκτονικής Mips για εκπαιδευτικούς σκοπούς ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΧΙΩΤΟΓΛΟΥ ΚΩΝ/ΝΟΣ (ΑΜ: Τ-1244) Επιβλέπων: ΑΔΑΜ ΓΕΩΡΓΙΟΣ, ΜΕΛΟΣ ΕΠ, ΑΝ. ΚΑΘΗΓΗΤΗΣ ΛΑΡΙΣΑ 2014

2

3 Περίληψη Σκοπός της πτυχιακής αυτής εργασίας είναι η προσομοίωση της λειτουργίας του επεξεργαστή Mips στη γλώσσα περιγραφής υλικού Verilog. Η κατάλληλη δόμηση του κώδικα καθώς και οι δυνατότητα για γραφική αναπαράσταση της λειτουργίας του επεξεργαστή από το εργαλείο Modelsim θα συμβάλουν στον εκπαιδευτικό χαρακτήρα της εργασίας. Για τον σκοπό αυτό δημιουργήθηκε όλη η αρχιτεκτονική του Mips συμπεριλαμβανομένων και των πέντε σταδίων επικάλυψης : ανάκληση εντολής, αποκωδικοποίηση, εκτέλεση, προσπέλασης μνήμης και εγγραφή αποτελεσμάτων. Το κάθε στάδιο όπως και τα απαραίτητα κυκλώματα αναπτύχθηκαν με την γλώσσα περιγραφής υλικού Verilog ενώ προσομοιώθηκαν με το εργαλείο Modelsim. Ο εκπαιδευτικός χαρακτήρας της εργασίας αυτής ενισχύεται από γεγονός ότι είναι δυνατή η παρακολούθηση της μνήμης καθώς και όλων των καταχωρητών ανά κύκλο μηχανής. Τέλος δίνεται η δυνατότητα εκτέλεσης οποιουδήποτε κώδικα στον επεξεργαστή αυτό δίνοντας έτσι την δυνατότητα της εκμάθησης της ροής δεδομένων σε ένα ολοκληρωμένο σύστημα. -i-

4

5 Ευχαριστίες Με την περάτωση της εργασίας αυτής θα ήθελα να ευχαριστήσω τον καθηγητή Αδάμ Γεώργιο για την συμπαράσταση και τη βοήθεια του, τους φίλους μου που μου στάθηκαν σε όλη μου την φοιτητική σταδιοδρομία και την οικογένεια και συγγενείς μου που χωρίς αυτούς η πορεία μου θα ήταν αδύνατη. Τέλος ευχαριστώ την γραμματεία του τμήματος για την αμέριστη βοήθεια που μου παρείχε διευκολύνοντας κατά πολύ το έργο μου. Χιώτογλου Κων/νος Νοέμβριος, iii-

6

7 Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ... V 1 ΕΙΣΑΓΩΓΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Ο ΕΠΕΞΕΡΓΑΣΤΗΣ MIPS ΣΥΓΧΡΟΝΟΙ ΕΠΕΞΕΡΓΑΣΤΕΣ VLIW Η ΔΙΑΔΙΚΑΣΙΑ ΤΗΣ ΜΕΤΑΓΛΩΤΤΙΣΗΣ ΚΥΚΛΩΜΑΤΑ ΕΠΕΞΕΡΓΑΣΤΩΝ Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ MIPS ΤΟ ΜΟΝΤΕΛΟ ΤΩΝ 5 ΣΤΑΔΙΩΝ Ανάκληση εντολής Αποκωδικοποίηση εντολής Εκτέλεση εντολής Προσπέλαση μνήμης Εγγραφή αποτελέσματος Παράδειγμα εκτέλεσης εντολών Η ΠΡΟΩΘΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΣΤΟΝ MIPS Παράδειγμα εκτέλεσης με προώθηση ΔΙΑΚΛΑΔΩΣΕΙΣ Παράδειγμα εκτέλεσης με διακλάδωση ΔΙΑΚΟΠΕΣ/ΕΞΑΙΡΕΣΕΙΣ ΤΟ ΣΥΝΟΛΟ ΕΝΤΟΛΩΝ ΤΟΥ MIPS ΣΧΕΔΙΑΣΗ ΜΕ VERILOG v-

8 4.1 BEHAVIORAL VERILOG STRUCTURAL VERILOG ΜΕΤΑΓΛΩΤΤΙΣΗ ΜΕ ΤΟ ΕΡΓΑΛΕΙΟ MODELSIM ΠΟΡΕΙΑ ΥΛΟΠΟΙΗΣΗΣ LIBRARY.V CPU.V FSM.V PROGRAM.HEX TESTBENCH.V CONSTANTS.H ΙΕΡΑΡΧΙΚΗ ΣΧΕΔΙΑΣΗ ΣΥΜΠΕΡΑΣΜΑΤΑ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ Α ΠΑΡΑΡΤΗΜΑ B ΠΑΡΑΡΤΗΜΑ Γ vi-

9 1 Εισαγωγή Σκοπός της πτυχιακής αυτής εργασίας είναι η προσομοίωση του επεξεργαστή Mips με τη βοήθεια του εργαλείου modelsim. Για την περάτωση του έργου ήταν απαραίτητη η σε βάθος μελέτη της αρχιτεκτονικής για την κατανόηση του συνόλου εντολών του επεξεργαστή [1] και των λεπτομερειών της μικροαρχιτεκτονικής του. Στη συνέχεια ακολουθεί περιγραφή του επεξεργαστή με την γλώσσα Verilog [2], μία γλώσσα προγραμματισμού που χρησιμοποιείται κυρίως για την περιγραφή συνδυαστικών και ακολουθιακών κυκλωμάτων. Η Verilog δίνει την δυνατότητα στον προγραμματιστή να επιλέγει αυτός τον τρόπο με τον οποίο περιγράφει το κύκλωμα του διαλέγοντας μεταξύ structural και behavioral modeling [3]. O πρώτος τρόπος (structural) εστιάζει κυρίως στην συνδεσμολογία των επιμέρους ψηφιακών λογικών πυλών και είναι χρήσιμος για την δημιουργία καινούργιων αρχιτεκτονικών και ιεραρχικής δόμησης του παραγόμενου κυκλώματος. Ο δεύτερος τρόπος (behavioral), που είναι και ο τρόπος που επιλέχθηκε, εστιάζει κυρίως στην ροή δεδομένων κατά μήκος του κυκλώματος και είναι χρήσιμος για την προσομοίωση ήδη υπαρχόντων αρχιτεκτονικών και την μελέτη της λειτουργίας ενός επεξεργαστή. Το επόμενο βήμα ήταν ο έλεγχος για την ορθότητα του συστήματος που δημιουργήθηκε. Για τον σκοπό αυτό δημιουργήθηκε ένα tesbench αρχείο που είναι υπεύθυνο για την διέγερση των εισόδων του επεξεργαστή με σήματα που επιλέγει ο προγραμματιστής τα οποία αναλογούνε στη εκτέλεση συγκεκριμένων εντολών. Για την επαλήθευση των ε- ξόδων του κυκλώματος χρησιμοποιήθηκε το εργαλείο modelsim[4]. To εργαλείο αυτό λειτουργεί σαν μεταφραστής του κώδικα Verilog σε διασυνδεδεμένες λογικές πύλες. Η σωστή λειτουργία του επεξεργαστή ανιχνεύεται μέσω του Modelsim καθώς δίνεται η δυνατότητα για γραφική απεικόνιση των τιμών των καταχωρητών και την μνήμης δεδομένων. Τελικώς προκύπτει ένα ολοκληρωμένο σύστημα το οποίο μπορεί να λάβει είσοδο μία σειρά εντολών που επιλέγεται από τον χρήστη και να παράγει γραφικά την έξοδο του επεξεργαστή για την εκάστοτε εντολή. Για τον λόγο αυτό είναι ιδανικό για εκμάθηση βασικών εννοιών της οργάνωσης ηλεκτρονικών υπολογιστών καθώς ο χρήστης μπορεί να παρατηρεί με λεπτομέρεια της αλλαγές που γίνονται κατά την εκτέλεση του κώδικά -1-

10 του καθώς και την ροή δεδομένων στον επεξεργαστή. Ακόμη είναι σημαντικό να αναφέρουμε ότι η αρχιτεκτονική του Mips χρησιμοποιείται συχνά για εκπαιδευτικούς σκοπούς, λόγο των πολλών κοινών στοιχείων που εμφανίζει με σύγχρονους επεξεργαστές. Παρακάτω ακολουθεί μία ιστορική ανασκόπηση της εξέλιξης των αρχιτεκτονικών υπολογιστών καθώς και η μετάβαση από CISC σε RISC. Στη συνέχεια αναλύεται η επικαλυπτόμενη αρχιτεκτονική του Mips του δίνοντας έμφαση στη ροή δεδομένων του επεξεργαστή κατά την εκτέλεση κώδικα. Έπειτα αναλύεται ο τρόπος με τον οποίο έγινε η περιγραφή της αρχιτεκτονικής αυτής με την γλώσσα Verilog και εξηγείται η διαδικασία μετάφρασης. Τέλος παρουσιάζεται αναλυτικά ο τρόπος με τον οποίο τρέχει ο κώδικας για την εύκολη κατανόησή του από τον χρήστη ενώ παραθέτονται και σκέψεις για περεταίρω βελτίωση της αρχιτεκτονικής με σκοπό πάντα την διευκόλυνση της εκπαιδευτικής διαδικασίας. -2-

11 2 Αρχιτεκτονική υπολογιστών Η αρχιτεκτονική υπολογιστών είναι ένας κλάδος που χαρακτηρίζεται από τις γρήγορες και ραγδαίες αλλαγές που υφίσταται λόγο της εξέλιξης της τεχνολογίας. Η εξέλιξη αυτή οδήγησε στους σύγχρονους επεξεργαστές, ικανούς στην επεξεργασία μεγάλου όγκου δεδομένων με πολύ υψηλές αποδόσεις. 2.1 Ιστορική αναδρομή Ο νόμος του Moore προβλέπει ότι ο αριθμός των transistors που θα χρησιμοποιούνται σε ένα ολοκληρωμένο ψηφιακό κύκλωμα θα διπλασιάζεται ανά 18 μήνες[5]. Ο εκθετικός αυτός ρυθμός αύξησης καθιστά αναγκαία την επιστήμη που μελετάει την οργάνωση και σχεδίαση μικροεπεξεργαστών για την μέγιστη αξιοποίηση των πόρων που παρέχονται από την τρέχουσα τεχνολογία. Η επιστήμη αυτή είναι γνωστή ως αρχιτεκτονική υπολογιστών. Οι πρώτοι ψηφιακοί επεξεργαστές που δημιουργήθηκαν ανήκουν στην κατηγορία των CISC επεξεργαστών[6]. Με τον όρο CISC (complex instruction set computer) αναφερόμαστε κυρίως στην αρχιτεκτονική συνόλου εντολών του εκάστοτε συστήματος, δηλαδή τις εντολές που υποστηρίζει. Οι CISC επεξεργαστές κάνουν χρήση εντολών κυμαινόμενου μήκους,σε bits, οι οποίες γενικά εκτελούνται σε αρκετούς κύκλους μηχανής. Μία εντολή CISC είναι μία μεγάλη σειρά από απλές λειτουργίες που απαρτίζουν μία περίπλοκη εντολή. Κλασικό παράδειγμα τέτοιας εντολής είναι το άθροισμα δύο διανυσμάτων αποθηκευμένων στη μνήμη σε ένα τρίτο διάνυσμα το οποίο αποθηκεύεται και αυτό με τη σειρά του στην κύρια μνήμη. Οι εντολές αυτές, λόγω του κυμαινόμενου μήκους τους παρουσιάζουν ειδικά χαρακτηριστικά η κάθε μία και ο προγραμματιστής θα πρέπει να τις μεταχειρίζεται σαν ξεχωριστές οντότητες. Έτσι ο προγραμματισμός σε έναν CISC επεξεργαστή είναι μία ιδιαίτερα δύσκολη και επίπονη διαδικασία που απαιτεί άριστη γνώση των επιμέρους λειτουργιών του συστήματος. Επιπλέον λόγω της σύνθετης φύσης των εντολών αυτών απαιτείται μεγάλη περίοδος ρολογιού και άρα μικρή συχνότητα, συμβάλλοντας έτσι αρνητικά στην απόδοση του συστήματος. Αντίθετα σε ορισμένες περιπτώσεις, αρχιτέκτονες που σχεδιάζουν CISC συστήματα έχουν την ευ- -3-

12 καιρία για κατάλληλη συμπίεση των εντολών στην κρυφή μνήμη εντολών εξοικονομώντας έτσι χώρο από την μνήμη. Καθώς όμως τα transistors που χρησιμοποιούνται μικραίνουν σε μέγεθος, γεννήθηκαν δυσκολίες στις αρχιτεκτονικές αυτές καθώς δεν ήταν δυνατή η περαιτέρω αξιοποίηση του ολοένα αυξανόμενου αριθμού των transistors. Έτσι στην δεκαετία του 80, ο David Patterson πρότεινε μία πολύ διαφορετική προσέγγιση στην μέχρι τότε παγιωμένη αγορά των CISC επεξεργαστών. Η εναλλακτική αυτή λογική τελικώς επικράτησε και ονομάστηκε RISC (Reduced instruction set computing)[6]. Oι RISC επεξεργαστές είναι το αντίθετο των προκατόχων τους. Το σύνολο εντολών ενός RISC επεξεργαστή περιλαμβάνει μόνο εντολές σταθερού και ίσου μήκους. Έτσι εξασφαλίζεται η συνοχή του συνόλου και η ευκολότερη κατανόησή του. Ε- πιπλέον οι εντολές RISC είναι πολύ απλές βασικές λειτουργίες σε αντίθεση με τις περίπλοκες υλοποιήσεις των CISC. Έτσι διακρίνονται απλές πράξεις πρόσθεσης, μεταφοράς δεδομένων από και προς την μνήμη και συγκρίσεις. Επιπλέον η εκτέλεση κάθε εντολής ακολουθεί επικαλυπτόμενο μοντέλο, γεγονός που σημαίνει ότι η εκτέλεση της Ν+1 ε- ντολής αρχίζει προτού ολοκληρωθεί η εκτέλεση της Ν εντολής. Η υλοποίηση αυτή δίνει την δυνατότητα αύξησης της συχνότητας του ρολογιού επιτυγχάνοντας έτσι υψηλή α- πόδοση έχοντας ταυτόχρονα απλουστευμένο σύνολο εντολών. Η κάθε λειτουργία ολοκληρώνεται σε λίγους κύκλους μηχανής λόγω της απλής φύσης της ενώ ο προγραμματισμός σε έναν RISC επεξεργαστή είναι σημαντικά ευκολότερος και αποδοτικότερος στον προγραμματισμό από έναν CISC. Για του λόγους αυτούς δικαιολογείται η επικράτηση των RISC επεξεργαστών όπως και η συνεχόμενη βελτίωση και εξέλιξή τους. -4-

13 2.2 Ο επεξεργαστής MIPS Ο Mips (Microprocessor without Interlocked Pipelined Stages) είναι ένας RISC επεξεργαστής που έκανε την εμφάνιση του το 1981 καθώς προτάθηκε από τον David Patterson σαν εναλλακτική επιλογή των μέχρι τότε CISC συστημάτων. Η αρχική του έκδοση ή- ταν 32-Bits ενώ στη συνέχεια βγήκαν και άλλες εκδόσεις αρκετά πιο προχωρημένες και βελτιστοποιημένες όπως ο Mips R10000 στα 64 bits. Λόγω της απλοϊκής φύσης του, καθώς ήταν ο πρώτος γνωστός RISC επεξεργαστής, συχνά πλέον χρησιμοποιείται για εκπαιδευτικούς σκοπούς καθώς η λογική της αρχιτεκτονικής του μοιάζει πολύ με σύγχρονους επεξεργαστές ενώ ταυτόχρονα για να προγραμματιστεί παροτρύνει τον χρήστη να σκέφτεται με RISC τρόπο. Αυτός ο τρόπος σκέψης ορίζει τον κατακερματισμό της λειτουργίας που θέλει να εκπληρώσει ο προγραμματιστής σε πολλές απλές μικρές επιμέρους λειτουργίες/εντολές του επεξεργαστή. Αν και μία αναλυτικότερη προσέγγιση του επεξεργαστή αυτού θα γίνει σε επόμενο κεφάλαιο, στη παράγραφο αυτή προσεγγίστηκε ο λόγος της επιλογής του MIPS στην εργασία αυτή, που επικεντρώνεται γύρω από τον ιστορικό αλλά και εκπαιδευτικό του χαρακτήρα. 2.3 Σύγχρονοι επεξεργαστές Αν και ο επεξεργαστής Mips αποτέλεσε τη βάση για τα σύγχρονα επεξεργαστικά συστήματα, από το 1981 μέχρι το 2014 έγιναν πολλές αλλαγές στην θεώρηση της αρχιτεκτονικής των υπολογιστών. Νέες τεχνικές και ιδέες εισήλθαν στον χώρο αυτό ενώ παλιότερες τεχνικές βελτιστοποιήθηκαν ή έπαψαν να χρησιμοποιούνται. Πλέον η απόδοση των σύγχρονων συστημάτων εξαρτάται από την ικανότητα εκμετάλλευσης των τριών ειδών παραλληλισμού των εφαρμογών. Έτσι διακρίνεται ο παραλληλισμός επιπέδου εντολής (instruction level parallelism, ILP), ο παραλληλισμός επιπέδου νήματος (thread level parallelism, TLP) και ο παραλληλισμός επιπέδου ροής δεδομένων(dataflow parallelism). Σε επίπεδο εντολής o παραλληλισμός επιτυγχάνεται πλέον με αλγορίθμους για εκτέλεση εντολών εκτός σειράς, όπως ο αλγόριθμος tomasulo. Με την τεχνική αυτή δίνεται η δυνατότητα εκτέλεσης εντολών εκτός σειράς συμπληρώνοντας έτσι τις κενές θέσεις εκτέλεσης του επεξεργαστή μεγιστοποιώντας την χρησιμοποίηση των λειτουργικών του μονάδων. Η αξιοποίηση του ILP ήταν το πρώτο μεγάλο βήμα στη διαμόρφωση των επεξεργαστών όπως τους ξέρουμε σήμερα. Όμως πλέον ε- κτιμάται ότι η περαιτέρω εκμετάλλευση του ILP είναι πολύ δύσκολη αν όχι αδύνατη καθώς οι τεχνικές που χρησιμοποιούνται γι αυτό είναι βελτιστοποιημένες[7]. Ένα α- -5-

14 κόμη χαρακτηριστικό των σημερινών συστημάτων είναι η δυνατότητα παραγωγής και εκτέλεσης παράλληλου κώδικα. Έτσι ο προγραμματιστής, ή πολλές φορές και ο ίδιος ο μεταφραστής (compiler) κατακερματίζει μία εφαρμογή σε δύο ή περισσότερα κομμάτια ανεξάρτητα μεταξύ τους που μπορούν να εκτελεσθούν παράλληλα. Στη συνέχεια το κάθε κομμάτι εκτελείται σε διαφορετικό πυρήνα του επεξεργαστή ταυτόχρονα με τα υπόλοιπα. Το κάθε τέτοιο κομμάτι κώδικα ονομάζεται νήμα και η παράλληλη εκτέλεσή του υποστηρίζεται από πολυνηματικούς (multi-threaded) επεξεργαστές, ενώ ο τύπος παραλληλισμού που εμφανίζουν τέτοιες εφαρμογές ονομάζεται παραλληλισμός επιπέδου νήματος[8]. Οι δύο αυτοί τύποι παραλληλισμού συναντούνται συχνά σε πολλές ε- φαρμογές και η εκμετάλλευση τους είναι δυνατή από σχεδόν όλους τους σύγχρονους επεξεργαστές. Αντίθετα, ο παραλληλισμός επιπέδου ροής δεδομένων είναι πολύ δύσκολο να εντοπιστεί, να εξαχθεί και τελικώς να εκμεταλλευτεί από σύγχρονα συστήματα. Για τον λόγο αυτό αποτελεί κύριο αντικείμενο έρευνας στην βιομηχανία των επεξεργαστών την τελευταία δεκαετία. Η λογική στον παραλληλισμό επιπέδου ροής δεδομένων είναι η ικανότητα της απεικόνισης της ροής των δεδομένων σε ένα σύστημα με έναν γράφο μετάβασης. Αν το σύστημα μπορεί να ακολουθήσει την ροή αυτή, τότε ο τρόπος λειτουργίας του αλλάζει. Έτσι πλέον δεν εκτελεί απλά εντολές σε σειρά αλλά προσαρμόζεται στον τρόπο εκτέλεσης που του επιβάλει η εκάστοτε εφαρμογή. Αυτό έχει ε- πιτευχθεί σε ερευνητικό επίπεδο διατάσσοντας τις λειτουργικές μονάδες του επεξεργαστή στον χώρο με τέτοιον τρόπο ώστε να σχηματίζουν ένα δίκτυο διασύνδεσης (interconnection network) οργανωμένο σύμφωνα με συγκεκριμένα πρότυπα. Γνωστά συστήματα που εν μέρει εκμεταλλεύονται τον παραλληλισμό επίπεδου ροής δεδομένων είναι οι κάρτες γραφικών (graphics processing units) και εξυπηρετητές (servers) ειδικά διαμορφωμένοι για την εξυπηρέτηση μεγάλου όγκου πελατών. Όμως η πλήρη εκμετάλλευση του παραλληλισμού αυτού είναι ακόμη σε ερευνητικό επίπεδο και δεν έχει βρει αντίκτυπο σε βιομηχανικά συστήματα. Αν και ένας σύγχρονος επεξεργαστής αξιολογείται ως προς την απόδοσή του με βάση τα παραπάνω κριτήρια, ο συνεχόμενα αυξανόμενος αριθμός των transistors που χωράνε σε ένα ολοκληρωμένο κύκλωμα δημιούργησε το πρόσφατο πρόβλημα της κατανάλωσης ισχύος. Αν και το θέμα αυτό ξεφεύγει από τα πλαίσια της πτυχιακής αυτής εργασίας, αξίζει να αναφερθεί ότι σύγχρονα συστήματα υλοποιούν αλγορίθμους σε επίπεδο αρχιτεκτονικής και σε επίπεδο λογικής σχεδίασης για την μείωση της καταναλωμένης ενέργειας. -6-

15 Η μελλοντική εξέλιξη των επεξεργαστών φαίνεται ότι θα ακολουθήσει μεγάλα άλματα στο διάστημα της ερχόμενης δεκαετίας[9]. Με την εξέλιξη της τεχνολογίας υλικών, υ- πάρχει ήδη νύξης για χρήση καινούριων υλικών εκτός του πυριτίου. Επιπλέον σε ερευνητικό επίπεδο οι κβαντικοί επεξεργαστές αποτελούν αντικείμενο έντονης έρευνας με πολλά ενθαρρυντικά αποτελέσματα. Το σίγουρο είναι ότι η επιστήμη αυτή θα συνεχίζει να χαρακτηρίζεται με συνεχείς αλλαγές γεννώντας νέα συστήματα και καινούργιες αρχιτεκτονικές. 2.4 VLIW Εκτός από τους επεξεργαστές τύπου CISC και RISC, αναπτύχθηκαν και άλλες αρχιτεκτονικές οι οποίες διέφεραν αρκετά από τους προκατόχους τους. Από αυτές τις πρωτοπόρες αρχιτεκτονικές αξίζει να αναφερθεί η VLIW (Very Long Instruction Word) αρχιτεκτονική. Ο πρώτος επεξεργαστής τύπου VLIW που έκανε εμπορική επιτυχία ήταν ο Itanium, γνωστός και ως IA-64, ο οποίος αναπτύχθηκε μέσα από την συνεργασία Intel και Hewllet-Packard. Η αρχιτεκτονική των VLIW επεξεργαστών διαφέρει σημαντικά από αυτή ενός RISC ή CISC. Αρχικά το μέγεθος εντολής είναι σημαντικά μεγάλο καθώς ανέρχεται σε 128 ή και περισσότερα bits καθώς ο Itanium συνδυάζει πολλές μικρότερες Risc εντολές σε μία μακροεντολή. Με τον τρόπο αυτό δίνεται η δυνατότητα για δυναμική δρομολόγηση των εντολών προς εκτέλεση και γίνεται εκμετάλλευση του παραλληλισμού επιπέδου εντολής. Η απόδοση του συστήματος μπορεί να φτάσει σε πολύ υψηλά επίπεδα, αν η ομαδοποίηση αυτή των εντολών γίνει με βέλτιστο τρόπο. Το αρνητικό στους VLIW και κατ επέκταση στον Itanium είναι ότι η προεργασία αυτή λόγω της εξαιρετικά περίπλοκης φύσης της δεν γίνεται από το υλικό, αλλά από τον μεταγλωττιστή [10]. Έτσι η διαδικασία αυτή γίνεται πολύ αργή και η τυχόν αδυναμία του μεταγλωττιστή για την παραγωγή βελτιστοποιημένου κώδικα έχει πολύ μεγάλο αντίκτυπο στον χρόνο εκτέλεσης του προγράμματος. Λόγω του προβλήματος αυτού οι επεξεργαστές τύπου VLIW δεν εδραιώθηκαν στην αγορά ενώ ο Itanium πλέον χρησιμοποιείται κυρίως σε συστήματα servers. Παρόλη την όχι τόσο καλή τους πορεία, οι VLIW είναι άξιοι αναφοράς καθώς αντικατοπτρίζουν την συνεχή αλλαγή και εξέλιξη της αρχιτεκτονικής υπολογιστών. -7-

16 2.5 Η διαδικασία της μεταγλώττισης Οι επεξεργαστές αποτελούνται από ψηφιακά ολοκληρωμένα κυκλώματα και η χρήση τους είναι η εκτέλεση κώδικα για την επεξεργασία δεδομένων και την παραγωγή συγκεκριμένων αποτελεσμάτων. Στην ενότητα αυτή θα μελετήσουμε πώς ο κώδικας από μία γλώσσα προγραμματισμού υψηλού επιπέδου καταλήγει να εκτελείται στον επεξεργαστή. Η μεταγλώττιση του κώδικα εξαρτάται από τον μεταγλωττιστή και την πλατφόρμα που χρησιμοποιείται. Όμως υπάρχει ένα γενικό μοτίβο που ακολουθείται το οποίο είναι συνδεδεμένο με τις αρχές λειτουργιάς των επεξεργαστών. Αρχικά γίνεται η μετάφραση του κώδικα σε μία ενδιάμεση αναπαράσταση χαμηλού επιπέδου από τον μεταγλωττιστή. Στη συνέχεια, ο κώδικας μετατρέπεται στη συμβολική γλώσσα assembly του εκάστοτε επεξεργαστή για να καταλήξει στο τέλος σε δυαδική μορφή, η οποία είναι και αναγνωρίσιμη από το σύστημα, όπου και εκτελείται. Η παραπάνω διαδικασία συμβαίνει γιατί τα ολοκληρωμένα κυκλώματα από τα οποία απαρτίζεται το σύστημα λειτουργούνε με υψηλές και χαμηλές τάσεις, δηλαδή με το λογικό μηδέν και ένα. Έτσι ένας επεξεργαστής δεν καταλαβαίνει ψευδοκώδικα assembly ή κάποια γλώσσα υψηλού επιπέδου. Για να γίνει η ανάθεση εντολών στο σύστημα απαιτείται η μετατροπή της γλώσσας αυτής στο δυαδικό σύστημα, το οποίο είναι και αναγνώσιμο από τον επεξεργαστή. Για τον λόγο αυτό η γλώσσα που είναι πιο κοντά στην αρχιτεκτονική ενός επεξεργαστή είναι η assembly, η οποία δείχνει συμβολικά σε χαμηλό επίπεδο τις εντολές προς εκτέλεση ενώ όμως παράλληλα είναι αρκετά δύσκολη και δεν παρουσιάζει κάποιο επίπεδο αφαίρεσης. Στην εργασία αυτή δίνεται η επιλογή στο χρήστη να γράψει κώδικα σε μορφή assembly η οποία στη συνέχεια θα πρέπει να μεταφραστεί σε δυαδική αναπαράσταση των εντολών για να εκτελεστεί τελικώς από τον επεξεργαστή Mips. Η διαδικασία αυτή αν και επίπονη για τον χρήστη, θα του προσφέρει μία πιο ολοκληρωμένη εικόνα του συστήματος καθώς η δόμηση της κάθε εντολής αντικατοπτρίζει την αρχιτεκτονική του συστήματος και της λογικής που κρύβεται πίσω από αυτό. -8-

17 2.6 Κυκλώματα επεξεργαστών H υλοποίηση του κάθε επεξεργαστή διαφέρει από εταιρία σε εταιρία και από μοντέλο σε μοντέλο καθώς οι επιμέρους λεπτομέρειες της μικροαρχιτεκτονικής του συστήματος διαφοροποιούνται. Όμως υπάρχουν ορισμένες σταθερές στην βιομηχανία των επεξεργαστών που αφορούν τον σχεδιασμό και λειτουργία συγκεκριμένων κυκλωμάτων οι οποίες μένουν απαράλλακτες. Παρακάτω παρουσιάζονται τέτοια κυκλώματα καθώς και οι αρχές λειτουργίας τους. Ο φάκελος καταχωρητών ενός επεξεργαστή είναι ένα σύνολο flip-flops τα οποία δημιουργούνε ένα μικρό κύκλωμα αποθήκευσης πληροφορίας, άμεσα προσβάσιμου και πολύ υψηλής ταχύτητας. Συνήθως αποτελείται από 32 ή 64 καταχωρητές των 32 ή 64 bits ο καθένας, ανάλογα της αρχιτεκτονικής του συστήματος. Ωστόσο υπάρχουν και επεξεργαστές με 128 ή περισσότερους καταχωρητές αλλά αποτελούν εξαίρεση. Το κύκλωμα αυτό είναι υλοποιημένο σε όλα τα γνωστά συστήματα με ελάχιστες διαφορές από επεξεργαστή σε επεξεργαστή ενώ συχνά χαρακτηρίζεται σαν πολύ μικρή και γρήγορη εσωτερική κρυφή μνήμη. Στον Mips η πρόσβαση του φακέλου καταχωρητών γίνεται στα στάδια 2 και 5 αντίστοιχα, την πρώτη φορά για ανάγνωση και την δεύτερη για εγγραφή αποτελεσμάτων. Η κρυφή μνήμη (cache memory) του επεξεργαστή είναι άλλο ένα βασικό κομμάτι που αντίγραφό του υπάρχει σε κάθε σύγχρονο σύστημα. Η κρυφή μνήμη είναι και αυτή ένα κύκλωμα αποτελούμενο από flip-flops,πολύ μεγαλύτερο από αυτό του φακέλου καταχωρητών και τοποθετείται ιεραρχικά ανάμεσα στην μνήμη RAM και στον φάκελο καταχωρητών. Χωρίζεται σε δύο μικρότερες υποκατηγορίες, την κρυφή μνήμη εντολών (instruction cache) και την κρυφή μνήμη δεδομένων (data cache). Στην μνήμη εντολών αποθηκεύονται οι εντολές προς εκτέλεση στον επεξεργαστή ενώ στην μνήμη δεδομένων γίνεται αποθήκευση των δεδομένων που παράγονται και καταναλώνονται από την τρέχουσα εφαρμογή. Κύριο χαρακτηριστικό του κυκλώματος αυτού είναι η υψηλή ταχύτητα και το υψηλό κόστος του. Για την καλύτερη απόδοση και εκμετάλλευση του αναπτύχθηκαν πολλές τεχνικές οργάνωσης της ιεραρχίας της μνήμης ώστε να μειώνεται η ποινή αστοχίας και να αυξάνεται το ποσοστό ευστοχίας. Γενικά η μνήμη δεδομένων κατηγοριοποιείται σε 3 επίπεδα (L1,L2,L3 cache). Όταν ζητείται η ανάγνωση ή η αποθήκευση δεδομένων που δεν υπάρχουν στους καταχωρητές του επεξεργαστή τότε γίνεται προσπέλαση στο επίπεδο L1 την κρυφής μνήμης. Αν η ζητούμενη τιμή δεν βρεθεί τότε συμβαίνει αστοχία κρυφής μνήμης (σε αντίθεση με την ευστοχία που γίνεται όταν -9-

18 βρεθούν τα δεδομένα) και γίνεται προσπέλαση στο επίπεδο μνήμης L2 από όπου αντίστοιχα σε αστοχία ο έλεγχος μεταβαίνει στο επίπεδο L3 και τέλος στην κύρια μνήμη RAM. Όταν εντοπιστεί η ζητούμενη πληροφορία τότε ακολουθείται η αντίστροφη διαδικασία για να φτάσει στον επεξεργαστή. Η χρόνος που απαιτείται για την αντίστροφη αυτή διαδικασία ονομάζεται ποινή αστοχίας της κρυφής μνήμης. Για την περεταίρω βελτιστοποίηση της κρυφής μνήμης χρησιμοποιούνται διαφορετικές τεχνικές οργάνωσης όπως η άμεση απεικόνιση ή η συνολοσυσχετιστική μνήμη που όμως δεν θα επεξηγηθούν περισσότερο καθώς ξεφεύγουν από το θέμα της εργασίας. Στον επεξεργαστή Mips η προσπέλαση μνήμης εντολών γίνεται στο στάδιο 1 εντολής, ενώ η προσπέλαση της μνήμης δεδομένων στο στάδιο 4 της εκτέλεσης. Άλλο ένα ευρέως χρησιμοποιούμενο κύκλωμα είναι η αριθμητική και λογική μονάδα γνωστή και ως ALU. Το κύκλωμα αυτό είναι υπεύθυνο για την εκτέλεση αριθμητικών πράξεων όπως η πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση αλλά και για την εκτέλεση λογικών πράξεων όπως λογικό ΚΑΙ, Ή και ούτω καθεξής. Αποτελείται από λογικές πύλες που χρησιμοποιούν τις τιμές των τάσεων των επιμέρους bits για να παράξουν το επιθυμητό αποτέλεσμα. Η δομή, οργάνωση και υλοποίηση της μονάδας αυτής είναι ένα θέμα που απασχόλησε για πολύ καιρό τους σχεδιαστές επεξεργαστών για να καταλήξει πλέον πολύ αποδοτική και γρήγορη ώστε να μην είναι σημείο συμφόρησης (bottleneck) στη λειτουργία του συστήματος. Ο επεξεργαστής Mips προβλέπει την α- ξιοποίηση της Alu στην τρίτη φάση εκτέλεσης εντολής. To κύκλωμα υπεύθυνο για την παραγωγή σημάτων που καθορίζουν διαφορές λειτουργίας του επεξεργαστή είναι γνωστό ως μονάδα ελέγχου. Η υλοποίηση της μονάδας αυτή διαφέρει από επεξεργαστή σε επεξεργαστή αλλά η λειτουργία της παραμένει ίδια. Η μονάδα αυτή παράγει τα σήματα επιλογής των πολυπλεκτών που οδηγούν τις εισόδους της alu, τα σήματα επιλογής πράξεως, επιλογής καταχωρητών, προσπέλασης μνήμης και γενικά έχει συντονιστικό ρόλο στις φάσεις εκτέλεσης εντολών. Η μονάδα ελέγχου αποτελείται από ένα κύκλωμα που υλοποιεί μία μηχανή πεπερασμένων καταστάσεων (finite state machine-fsm) η οποία είναι και ο πυρήνας λειτουργίας της μονάδας. Σε παλαιότερους επεξεργαστές όμως αντί για το κύκλωμα αυτό, υπήρχε μία μικρή μνήμη α- νάγνωσης Rom η οποία περιείχε την πληροφορία που απαιτούνταν για την εκτέλεση της κάθε εντολής σε μορφή κώδικα. Το μοντέλο αυτό σύντομα εγκαταλείφθηκε στα σύγχρονα συστήματα ενώ χρησιμοποιείται μόνο σε ορισμένους επεξεργαστές για κινητά τηλέφωνα ή για την εκτέλεση εφαρμογών με χαμηλές απαιτήσεις ενέργειας. -10-

19 3 Η αρχιτεκτονική Mips Στο κεφάλαιο αυτό αναλύεται η αρχιτεκτονική του επεξεργαστή Mips [11] καθώς παρουσιάζεται και το σύνολο των εντολών του επεξεργαστή. 3.1 Το μοντέλο των 5 σταδίων Η επικάλυψη εντολών στην αρχιτεκτονική υπολογιστών είναι μία τεχνική που εκφράζεται μέσω της μικροαρχιτεκτονικής του συστήματος και έχει ως σκοπό την βελτίωση του IPC (instructions per clock cycle) και της γενικότερης απόδοσης του συστήματος. Η λογική πίσω από την τεχνική αυτή είναι ότι η κάθε εντολή του επεξεργαστή κατακερματίζεται σε απλές μικρές λειτουργίες οι οποίες αν ενωθούν παράγουν το τελικό αποτέλεσμα. Λόγω της ανεξαρτησίας των λειτουργιών αυτών, είναι δυνατή η εκτέλεση της κάθε μίας από αυτές σε διαφορετικό κύκλο μηχανής. Για την περεταίρω αξιοποίηση του συστήματος, η κάθε εντολή ξεκινάει την εκτέλεσή της πριν ολοκληρωθεί η εκτέλεση της προηγούμενης. Η μερική αυτή επικάλυψη της εκτέλεσης των εντολών είναι μία τεχνική που χρησιμοποιείται ευρύτατα και σε σύγχρονα συστήματα, ενώ η πρώτη της μορφή παρουσιάστηκε στους επεξεργαστές τύπου RISC. Ο Mips, σαν μονοπύρηνος ε- πεξεργαστής εισήγαγε το μοντέλο αυτό υλοποιώντας πέντε στάδια μερικής επικάλυψης γνωστά ως : Ανάκληση εντολής (Instruction Fetch), αποκωδικοποίηση εντολής (Instruction Decode), εκτέλεση εντολής (Execution), προσπέλαση μνήμης (Memory Access ) και εγγραφή αποτελεσμάτων (Write Back) [12]. H κάθε εντολή της αρχιτεκτονικής αυτής περνάει από όλα τα στάδια, εκτελώντας της αντίστοιχες λειτουργίες του κάθε σταδίου σε έναν κύκλο μηχανής. Παρακάτω εξηγείται η λειτουργικότητα του κάθε σταδίου και το αντίκτυπό του στην συνολική λειτουργία του επεξεργαστή. Επιπλέον παρατίθεται σχηματικά η μικροαρχιτεκτονική του Mips, παρακάτω στην εικόνα

20 Εικόνα 1. Η μικροαρχιτεκτονική του Mips Ανάκληση εντολής Καθώς στο στάδιο αυτό γίνεται πρόσβαση στη κρυφή μνήμη (cache memory) θα είναι καλό να αναφερθεί ο διαχωρισμός μνήμης που ορίζεται στον Mips. H κρυφή μνήμη του επεξεργαστή διαχωρίζεται σε 2 διακριτά τμήματα: την μνήμη εντολών (instruction cache) και την μνήμη δεδομένων (data cache). Στην πρώτη αποθηκεύονται μόνο οι ε- ντολές προς εκτέλεση στον επεξεργαστή ενώ στη δεύτερη μόνο τα δεδομένα τα οποία προσπελαύνονται κατά τη διάρκεια της εκτέλεσης του προγράμματος. Τέτοια δεδομένα μπορεί να είναι δομές όπως πίνακες, λίστες, κλάσεις και δέντρα. Κατά την ανάκληση εντολής γίνεται πρόσβαση στην κρυφή μνήμη εντολών, στην διεύθυνση που δείχνει ο ειδικός καταχωρητής PC (Program counter) ώστε να ανακληθεί η επόμενη εντολή προς εκτέλεση. Μετά την ανάκληση, ο καταχωρητής αυξάνεται ώστε να δείχνει στην επόμενη θέση μνήμης για την ανάκληση την εντολής που ακολουθεί. Στο τέλος του κύκλου μηχανής η εντολή αποθηκεύεται στον καταχωρητή επικάλυψης IF/ID ο οποίος την προωθεί στο επόμενο στάδιο, στην αρχή του επόμενου κύκλου. -12-

21 3.1.2 Αποκωδικοποίηση εντολής Στον κύκλο αυτό γίνεται η αποκωδικοποίηση της εντολής από τον προηγούμενο στάδιο. Η εντολή διασπάται από ένα κύκλωμα ελέγχου στα βασικά της πέντε πεδία: Ο κωδικός λειτουργίας (Operation code) που καθορίζει την πράξη που θα γίνει στην αριθμητική και λογική μονάδα, οι 3 καταχωρητές που θα χρησιμοποιηθούν (Rs,Rt,Rd) για ανάγνωση και εγγραφή δεδομένων και το τελευταίο πεδίο που είτε περιέχει βοηθητική πληροφορία για την πράξη που θα γίνει, είτε το immediate μέρος της εντολής, δηλαδή έναν σταθερό αριθμό που θα χρησιμοποιηθεί για να παραχθεί το τελικό αποτέλεσμα. Μετά την αποκωδικοποίηση εντολής, το κύκλωμα ελέγχου παράγει τα κατάλληλα σήματα ανάλογα με την εκάστοτε εντολή, ελέγχοντας την λειτουργία την αριθμητικής και λογικής μονάδας όπως και τα σήματα επιλογής για τους πολυπλέκτες που θα χρησιμοποιηθούν. Να σημειωθεί επίσης ότι σε περίπτωση που η εντολή έχει immediate μέρος, τότε γίνεται και επέκταση πρόσημου καθώς αυτό είναι 16 Bits ενώ για μία πράξη στην alu (αριθμητική και λογική μονάδα) απαιτούνται τελεστέοι 32 bits. Τέλος γίνεται πρόσβαση στον φάκελο καταχωρητών ώστε να γίνει ανάκληση των περιεχομένων των καταχωρητών που χρειάζονται για την εκτέλεση της εντολής. Στο τέλος του κύκλου γίνεται αποθήκευση των απαραίτητων δεδομένων στον καταχωρητή επικάλυψης ID/EX για την συνέχιση εκτέλεση της εντολής Εκτέλεση εντολής Έχοντας έτοιμα τα κατάλληλα σήματα για την πράξη στη αριθμητική και λογική μονάδα καθώς και τους τελεστέους που είναι απαραίτητοι για την πράξη, στον κύκλο αυτό γίνεται η εκτέλεση της εντολής στο κύκλωμα της alu. H εκτέλεση αυτή πρακτικά είναι η διεκπεραίωση της πράξης που ορίσθηκε από το στάδιο της αποκωδικοποίησης εντολής με τελεστέους είτε 2 καταχωρητές, είτε 1 καταχωρητή και το Immediate/σταθερό μέρος της εντολής. Η πράξη αυτή ολοκληρώνεται σε έναν κύκλο μηχανής ενώ το αποτέλεσμά της αποθηκεύεται στον EX/MEM καταχωρητή επικάλυψης. -13-

22 3.1.4 Προσπέλαση μνήμης Στον κύκλο αυτόν γίνεται προσπέλαση (αν το επιβάλει η λειτουργία της εντολής) της κρυφής μνήμης δεδομένων του επεξεργαστή. Αυτό συμβαίνει για την μεταφορά δεδομένων από και προς τη μνήμη. Η μνήμη δέχεται σαν είσοδο μία δυαδική διεύθυνση, δεδομένα εύρους 32 bits και ένα bit επιλογή λειτουργίας (φόρτωση ή αποθήκευση).στη συνέχεια είτε αποθηκεύει στην διεύθυνση τα δεδομένα που δέχτηκε σαν είσοδο είτε βγάζει σαν έξοδο τα δεδομένα που είναι αποθηκευμένα στην αντίστοιχη διεύθυνση, α- νάλογα με την τιμή του bit επιλογή λειτουργίας. Η έξοδος της μνήμης εφ όσον υπάρχει αποθηκεύεται στον καταχωρητή επικάλυψης MEM/WB για την χρήση της στο επόμενο στάδιο επικάλυψης. Αν η έξοδος της μνήμης δεδομένων δεν υπάρχει, τότε στον MEM/WB αποθηκεύεται η έξοδος της αριθμητικής και λογικής μονάδας Εγγραφή αποτελέσματος Κατά την εγγραφή του αποτελέσματος τα περιεχόμενα του καταχωρητή επικάλυψης MEM/WB αποθηκεύονται στον καταχωρητή προορισμού της εντολής που βρίσκεται στον φάκελο καταχωρητών. Το στάδιο αυτό αποτελεί και το τελευταίο στάδιο εκτέλεσης για μία εντολή στον επεξεργαστή Mips Παράδειγμα εκτέλεσης εντολών Παρακάτω δίνεται ένα παράδειγμα εκτέλεσης 4 εντολών στον επεξεργαστή Mips με σκοπό την περαιτέρω εξήγηση της λειτουργίας της επικαλυπτόμενης εκτέλεσης. Στον οριζόντιο άξονα απεικονίζεται ο χρόνος σε μονάδες κύκλων μηχανής, ενώ οι εντολές που εκτελούνται είναι οι sub (αφαίρεση δύο καταχωρητών), and (λογικό ΚΑΙ δύο καταχωρητών) και add (πρόσθεση δύο καταχωρητών). Σε όλες τις περιπτώσεις ο αριστερότερος καταχωρητής ($2,$4,$5 και $8 για τις αντίστοιχες εντολές) είναι ο καταχωρητής προορισμού, δηλαδή εκεί που θα αποθηκευτεί το τελικό αποτέλεσμα. Οι υπόλοιποι καταχωρητές συμβάλουν στο τελικό αποτέλεσμα καθώς περιέχουν τους τελεστέους που είναι απαραίτητοι για την εκτέλεση της εκάστοτε πράξης. Λόγω της επικαλυπτόμενης εκτέλεσης, ο παρακάτω κώδικας εκτελείται σε 8 κύκλους μηχανής αντί για 20 που θα ήταν ο χρόνος εκτέλεσης χωρίς επικάλυψη. Τέλος να σημειωθεί ότι τα στάδια εκτέλεσης μίας εντολής είναι αυτά που αναφέρθηκαν παραπάνω με IF (instruction fetch, ανάκληση εντολής), ID (instruction decode, αποκωδικοποίηση εντολής), EX (execute, εκτέλεση εντολής), MEM (memory access, προσπέ- -14-

23 λαση μνήμης δεδομένων που στην περίπτωση αυτή δεν γίνεται καθώς δεν απαιτείται χρήση της μνήμης) και WB (write back, εγγραφή αποτελέσματος) Εικόνα 2. Επικαλυπτόμενη εκτέλεση εντολών 3.2 Η προώθηση αποτελεσμάτων στον Mips Στους RISC επεξεργαστές η ροή δεδομένων είναι συχνά τέτοια ώστε να δημιουργούνται οι λεγόμενες εξαρτήσεις εντολών. Αυτό προκύπτει από το γεγονός ότι μία εντολή μπορεί να χρειάζεται σαν είσοδο για την παραγωγή αποτελέσματος, την έξοδο μίας προηγούμενης της εντολής. Έτσι κατά το επικαλυπτόμενο μοντέλο εκτέλεσης δημιουργούνται εξαρτήσεις από δεδομένα μεταξύ των εντολών, ένα πλέον πολύ συχνό φαινόμενο κατά την εκτέλεση κώδικα. Για την αντιμετώπιση των κινδύνων αυτών ο Mips υποστηρίζει μία τεχνική που ονομάζεται προώθηση (forwarding). Το κύκλωμα ελέγχου του επεξεργαστή μπορεί να προωθεί τα δεδομένα που χρειάζεται μία εντολή από προηγούμενες φάσεις άλλων εντολών στον απαραίτητο καταχωρητή επικάλυψης ώστε να καταναλωθούν από την εντολή που τα χρειάζεται. Σε περίπτωση που η τεχνική αυτή δεν αντιμετωπίζει το πρόβλημα τότε τα επικαλυπτόμενα στάδια του επεξεργαστή παγώνουν (Stall) μέχρι να παραχθεί το αποτέλεσμα που χρειάζεται, χάνοντας έτσι μερικούς κύκλους μηχανής. -15-

24 3.2.1 Παράδειγμα εκτέλεσης με προώθηση Παρακάτω δίνεται ένα παράδειγμα εκτέλεσης κώδικα με εξαρτήσεις δεδομένων. Τα βελάκια υποδεικνύουν προώθηση δεδομένων από την μία φάση εντολής στη άλλη. Ο συμβολισμός για τις εντολές είναι ίδιος με αυτόν της εικόνας 2. Από το σχήμα φαίνεται ότι η εντολή add περιμένει αποτέλεσμα από την and και ότι η εντολή sub περιμένει αποτέλεσμα από την εντολή add. Εικόνα 3. Παράδειγμα εκτέλεσης με προώθηση 3.3 Διακλαδώσεις Διακλάδωση ονομάζεται μία κατάσταση (συνήθως εντολή) που αλλάζει τον σειριακό τρόπο εκτέλεσης των εντολών του προγράμματος. Αυτό σε γλώσσες υψηλότερου επιπέδου μπορεί να είναι μια εντολή ελέγχου if ή μία δομή επανάληψης for ή while. Οι εντολές αυτές εξαναγκάζουν τον επεξεργαστή να παρεκκλίνει από την συνεχόμενη και σειριακή εκτέλεση εντολών και δημιουργούν πρόβλημα στην τεχνική της επικάλυψης. Για να το αντιμετωπίσει αυτό ο Mips,έχει την δυνατότητα ακύρωσης εντολής σε περίπτωση επιτυχημένου άλματος έτσι ώστε να αδειάσει το σύστημα από εντολές που δεν πρέπει να εκτελεστούν Παράδειγμα εκτέλεσης με διακλάδωση Παρακάτω δίνεται ένα παράδειγμα εκτέλεσης κώδικα με διακλάδωση. Η εντολή beq συγκρίνει δύο καταχωρητές, στη περίπτωση αυτή τους $1 και $2 και αν αυτοί είναι ίσοι τότε η ροή του προγράμματος μεταβαίνει κάτω από την ετικέτα Exit. Επομένως στη περίπτωση διακλάδωσης, η εντολή add δεν θα πρέπει να εκτελεστεί. Όμως λόγω της επικαλυπτόμενης εκτέλεσης η add θα έχει ήδη αρχίσει να εκτελείτε όταν η beq συγκρίνει τους δύο αυτούς καταχωρητές (κάτι που γίνεται στην φάση execute). -16-

25 Τελικώς η αρχιτεκτονική του Mips προβλέπει τις περιπτώσεις αυτές ακυρώνοντας την εντολή add και αρχίζοντας να εκτελεί την σωστή εντολή μετά από διακλάδωση. Εικόνα 4. Εκτέλεση κώδικα με διακλάδωση 3.4 Διακοπές/Εξαιρέσεις Στον επεξεργαστή Mips μία διακοπή ή εξαίρεση συμβαίνει για την διαχείριση σφαλμάτων που δημιουργούνται κατά την εκτέλεση του κώδικα και διακόπτουν την κανονική εκτέλεση του προγράμματος. Διακοπή συμβαίνει όταν η εκτέλεση ενός προγράμματος στον επεξεργαστή πρέπει να σταματήσει λόγο εισόδου/εξόδου δεδομένων από τον χρήστη (I/O). Στην περίπτωση αυτή η εκτέλεση εντολών διακόπτεται και γίνεται αναμονή για την είσοδο δεδομένων από τον χρήστη ή για την έξοδο δεδομένων από το σύστημα. Αφού η διαδικασία αυτή τελειώσει τότε η εκτέλεση του κώδικα συνεχίζεται κανονικά. Οι διακοπές αν και συχνές σε έναν επεξεργαστή είναι όχι μόνο απαραίτητες για την υ- ποστήριξη ορισμένων λειτουργιών αλλά και ζημιογόνες για την απόδοση του προγράμματος. Εξαίρεση σε ένα επεξεργαστικό σύστημα συμβαίνει όταν συμβαίνει ένα σφάλμα κατά την λειτουργία του επεξεργαστή. Τέτοια σφάλματα μπορεί να είναι page faults (σφάλματα σελίδας), υπερχειλίσεις στην αριθμητική και λογική μονάδα (alu).στις περιπτώσεις αυτές ο PC (program counter) δείχνει σε μία προκαθορισμένη θέση μνήμης όπου -17-

26 υπάρχει κώδικας για την εκτέλεση της ρουτίνας της διακοπής. Μετά την περάτωση της εκτέλεσης αυτού του ειδικού κώδικα, ο PC επιστρέφει στην παλαιά του θέση και η ροή του προγράμματος συνεχίζεται κανονικά. Οι εξαιρέσεις συμβαίνουν αρκετά συχνά σε έναν επεξεργαστή και είναι απαραίτητη η ύπαρξη ρουτινών που μπορούν να τις διαχειριστούν. 3.5 Το σύνολο εντολών του Mips Κατά τη διαδικασία σχεδίασης ενός επεξεργαστή ο ορισμός και η δημιουργία του συνόλου εντολών του είναι μία από τις πρωταρχικές και πιο σημαντικές ενέργειες. Με τον όρο σύνολο εντολών περιγράφουμε όλες τις εντολές που ο εκάστοτε επεξεργαστής είναι ικανός να εκτελέσει. Η σχεδίαση του συνόλου εντολών γίνεται από τον αρχιτέκτονα του συστήματος πολλά σχεδιαστικά trade offs, δηλαδή επιλογές που καθιστούν τον ε- πεξεργαστή αποδοτικό σε ορισμένες ενέργειες και μη αποδοτικό σε άλλες. Στην περίπτωση του Mips οι εντολές του είναι 32 bits και χωρίζονται σε τρείς μεγάλες κατηγορίες : εντολές τύπου R, εντολές τύπου I και εντολές τύπου J. Η κατηγοριοποίηση αυτή προκύπτει όχι από την λειτουργικότητα των εντολών αλλά από το ελαφρώς διαφοροποιημένο μοτίβο κωδικοποίησης τους. Πιο συγκεκριμένα στις εντολές τύπου R περιλαμβάνονται λογικές και αριθμητικές πράξεις που γίνονται μεταξύ δύο καταχωρητών με το αποτέλεσμα της πράξης αυτής να αποθηκεύεται σε έναν καταχωρητή προορισμού. Εντολές τύπου I είναι εντολές που πραγματοποιούνε πράξεις αντίστοιχες με αυτές των R τύπων αλλά οι τελεστέοι είναι ένας καταχωρητής και μία αριθμητική σταθερά, ενώ το αποτέλεσμα αποθηκεύεται στη μνήμη ή σε έναν καταχωρητή προορισμού. Οι εντολές τύπου J είναι εντολές που πραγματοποιούνε άλματα στον κώδικα αλλάζοντας έτσι την σειριακή εκτέλεσή του. Οι εντολές αυτές συχνά προκαλούν αλλαγές στον PC (Program counter) ο οποίος δείχνει σε κάθε κύκλο μηχανής την επόμενη προς εκτέλεση εντολή. Ο τύπος εντολών αυτών δεν αποθηκεύει το αποτέλεσμα της πράξης που γίνεται πουθενά, εκτός του PC ενώ μπορεί να πάρει σαν όρισμα έναν καταχωρητή. Η παραπάνω αναφορά στο σύνολο εντολών του Mips κρίνεται αναγκαία καθώς στη εργασία αυτή ο χρήστης έχει την δυνατότητα να αλλάζει τις εντολές του προγράμματος που εκτελείται στον επεξεργαστή, κάτι το οποίο απαιτεί βασικές γνώσεις του συνόλου εντολών του Mips. Αναλυτικότερα η λειτουργία αυτή επεξηγείται στο παράρτημα Β. -18-

27 4 Σχεδίαση με Verilog Η verilog είναι μία γλώσσα περιγραφής υλικού, επικυρωμένη από την IEEE με τον κωδικό 1364 [13]. Χρησιμοποιείται κυρίως για την σύνθεση, περιγραφή, έλεγχο και επαλήθευση ψηφιακών κυκλωμάτων. Αν και θεωρείται γλώσσα προγραμματισμού, η δομή και η λογική της διαφέρουν σημαντικά από γλώσσες που χρησιμοποιούνται για δομημένο ή αντικειμενοστραφή προγραμματισμό, όπως η Java, C, C++ και η C#. Η κύρια διαφορά της εκτός από τη σημασιολογία και τη σύνταξη ενάγεται στο γεγονός ότι ο κώδικας που γράφεται εκτελείται ταυτόχρονα και όχι σειριακά. Αυτό συμβαίνει γιατί με την γλώσσα αυτή γίνεται η περιγραφή ενός κυκλώματος και όχι η εκτέλεση κώδικα για παραγωγή αριθμητικών ή άλλων αποτελεσμάτων. Για να γίνει η χρήση της Verilog αποδοτικά θα πρέπει ο προγραμματιστής να έχει πολύ καλή γνώση όχι μόνο της άλγεβρας Bool αλλά και γνώσεις ψηφιακής λογικής και κυκλωματικών στοιχείων. Έτσι ο προγραμματιστής καλείται να αποφασίσει μόνος του για την αρχιτεκτονική του συστήματος του καθώς και για το ποιες τεχνικές θα χρησιμοποιήσει για να λύσει τα όποια προβλήματα θα συναντήσει. Λόγω των αρκετών δυσκολιών που αντιμετωπίζει κανείς κατά την ενασχόληση με τη Verilog συχνά αποφεύγεται η χρήση της σε ακαδημαϊκό επίπεδο, ενώ είναι πιο διαδεδομένη στη βιομηχανία. Η γλώσσα αυτή δίνει στον χρήστη δύο τρόπους για να σχεδιάσει ένα κύκλωμα. Οι τρόποι αυτοί καθορίζουν το επίπεδο αφαίρεσης κατά τη συγγραφή του κώδικα και διακρίνονται στον behavioral και τον structural τρόπο. 4.1 Behavioral Verilog Η σχεδίαση με τον τρόπο αυτό παρουσιάζει μία προσέγγιση του κυκλώματος με αφαιρετικό τρόπο. Η επιμέρους συνδεσμολογία των πυλών δεν ενδιαφέρει τον προγραμματιστή, ο οποίος επικεντρώνεται στην λειτουργικότητα του συστήματος. Η χρήση της Verilog κατά τον τρόπο αυτό βοηθάει στην κατανόηση της ροής δεδομένων στο σύστημα που σχεδιάζει ενώ λεπτομέρειες της υλοποίησης του κυκλώματος τις αφήνει στον μεταγλωττιστή. Παρακάτω δίνεται ένα παράδειγμα σχεδίασης σε behavioral Verilog ενός πολυπλέκτη 2 σε 1. Όπως φαίνεται από τον κώδικα ο προγραμματιστής δεν ασχολείται με την συνδεσμολογία, τον αριθμό και το είδος των λογικών πυλών, απλά περιγράφει την λειτουργικότητα του κυκλώματος. -19-

28 Εικόνα 5. Παράδειγμα behavioral verilog 4.2 Structural Verilog Ο τρόπος αυτό συγγραφής κώδικα χρησιμοποιείται κυρίως για την περιγραφή κυκλωμάτων σε επίπεδο ψηφιακών πυλών και όχι σε επίπεδο αρχιτεκτονικής συστήματος. Έτσι ο προγραμματιστής δίνει βάρος στον αριθμό, τον τύπο και την συνδεσμολογία των επιμέρους λογικών πυλών που αποτελούν το κύκλωμά του. Επιπλέον γίνεται συχνή χρήση του structural τρόπου σε συστήματα που πρέπει να είναι φανερή η ιεραρχία τους καθώς μετέπειτα αλλαγές που μπορεί να γίνουν σε αυτά είναι ικανές να επηρεάσουν πολλαπλά επίπεδα ιεραρχίας. Παρακάτω δίνεται ένα παράδειγμα κώδικα structural Verilog για την σχεδίαση ενός πολυπλέκτη 2 σε 1. Για να γίνει η σχεδίαση του κυκλώματος ο συγγραφέας θα πρέπει να έχει πλήρη γνώση των ψηφιακών πυλών που αποτελούν το κύκλωμα. Για τον λόγο αυτό παρατίθεται και το κύκλωμα του πολυπλέκτη σε επίπεδο λογικών πυλών. Εικόνα 6. Ένας πολυπλέκτης σε επίπεδο λογικών πυλών -20-

29 Module mux2_1(a,b,sel,f); Input a,b,sel; Output f; Wire nsel,f1,f2; and g1(f1,a,nsel); and g2(f2,b,sel); or g3(f,f1,f2); not g4(nsel,sel); endmodule Εικόνα 7. Παράδειγμα structural verilog 4.3 Μεταγλώττιση με το εργαλείο modelsim To εργαλείο modelsim είναι ένα μεταγλωττιστής για αρχεία κώδικα Verilog και προσφέρεται από την εταιρία Mentor graphics. Διατίθεται για το λειτουργικό σύστημα Windows και λειτουργεί με κονσόλα και γραφικό περιβάλλον. Στις σημαντικές του λειτουργίες συμπεριλαμβάνεται η δυνατότητα προσομοίωσης συμπεριφοράς ψηφιακών κυκλωμάτων. Ο χρήστης έχει την επιλογή να παρακολουθεί όποια σήματα τον ενδιαφέρουν και να απεικονίσει τις μεταβάσεις που υφίστανται από λογικό μηδέν σε λογικό ένα κατά τη διάρκεια της προσομοίωσης. Τα αποτελέσματα αυτά βγαίνουν σαν έξοδο με τη μορφή παλμών σε ένα γραφικό περιβάλλον που ονομάζεται Wave και συμπεριλαμβάνεται στο εργαλείο modelsim. Αυτός είναι και ένας από τους βασικούς λόγους για τους οποίους ο κώδικας μπορεί να χρησιμοποιηθεί για εκπαιδευτικούς σκοπούς στην τριτοβάθμια εκπαίδευση. Αναλυτικότερα για την διαδικασία την μεταγλώττισης, παρουσιάζεται εγχειρίδιο στο παράρτημα Α. -21-

30

31 5 Πορεία υλοποίησης Για την σχεδίαση του συστήματος δημιουργήθηκαν αρχεία Verilog που περιγράφουν τα απαραίτητα κυκλώματα για την ομαλή λειτουργία του επεξεργαστή. Παρακάτω περιγράφεται η σειρά με την οποία αυτά δημιουργήθηκαν καθώς και η λειτουργικότητά τους. 5.1 Library.v Το αρχείο αυτό περιέχει τις λειτουργικές μονάδες του επεξεργαστή. Συγκεκριμένα εδώ υλοποιείται ο φάκελος καταχωρητών (module RegFile) ο οποίος περιέχει 32 καταχωρητές των 32 Bits ο καθένας. Η εγγραφή του κάθε καταχωρητή γίνεται μόνο κατά την πτώση του παλμού του ρολογιού, ενώ η ανάγνωσή του γίνεται συνδυαστικά και όχι α- κολουθιακά. Επιπλέον υπάρχουν και τα σήματα επίτρεψης ανάγνωσης και εγγραφής ενώ μπορεί να γίνει μία εγγραφή ανά κύκλο μηχανής αλλά δύο αναγνώσεις, πάντα στα πρότυπα της αρχιτεκτονικής Mips. Στο ίδιο αρχείο υπάρχει και η υλοποίηση της κρυφής μνήμης (module Memory) δεδομένων του επεξεργαστή. Η μνήμη είναι μεγέθους 4K λέξεων και η οργάνωσή της είναι άμεσης απεικόνισης. Η εγγραφή στη μνήμη δεδομένων γίνεται κατά την πτώση του παλμού του ρολογιού ενώ η ανάγνωσή της γίνεται συνδυαστικά. Τα σήματα reset, επίτρεψης εγγραφής και ανάγνωσης καθώς και τα σήματα της διεύθυνσης μνήμης και δεδομένων είναι απαραίτητα για την ομαλή λειτουργία την κρυφής μνήμης. Επιπλέον εδώ υλοποιήθηκε και η αριθμητική και λογική μονάδα γνωστή και ως alu (module alu). Η μονάδα αυτή παίρνει σαν είσοδο δύο 32-bit αριθμούς και το σήμα επιλογής πράξης που επιλέγει μεταξύ πρόσθεσης, αφαίρεσης, λογικού ΚΑΙ, λογικού Ή, σύγκρισης και λογικού NAND. Στον ίδιο κύκλο μηχανής η μονάδα αυτή εκτελεί την πράξη που επιλέχθηκε από το σήμα op και βγάζει το αποτέλεσμα στο σήμα out. Σε περίπτωση που η έξοδος της alu είναι μηδέν, η τιμή του σήματος zero γίνεται ένα. Η μονάδα αυτή ολοκληρώνει μία πράξη σε έναν κύκλο μηχανής και αποτελείται από ένα συνδυαστικό κύκλωμα χωρίς ρολόι. -23-

32 Τέλος υλοποιήθηκε και ένα βοηθητικό κύκλωμα (module lib8_buf) για την αποσφαλμάτωση του επεξεργαστή όσον αφορά τα λάθη που έχουν σχέση με τον χρονισμό και για την μελλοντική μοντελοποίηση καθυστέρησης ακολουθιακών στοιχείων. Παρακάτω στην εικόνα 8 δίνεται δειγματικά ο κώδικας από το Library.v που περιγράφει την λειτουργία του φακέλου καταχωρητών. Στις γραμμές περιγράφεται η διαδικασία εγγραφής σε καταχωρητή η οποία γίνεται κατά την πτώση του ρολογιού. Για να γίνει η ολοκλήρωση της εγγραφής θα πρέπει η τιμή των σημάτων reset και wen (write enable) να είναι 1.Στη συνέχεια γίνεται η αποθήκευση των δεδομένων που μεταφέρονται μέσω του σήματος wd (write data) στον καταχωρητή που προσδιορίζεται από τον πίνακα data[] και τον δρομέα wa (write address).έτσι ο κώδικας data[00001] = 10; αποθηκεύει την τιμή 10 στον καταχωρητή με αριθμό ένα. Η α- νάγνωση του φακέλου καταχωρητών περιγράφεται συνδυαστικά στις γραμμές 122 και 123 όπου γίνεται ανακατεύθυνση των περιεχομένων δύο καταχωρητών, που προσδιορίζονται από τα σήματα rda(read address A) και rdb (read address B), στις εξόδους του φακέλου. Εικόνα 8.Ο κώδικας που περιγράφει τον φάκελο καταχωρητών -24-

33 5.2 CPU.v Στο αρχείο αυτό υλοποιήθηκε ένα module (module cpu) στο οποίο περιγράφονται λειτουργίες του επεξεργαστή κατά την διάρκεια εκτέλεσης μίας εντολής σε όλα τα στάδιά της. Συγκεκριμένα γίνεται η προσαύξηση του PC (Program counter) σε κάθε κύκλο μηχανής ώστε να δείχνει στη σωστή εντολή προς εκτέλεση και ελέγχονται και χρησιμοποιούνται οι καταχωρητές επικάλυψης προσέχοντας την μεταφορά δεδομένων από και προς τα διάφορα πεδία τους κατά τον θετικό παλμό του ρολογιού. Επιπλέον εδώ υλοποιείται το κύκλωμα που κατακερματίζει την εντολή, που είναι προς εκτέλεση, στα 6 πεδία της opcode, funct, rs, rt, rd, immediate αλλά δεν γίνεται η αποκωδικοποίηση της. Τέλος εδώ δημιουργείται το κύκλωμα και οι πολυπλέκτες που συμβάλουν στην σωστή προώθηση των αποτελεσμάτων για την αντιμετώπιση εξαρτήσεων από δεδομένα. Τελικώς το αρχείο αυτό λειτουργεί σαν την συνάρτηση main του δομημένου προγραμματισμού καθώς είναι υψηλότερα στην ιεραρχία μεταγλώττισης από κάθε άλλο αρχείο και έχει τον ρόλο του συντονιστή για τις υπόλοιπες συναρτήσεις modules. 5.3 Fsm.v Στο αρχείο Fsm.v περιγράφεται ένα συνδυαστικό κύκλωμα (λειτουργεί χωρίς ρολόι) το οποίο είναι υπεύθυνο για την κατάλληλη παραγωγή σημάτων για τον συντονισμό των επιμέρους λειτουργιών του επεξεργαστή. Πιο συγκεκριμένα, στην μονάδα αυτή γίνεται η αποκωδικοποίηση της εντολής (αφού έχει ήδη διαχωριστεί στα επιμέρους πεδία της από το CPU.v) και η παραγωγή σημάτων όπως το op της αριθμητικής και λογικής μονάδας που υποδηλώνει την πράξη που θα επακολουθήσει. Ακόμη ελέγχεται η ροή των δεδομένων από και προς τους καταχωρητές επικάλυψης (οι οποίοι δημιουργήθηκαν και αυτοί στο CPU.v) ώστε να διοχετεύονται τα σωστά δεδομένα σε κάθε φάση εντολής. Τέλος υλοποιείται και η λειτουργία παγώματος (STALL) του επεξεργαστή για την αντιμετώπιση κινδύνων που γεννιούνται από εξαρτήσεις δεδομένων που η μονάδα διοχέτευσης δεν μπορεί να αντιμετωπίσει. Σε κάθε περίπτωση ο ρόλος του κυκλώματος αυτού είναι ο έλεγχος του κυκλώματος που δημιουργήθηκε από το αρχείο CPU.v και συχνά παρομοιάζεται με τον εγκέφαλο ενός επεξεργαστή καθώς εδώ γίνονται όλες οι σημαντικές αποφάσεις και έλεγχοι για την εκτέλεση μίας εντολής. -25-

34 5.4 Program.hex Στο αρχείο αυτό ο χρήστης γράφει το πρόγραμμα που θέλει να εκτελεστεί από τον επεξεργαστή. Αν και κρίσιμο για την λειτουργία του συστήματος, δεν υλοποιεί ή περιγράφει κάποιο κύκλωμα καθώς δεν περιέχει κώδικα Verilog. Αντί αυτού έχει δύο στήλες που εξομοιώνουν την κρυφή μνήμη εντολών του επεξεργαστή (instruction cache). Στην αριστερή στήλη δηλώνεται δεξιότερα από το η θέση μνήμης σε δεκαεξαδικό σύστημα αρίθμησης ενώ στην δεξιά στήλη δηλώνονται τα περιεχόμενα της θέσης αυτής, επίσης σε δεκαεξαδικό σύστημα, που αντιστοιχούν σε μία εντολή Mips σύμφωνα με το σύνολο εντολών του επεξεργαστή. Αναλυτικότερα οι εντολές που υποστηρίζονται στο σύστημα, η κωδικοποίησή τους περιγράφονται στο παράρτημα Β. Παρακάτω στην εικόνα 9, δίνεται ένα παράδειγμα των περιεχομένων του αρχείου Program.hex με 4 εντολές Mips. Τέλος να σημειωθεί ότι τα περιεχόμενα του αρχείου μπορούν να αλλάξουν κατά βούληση από τον χρήστη ώστε να δοκιμάσει να τρέξει διαφορετικά προγράμματα για να διαπιστώσει την ορθή λειτουργία του επεξεργαστή. Εικόνα 9. Δείγμα αρχείου program.hex, με // σημειώνεται η αρχή των σχολείων ενώ το τέλος τους είναι στο τέλος της τρέχουσας γραμμής 5.5 Testbench.v Το αρχείο αυτό δημιουργήθηκε με σκοπό την δημιουργία των αρχικών σημάτων που είναι απαραίτητα για την λειτουργία του συστήματος. Τα σήματα αυτά είναι ο παλμός του ρολογιού που εναλλάσσεται από λογικό μηδέν σε λογικό ένα και η αρχικοποίηση του φακέλου καταχωρητών με τιμές. Στην περίπτωση αυτή οι καταχωρητές αρχικοποιούνται ως εξής : O πρώτος με την τιμή ένα, ο δεύτερος με την τιμή δύο, ο τρίτος με την τιμή τρία και ούτω καθεξής. Τέλος το αρχείο αυτό καλεί την main της εργασίας, που είναι το CPU.v και φροντίζει ώστε να το τροφοδοτήσει με τα κατάλληλα αρχικά σήματα για να αρχίσει η ομαλή λειτουργία του. -26-

35 5.6 Constants.h Στο αρχείο αυτό είναι δηλωμένες ορισμένες σταθερές που χρησιμοποιεί ο επεξεργαστής όπως ορισμένοι κωδικοί λειτουργίας για την διευκόλυνση της συγγραφής του κώδικα Verilog.Το αρχείο αυτό δεν πρέπει να αλλαχθεί από τον χρήστη καθώς εξυπηρετεί καθήκοντα Header file για την όλη εργασία. 5.7 Ιεραρχική σχεδίαση Η σχεδίαση ενός συστήματος με τη γλώσσα περιγραφής υλικού Verilog μπορεί να γίνει με δύο τρόπους. Ο πρώτος τρόπος είναι γνωστός ως σχεδίαση από έξω προς τα μέσα. Κατά την διαδικασία αυτή ο σχεδιαστής υλοποιεί αρχικά τις περιφερικές μονάδες διασύνδεσης του επεξεργαστή ενώ αντιμετωπίζει τα υπόλοιπα στοιχεία του συστήματος σαν μαύρα κουτιά(black box). Με τον όρο black box περιγράφεται οποιαδήποτε λειτουργική μονάδα ή σύστημα που έχει γνωστές εισόδους, εξόδους και παραγόμενο αποτέλεσμα αλλά η διαδικασία παραγωγής του καθώς και οι λεπτομέρειες υλοποίησης της μονάδας είναι στοιχεία άγνωστα ή αδιάφορα. Μετά την υλοποίηση των περιφερειακών, γίνεται η υλοποίηση των λειτουργικών μονάδων οι οποίες στην συνέχεια διασυνδέονται με το υπόλοιπο σύστημα για να προκύψει τελικά ο επεξεργαστής. Στην περίπτωση της εργασίας αυτής, η από έξω προς τα μέσα σχεδίαση θα επίτασσε αρχικά την δημιουργία των καταχωρητών επικάλυψης, του κυκλώματος ελέγχου και της κρυφής μνήμης εντολών και δεδομένων. Στη συνέχεια θα ακολουθούσε η υλοποίηση των επιμέρους λειτουργικών μονάδων όπως η alu, το κύκλωμα αποκωδικοποίησης και τον φάκελο καταχωρητών, ενώ τελικώς θα γινόταν η διασύνδεση των στοιχείων αυτών. Ο επεξεργαστής Mips της εργασίας αυτής σχεδιάστηκε με τον δεύτερο τρόπο, γνωστό ως σχεδίαση από μέσα προς τα έξω. Όπως υποδηλώνει και το όνομά του, η διαδικασία που ακολουθείται κατά τον τρόπο αυτό είναι αντίθετη από αυτήν που αναφέρθηκε παραπάνω. Έτσι περιγράφτηκε πρώτα φάκελος καταχωρητών και η αριθμητική και λογική μονάδα και η διαδικασία της σχεδίασης προχώρησε, αφού επαληθεύτηκε η σωστή λειτουργία τους. Επόμενο βήμα ήταν η δημιουργία της κρυφής μνήμης εντολών και δεδο- -27-

36 μένων και στη συνέχεια η σχεδίαση του κυκλώματος αποκωδικοποίησης. Αφού όλες οι μονάδες αυτές ήταν έτοιμες και εξακριβωμένες ως προς την άρτια λειτουργία τους έγινε η διασύνδεση τους μέσω των καταχωρητών επικάλυψης και διαύλων επικοινωνίας. Από τους δύο αυτούς τρόπους σχεδίασης επιλέχθηκε ο δεύτερος για τη σχεδίαση του επεξεργαστή της εργασίας. Ο κάθε τρόπος προσφέρει τα δικά του πλεονεκτήματα και μειονεκτήματα και επιλέγεται ανάλογα με τις ανάγκες της κάθε εργασίας. Πιο συγκεκριμένα, η σχεδίαση από έξω προς τα μέσα ενδείκνυται για συστήματα που επικεντρώνονται γύρω από το δίκτυο διασύνδεσης (interconnection network) και όχι γύρω από τις λειτουργικές μονάδες. Τέτοια συστήματα είναι ιεραρχίες μνημών, υπέρ-υπολογιστές και κατανεμημένα δίκτυα επεξεργασίας δεδομένων. Αντίθετα η σχεδίαση από μέσα προς τα έξω ευνοεί συστήματα που παρουσιάζουν ενδιαφέρον στις επιμέρους λειτουργικές τους μονάδες και όχι τόσο στη διασύνδεση αυτών. Αυτά περιλαμβάνουν επεξεργαστές μονοπύρηνους ή πολυπύρηνους, μανάδες επεξεργασίας γραφικών (gpus) και ενσωματωμένα συστήματα. Καθώς ο Mips εντάσσεται στη κατηγορία των επεξεργαστών επιλέχθηκε ο τρόπος σχεδίασης από μέσα προς τα έξω καθώς αυτός δίνει πολύ καλύτερη εικόνα της ιεραρχίας του συστήματος. -28-

37 6 Συμπεράσματα Για τις ανάγκες της εργασίας αυτής σχεδιάστηκε ένας απλοποιημένος πυρήνας επεξεργαστή Mips στη γλώσσα περιγραφής υλικού Verilog, ενώ για την μεταγλώττιση και ε- παλήθευση του χρησιμοποιήθηκε το εργαλείο Modelsim. Η σχεδίαση αυτή είχε ως σκοπό αφ ενός την εις βάθος μελέτη της λειτουργίας ενός επεξεργαστή και αφ εταίρου την δημιουργία ενός συστήματος που θα μπορεί να χρησιμοποιηθεί για εκπαιδευτικούς σκοπούς στην τριτοβάθμια εκπαίδευση. Η χρήση του αυτή ανάγεται στην δυνατότητα που έχει ο χρήστης για την συγγραφή κώδικα προς εκτέλεση για τον επεξεργαστή αυτό, ο οποίος εκτελείται δίνοντας την δυνατότητα της γραφική απεικόνισης της ροής δεδομένων στο σύστημα. Έτσι ο εκπαιδευόμενος μπορεί να αποκτήσει μία πολύ καλή εικόνα ικανή για να θέσει τις βάσεις για την κατανόηση της λειτουργίας πιο σύγχρονων συστημάτων. Έτσι το τελικό αποτέλεσμα επιβεβαιώνει τους στόχους που τέθηκαν παρουσιάζοντας παράλληλα και ένα ολοκληρωμένο σύστημα. Για τη σχεδίαση της αρχιτεκτονικής Mips απαιτήθηκαν αρκετές ώρες μελέτης του συνόλου εντολών του επεξεργαστή καθώς και εγχειριδίων χρήσης του για την κατανόηση του τρόπου λειτουργίας του. Επιπλέον για την εκμάθηση της γλώσσας Verilog, έγινε χρήση κυρίως πόρων του διαδικτύου και ανάγνωση πολλών παραδειγμάτων και tutorials. Το εργαλείο modelsim επιλέχθηκε λόγω της εύκολης πρόσβασης που υπάρχει σε αυτό από ακαδημαϊκούς φορείς, της ευκολίας στην χρήσης του και στη δυνατότητα που παρέχει για γραφική απεικόνιση των αποτελεσμάτων. Όμως η διαδικασία στην οποία επενδύθηκε ο περισσότερος χρόνος ήταν η συγγραφή του κώδικα καθώς δόθηκε πολύ προσοχή όχι μόνο στη λειτουργικότητά του αλλά και στη δόμησή του καθώς ήταν αναγκαίο να πληροί ορισμένα κριτήρια. Είναι διαρθρωμένος με τέτοιον τρόπο ώστε να είναι ευανάγνωστος και να απεικονίζει τον τρόπο με τον οποίο γίνεται η ροή δεδομένων στο σύστημα ενώ δεν επικεντρώνεται στην επιμέρους χρήση και συνδεσμολογία των κυκλωματικών στοιχείων. Ο λόγος που έγινε η επιλογή αυτή πηγάζει από την φύση της εργασίας η οποία ασχολείται με την αρχιτεκτονική του συστήματος και όχι τόσο με την σχεδίαση ηλεκτρικών κυκλωμάτων. Καθώς λοιπόν η αρχιτεκτονική υπολογιστών μελετάει την λειτουργικότητα και την ροή δεδομένων σε έναν επεξεργαστή, η συγγραφή του κώδικα επικεντρώθηκε γύρω από αυτό. -29-

38 Η εργασία αυτή μπορεί να λειτουργήσει ως βάση για την περεταίρω ανάπτυξη του θέματος αυτού. Η ανάπτυξη αυτή μπορεί να επικεντρωθεί στον εκπαιδευτικό χαρακτήρα της πτυχιακής, ή στην εξέλιξη της αρχιτεκτονικής του συστήματος. Η ανάπτυξη κώδικα προς εκτέλεση στον επεξεργαστή αυτό από τον χρήστη είναι μία σχετικά επίπονη διαδικασία καθώς απαιτείται συγγραφή assembly σε δεκαεξαδικό σύστημα, κάτι που είναι πολύ δύσκολο για χρήστες χωρίς εμπειρία. Στο πρόβλημα αυτό θα βοηθούσε η ύπαρξη ενός μεταγλωττιστή (compiler) που θα μεταγλωττίζει κάποια γλώσσα υψηλού επιπέδου, όπως C/C++/Java, σε τελικό κώδικα ικανό να εκτελεστεί στο σύστημα αυτό. Έτσι διευκολύνεται η εκπαιδευτική διαδικασία προσθέτοντας ένα επίπεδο αφαίρεσης, καθώς ο χρήστης δεν θα είναι απαραίτητο να γνωρίζει την γλώσσα assemble. Επιπλέον δίνεται η δυνατότητα εκτέλεσης κώδικα που είναι πιο δομημένος και ευνόητος, βοηθώντας τον χρήστη να κατανοήσει καλύτερα την λειτουργία του συστήματος. Εκτός όμως από την εκπαιδευτική διαδικασία, το θέμα αυτό μπορεί να έχει και προεκτάσεις επικεντρωμένες γύρω από την αρχιτεκτονική του συστήματος. Ο επεξεργαστής μπορεί να εξελιχθεί έτσι ώστε να έχει περισσότερες ομοιότητες με σύγχρονα συστήματα. Για τον σκοπό αυτό θα μπορούσε να αναδιαμορφωθεί η κρυφή μνήμη δεδομένων με μία ιεραρχία πολλών επιπέδων ώστε να αυξηθεί η αποδοτικότητά της. Επιπλέον η προσθήκη δυνατότητας εκμετάλλευσης του παραλληλισμού επιπέδου εντολής με τον αλγόριθμο tomasulo ή με την πολλαπλή έκδοση εντολών στον ίδιο κύκλο μηχανής (super scalar processing) είναι στοιχεία που θα συνεισφέρουν στην περαιτέρω βελτιστοποίηση του συστήματος. Τέλος, καθώς η εκτέλεση πολλών νημάτων είναι μία ευρέως χρησιμοποιούμενη τεχνική, η προσθήκη της στον υπάρχον επεξεργαστή αν και δύσκολη είναι κρίσιμο κομμάτι στη βελτίωσή του. Εν κατακλείδι η ενασχόληση με την πτυχιακή αυτή προσέφερε πολλές γνώσεις πάνω στο αντικείμενο της αρχιτεκτονικής καθώς κατανοήθηκε πλήρως η λειτουργία ενός ε- πεξεργαστή. Τέλος η ενασχόληση ενός ευρέως χρησιμοποιούμενου εργαλείου (Modelsim) και η εκμάθηση της γλώσσας περιγραφής υλικού Verilog είναι σημαντικές γνώσεις που αποκτήθηκαν κατά τον σχεδιασμό του επεξεργαστή. -30-

39 Βιβλιογραφία [1] - Σύνολο εντολών του πυρήνα Mips [28/6/2014] [2] - Εισαγωγή στη Verilog [28/6/2014] [3] cture2.pdf -Διαφορές μεταξύ structural και behavioral Verilog [28/6/2014] [4] - Ε- πίσημος οδηγός χρήσης Modelsim [28/6/2014] [5] Moore, G.E. Cramming More Components Onto Integrated Circuits. In proceedings of the IEEE,Volume:86, Issue: 1, pp Jan [6] Ciji Isen, Lizy K. John, Eugene John. A Tale of Two Processors: Revisiting the RISC-CISC Debate,pp 57-76, Copyright [7] David W. Wall. Limits of instruction-level parallelism. In ASPLOS IV Proceedings of the fourth international conference on Architectural support for programming languages and operating systems, Volume 19 Issue 2, pp , Apr [8] Emery D. Berger, Ting Yang, Tongping Liu et al. Grace: safe multithreaded programming for C/C++ In OOPSLA '09 Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, Volume 44 Issue 10, Pages 81-96, October [9] Agarwal, V., M. Hrishikesh, S. Keckler et. al. Clock Rate versus IPC: The End of the Road for Conventional Microarchitectures. In Proc. of the 27th Int. Symp. on Comp. Arch. (ISCA 00), , [10] M. Lam. Software pipelining: an effective scheduling technique for VLIW machines. In PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, Volume 23 Issue 7, Pages , July

40 [11] Horowitz, M. Chow, P. ; Stark, D et.al. MIPS-X: a 20-MIPS peak, 32-bit microprocessor with on-chip cache. In IEEE Journal of Solid-State Circuits, volume 22, issue 5,Pages , Oct [12] - Η επικαλυπτόμενη αρχιτεκτονική του Mips. [11/7/2014] [13] IEEE Standard Hardware Description Language Based on the Verilog Hardware Description Language, IEEE Computer Society, IEEE Std

41 Παράρτημα Α Στο παράρτημα αυτό θα δειχθούν και θα αναλυθούν στιγμιότυπα από την διαδικασία μεταγλώττισης και εκτέλεσης του κώδικα.το γραφικό περιβάλλον χρήσης του εργαλείου Modelsim δείχνεται παρακάτω. Στο κάτω μέρος της εικόνας 10 διακρίνεται η κονσόλα του εργαλείου ενώ στο πάνω μέρος οι επιλογές για μεταγλώττιση και προσομοίωση. Εικόνα 10. Το γραφικό περιβάλλον του Modelsim Για να αρχίσει η διαδικασία της μεταγλώττισης αρχικά θα πρέπει να ενημερωθεί το εργαλείο για το μέρος του φακέλου που εμπεριέχεται ο πηγαίος κώδικας Verilog.Για τον λόγο αυτό η επιλέγεται File->change directory και στη συνέχεια δίνεται το ζητούμενο path. -33-

42 Εικόνα 11.Αλλαγή path directory στο modelsim. To νέο path θα πρέπει αν περιέχει τα αρχεία κώδικα της verilog Στη συνέχεια επιλέγεται compile->compile και από το παράθυρο που ανοίγει επιλέγονται όλα τα αρχεία που είναι απαραίτητα για το σύστημα για μεταγλώττιση από το εργαλείο. -34-

43 Εικόνα 12.Επιλογή των αρχείων προς μεταγλώττιση και μετά επιλογή του κουμπιού compile Αν η μεταγλώττιση των αρχείων παρουσιάσει σφάλμα, ο προγραμματιστής θα ειδοποιηθεί με ειδικό μήνυμα από την κονσόλα (τα γραμματικά σφάλματα εμφανίζονται με έντονο κόκκινο χρώμα). Σε περίπτωση που δεν υπάρχουν σφάλματα τότε η μεταγλώττιση έχει ολοκληρωθεί επιτυχώς. Επόμενο βήμα είναι η εκτέλεση του κώδικα, η οποία στην γλώσσα Verilog ονομάζεται προσομοίωση του κυκλώματος. Για να γίνει αυτό θα πρέπει, μετά από την επιτυχημένη μεταγλώττιση, να επιλεχθεί simulate->start simulation. Από το παράθυρο που εμφανίζεται θα πρέπει να επιλεχθεί το module cpu_tb που βρίσκεται μέσα στη βιβλιοθήκη work. Στην συνέχεια επιλέγεται ok για να αρχίσει η προσομοίωση. -35-

44 Εικόνα 13. Επιλογή του cpu_tb για τη διαδικασία της προσομοίωσης Δεξιά του νέο παράθυρου που ανοίγει εμφανίζεται το κενό wave. H λειτουργία του wave είναι η συνεχής παρακολούθηση των αλλαγών που συμβαίνουν στα σήματα που επιλέγει ο χρήστης. Κάθε σήμα που εμφανίζεται στο wave παρακολουθείται η συμπεριφορά του γραφικά. Στο επόμενο βήμα θα επιλεχτούν τα σήματα του φακέλου καταχωρητών ή της μνήμης δεδομένων του επεξεργαστή για παρακολούθηση. Στο πάνω α- ριστερά παράθυρο επιλέγεται η ομάδα σημάτων προς παρακολούθηση ενώ στο μεσαίο παράθυρο επιλέγεται το συγκεκριμένο σήμα που ενδιαφέρει τον χρήστη. Για την παρακολούθησή του αρκεί δεξί κλικ πάνω στο σήμα->add->to wave-> selected signals. Εικόνα 14. Βάζοντας στο wave τις τιμές του φακέλου καταχωρητών για παρακολούθηση -36-

45 Τελικώς για να αρχίσει η προσομοίωση του συστήματος αρκεί να γραφτεί στην κονσόλα του Modelsim η εντολή run X, όπου Χ ο αριθμός των picoseconds για τον ο- ποίο το κύκλωμα θα τρέξει. Πιο συγκεκριμένα με την εντολή run 700, το modelsim προσομοιώνει το κύκλωμα για 700 picoseconds. Στη συνέχεια ο χρήστης μπορεί να δει τις τιμές των καταχωρητών του επεξεργαστή καθώς και σε πια ακριβή χρονική στιγμή αλλάζουν. Εικόνα 15. Παρακολούθηση τιμών μέσω του wave -37-

46

47 Παράρτημα B Στο παράρτημα αυτό παρουσιάζεται το σύνολο εντολών της αρχιτεκτονικής Mips που υλοποιήθηκαν στον επεξεργαστή, όπως και η κωδικοποίησή τους. Επιπλέον επεξηγείται ο τρόπος με τον οποίο ο χρήστης μπορεί αν παρέμβει στον κώδικα που εκτελείται από τον επεξεργαστή αυτό. Ο κώδικας προς εκτέλεση βρίσκεται στο αρχείο Program.hex σε δεκαεξαδική κωδικοποίηση εντολών assembly του επεξεργαστή Mips. Πιο συγκεκριμένα το αρχείο αυτό αποτελείται από δύο στήλες. Η αριστερή στήλη είναι της όπου x ο αύξοντας αριθμός, σε δεκαεξαδικό, της τρέχοντας θέσης μνήμης και η δεξιά στήλη που δείχνει τα περιεχόμενα της θέσης μνήμης αυτής, επίσης σε δεκαεξαδικό. Τα περιεχόμενα αυτά αντιστοιχίζονται σε μία εντολή Mips ανά θέση μνήμης. Για ευκολία του χρήστη για την προσθαφαίρεση εντολών προς εκτέλεση, παρουσιάζονται παρακάτω οι τύποι εντολών που υποστηρίζονται. Εντολές τύπου R. Η γενική μορφή εντολών τύπου R παρουσιάζεται στην εικόνα 16. Εικόνα 16. Τα bits σε μία εντολή τύπου R. Το πεδίο opcode είναι εύρους 6 bits και για τις εντολές τύπου R θα πρέπει να είναι ο αριθμός binary. Τα πεδία register s και register t είναι 5 bits το καθένα και περιέχουν τους αριθμούς των καταχωρητών που θα συμμετάσχουν σαν τελεστέοι στην πράξη. Μπορούν να πάρουν οποιαδήποτε τιμή από το 0 μέχρι το 31, η οποία αντιστοιχίζεται άμεσα με τον αντίστοιχο καταχωρητή. Το πεδίο register d είναι εύρους 5 bits και περιέχει τον αριθμό του καταχωρητή προορισμού στον οποίο θα γίνει η εγγραφή του αποτελέσματος μετά την περάτωση της πράξης. Το πεδίο shift amount είναι εύρους 5 bits και για τους σκοπούς της εργασίας αυτής πρέπει να έχει την τιμή -39-

48 00000 binary. Τέλος το πεδίο function, εύρους 6 bits καθορίζει την πράξη που θα γίνει μεταξύ των καταχωρητών Rs και Rt, σύμφωνα με τον παρακάτω πίνακα. Πίνακας 1: Υποστηριζόμενες λειτουργίες τύπου R. Πεδίο function Λειτουργία Λογικό ΚΑΙ rd=rs & rt Λογικό Ή rd=rs rt Πρόσθεση rd=rs+rt Αφαίρεση rd=rs-rt Slt If (rs<rt) then rd=1, Else rd=0; Λογικό Nor rd=!(rs rt) Εντολές μνήμης Η γενική μορφή των εντολών μνήμης παρουσιάζεται στην εικόνα 17. Το πεδίο opcode είναι εύρους 6bits και καθορίζει τον τύπο εντολής μνήμης (φόρτωση ή αποθήκευση) που θα γίνει κατά την εκτέλεση της εντολής. Αναλυτικά οι πράξεις που υποστηρίζονται όπως και τα πεδία opcodes της κάθε μίας παρουσιάζονται στον πίνακα 2. Εικόνα 17. Τα bits σε μία εντολή μνήμης. Πίνακας 2: Υποστηριζόμενες λειτουργίες μνήμης. Πεδίο opcode Λειτουργία Load word Rt=MEM[rs+immediate] Store word MEM[rs+immediate]=rt Τo πεδίo register s αποτελείται από 5 bits και προστίθεται με την σταθερά immediate για τον υπολογισμό της τελικής διεύθυνσης προσπέλασης μνήμης. Επιπλέον στην σταθερά immediate γίνεται επέκταση πρόσημου από τα 16 στα 32 bits. Τέλος το πεδίο register t, εύρους 5 Bits, χρησιμοποιείται για την αποθήκευση δεδομένων από και προς την μνήμη με προορισμό τον καταχωρητή που περιγράφεται. -40-

49 Εντολές διακλάδωσης Οι εντολές διακλάδωσης μπορούν να αλλάξουν την ροή εκτέλεσης του κώδικα και είναι υπεύθυνες για την μεταπήδηση του PC σε διαφορετικές θέσεις της μνήμης εντολών. Είναι απαραίτητες σε κάθε σύστημα καθώς κάθε γλώσσα προγραμματισμού τις υποστηρίζει και χρησιμοποιούνται σε πολλά προγράμματα. Ο επεξεργαστής Mips υποστηρίζει εντολές άλματος υπό συνθήκη, η μορφή των οποίων παρουσιάζονται στην εικόνα 18. Εικόνα 16. Οι μορφή των εντολών διακλάδωσης Το πεδίο opcode καθορίζει την λειτουργικότητα της εντολής, ενώ τα πεδία register s και register t προσδιορίζει τους καταχωρητές που θα συγκριθούν. Στην περίπτωση της beq,αν οι καταχωρητές rs και rt είναι ίσοι τότε ο Pc αυξάνεται κατά την σταθερά immediate, προσπερνώντας έτσι όσες εντολές υποδεικνύεται. Αντίστοιχα, η εντολή bne προκαλεί άλμα του PC σε περίπτωση που οι καταχωρητές rs και rt δεν είναι ίσοι. -41-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 6-7 Απόδοση ΚΜΕ (Μέτρηση και τεχνικές βελτίωσης απόδοσης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Κεντρική Μονάδα Επεξεργασίας

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

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

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

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

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

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

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

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

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

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

Παραλληλισμός σε επίπεδο εντολών

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I MIPS Η MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική συνόλου εντολών (ISA) γλώσσας μηχανής που αναπτύχθηκε από την εταιρεία

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

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

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

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

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

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

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

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

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

Αρχιτεκτονικη υπολογιστων

Αρχιτεκτονικη υπολογιστων ΤΕΙ Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονικη υπολογιστων Τζαγκαράκης Χαράλαμπος hatzagarak@cs.teicrete.gr Εισαγωγη: ο επεξεργαστης και η γλωσσα του Eπεξεργαστής: MIPS Microprocessor Without Interlocked

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

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

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

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

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

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

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

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

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

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

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

Συστήματα σε Ολοκληρωμένα Κυκλώματα Συστήματα σε Ολοκληρωμένα Κυκλώματα Κεφάλαιο 4: Αρχιτεκτονική των Embedded Μικροεπεξεργαστών Διδάσκων: Καθηγητής Οδυσσέας Κουφοπαύλου Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών ΕΙΣΑΓΩΓΗ Παρουσιάζεται

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

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

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

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

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

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

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

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος

Δείγμα Τελικής Εξέτασης στο ΗΜΥ213. Διδάσκοντας: Γιώργος Ζάγγουλος ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών (ΗΜΜΥ) Δείγμα Τελικής Εξέτασης στο ΗΜΥ213 Διδάσκοντας: Γιώργος Ζάγγουλος Οδηγίες Διαβάστε Προσεκτικά! Αυτή η εξέταση γίνεται με

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

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

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

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

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

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

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

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Σχεδίαση datapath Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη μνήμη (lw,

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

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

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

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

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

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

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

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

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

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

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

Σχεδίαση της Μονάδας Ελέγχου

Σχεδίαση της Μονάδας Ελέγχου ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - VHDL ΥΛΙΚΟ ΚΑΙ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ενότητα 5 Σχεδίαση της Μονάδας Ελέγχου Καθηγητής Αντώνης Πασχάλης 2017 Γενικές Γραμμές Σχεδίαση

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

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

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

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

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

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

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath O επεξεργαστής: Η δίοδος δεδοµένων (path) και η µονάδα ελέγχου (control) Σχεδίαση path 4 κατηγορίες εντολών: Αριθµητικές-λογικές εντολές (add, sub, slt κλπ) R Type Εντολές αναφοράς στη µνήµη (lw, sw) I

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

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

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

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Βασικές Πηγές: Αρχιτεκτονική Υπολογιστών Εισαγωγή Αρχιτεκτονική Υπολογιστών: μια Δομημένη Προσέγγιση, Α. Tanenbaum, Vrije Universiteit, Amsterdam. Computer Architecture and Engineering, K. Asanovic, CS1/2-52,

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

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

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

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 11 : Δομή και Λειτουργία της CPU 1/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο) I χειμερινό εξάμηνο & ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II εαρινό εξάμηνο (σε κίτρινο υπόβαθρο). Νικολός Καθηγητής ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην ομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών Ενότητα 1.1 Υλικό

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

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

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Διδάσκοντες: Νικόλας Στυλιανίδης Γιώργος Ζάγγουλος Email: nstylianides@gmail.com zaggoulos.george@ucy.ac.cy Εισαγωγή στους Μικροεπεξεργαστές

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

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

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

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

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

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

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

Σχεδίαση μονάδας ελέγχου επεξεργαστή

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

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες Πρώτο Κεφάλαιο Εισαγωγή στα Ψηφιακά Συστήματα 1.1 Αναλογικά και Ψηφιακά Σήματα και Συστήματα... 1 1.2 Βασικά Ψηφιακά Κυκλώματα... 3 1.3 Ολοκληρωμένα κυκλώματα... 4 1.4 Τυπωμένα κυκλώματα... 7 1.5 Εργαλεία

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 2. ΑΡΙΘΜΗΤΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΜΕΡΟΣ Α 2 Τεχνολογία

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

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

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

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

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

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

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

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

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

Κεφάλαιο 8. Αριθμητική Λογική μονάδα Κεφάλαιο 8 Αριθμητική Λογική μονάδα 8.1 Εισαγωγή Στη μηχανική υπολογιστών η αριθμητική/λογική μονάδα (ALU) είναι ένα ψηφιακό κύκλωμα το οποίο εκτελεί αριθμητικούς και λογικούς υπολογισμούς. Η ALU είναι

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 3 ο ΛΕΙΤΟΥΡΓΙΚΗ ΔΟΜΗ ΥΠΟΛΟΓΙΣΤΗ ΒΑΣΙΚΗ ΜΟΝΑΔΑ ΜΝΗΜΗ & CPU Λειτουργική Δομή Αρχιτεκτονική Von Neumann Όλοι οι υπολογιστές ακολουθούν την αρχιτεκτονική κατά Von-Neumann

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 4: Ψηφιακή Λογική, Άλγεβρα Boole, Πίνακες Αλήθειας (Μέρος B) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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