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]http://www2.engr.arizona.edu/~slysecky/courses/ece474a_s09/public_html/lecture/le 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-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ 1.1 Εισαγωγή...11 1.2 Τα κύρια αριθμητικά Συστήματα...12 1.3 Μετατροπή αριθμών μεταξύ των αριθμητικών συστημάτων...13 1.3.1 Μετατροπή ακέραιων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

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

Τ.Ε.Ι. ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΦΕΒΡΟΥΑΡΙΟΣ 2006 ΣΥΝΕΡΓΑΣΤΗΚΑΝ ΡΟΚΑ ΑΦΡΟΔΙΤΗ ΣΩΤΗΡΑΚΟΥ ΣΤΑΜΑΤΙΑ ΒΑΣΙΚΕΣ ΜΟΝΑΔΕΣ ΤΩΝ ΕΠΕΞΕΡΓΑΣΤΕΣ Μονάδες εκτέλεσης Αρχεία εγγραφών Έλεγχο λογικής ΜΝΗΜΗ ROM RAM ΣΥΣΤΗΜΑ ΕΙΣΟΔΟΥ-ΕΞΟΔΟΥ(I/O) ΕΠΙΤΡΕΠΕΙ ΣΤΟΝ ΕΠΕΞΕΡΓΑΣΤΗ ΚΑΙ

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

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

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΙΑ ΜΕ ΤΙΤΛΟ ΕΠΕΞΕΡΓΑΣΤΕΣ - CPU Μπακρατσάς Γιώργος geback007@yahoo.gr Δεκέμβριος, 2014 Περιεχόμενα ΕΙΣΑΓΩΓΗ... 3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 4 ΧΡΟΝΟΛΟΓΙΕΣ

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

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

Εφαρμογές μικροελεγκτών

Εφαρμογές μικροελεγκτών Μικροελεγκτές Έναν ορισμό που θα μπορούσαμε να δώσουμε για τους μικροελεγκτές είναι ο εξής: Μικροελεγκτής είναι ένα προγραμματιζόμενο ολοκληρωμένο κύκλωμα το οποίο διαθέτει επεξεργαστή, μνήμη, διάφορα

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 1 : Οργάνωση και Αρχιτεκτονική υπολογιστών Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα Τμήμα Μηχανικών

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

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

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

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

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

7.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 7 ΑΚΟΛΟΥΘΙΑΚΑ ΚΥΚΛΩΜΑΤΑ ΜΑΝ ΑΛΩΤΕΣ FLIP FLOP Σκοπός: Η κατανόηση της λειτουργίας των βασικών ακολουθιακών κυκλωµάτων. Θα µελετηθούν συγκεκριµένα: ο µανδαλωτής (latch)

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

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

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

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

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

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

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

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ.

Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ. ΤΕΙ ΚΡΗΤΗΣ / ΠΑΡΑΡΤΗΜΑ ΧΑΝΙΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Μελέτη και σχεδίαση µιας υποτυπώδους κεντρικής µονάδας επεξεργασίας στα 32 µπιτ mode mode(0) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Εµµανουήλ Καπαρού Επιβλέπων : ρ Μηχ Νικόλαος

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

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις:

Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: Ερωτήσεις αυτοαξιολόγησης 1 ου μαθήματος Έχοντας κατανοήσει την ύλη του 1ου μαθήματος ( Εισαγωγή στην Αρχιτεκτονική Η/Υ ) θα πρέπει να μπορείτε να απαντήσετε στις παρακάτω ερωτήσεις: 1. Ποια η σχέση της

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

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

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

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

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

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

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

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

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

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

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

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ Ο όρος είναι συντομογραφία του όρου «Αυτόματος, Ηλεκτρονικός Ψηφιακός Υπολογιστής Γενικού Σκοπού» [1]. Αυτόματος Μετά την έναρξη της λειτουργίας του εργάζεται μόνος του εκτελώντας

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

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό Quartus II" ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ

Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό Quartus II ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ "Σχεδίαση και Υλοποίηση Μονάδας Επεξεργασίας για Αριθμούς 8-bit με την Γλώσσα VHDL και το Λογισμικό

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

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

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

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

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

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

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

Ψηφιακή Λογική Σχεδίαση

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

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

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Δοκιμή Έλεγχος Αλγορίθμου Για να

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

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

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

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

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

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

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

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

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

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

Πράξεις με δυαδικούς αριθμούς

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

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

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

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

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

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

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

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική. Επιµέλεια διαφανειών: Χρ. Καβουσιανός 5 η Θεµατική Ενότητα : Μνήµη & Προγραµµατιζόµενη Λογική Επιµέλεια διαφανειών: Χρ. Καβουσιανός Μνήµη Η µνήµη καταλαµβάνει το µεγαλύτερο µέρος ενός υπολογιστικού συστήµατος Δύο τύποι: ROM - RAM RΟΜs CPU

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 2 ο ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ 2009-10 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Άλγεβρα Βοοle η θεωρητική βάση των λογικών κυκλωμάτων Η άλγεβρα Βοοle ορίζεται επάνω στο σύνολο

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

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

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

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

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

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

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

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

Οργάνωση Η/Υ. Ο Επεξεργαστής TRN. Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου Οργάνωση Η/Υ Ο Επεξεργαστής TRN Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου ΚMΕ Κυριότεροι Καταχωρητές της ΚΜΕ του υπολογιστή TRN IR (20 bits) X (20 bits) I

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

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δρ. Γκόγκος Χρήστος Επιστήμη των υπολογιστών Computer Science (CS) ή Information

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