Ενεργοποίηση και ιαχείριση σηµάτων διακοπής

Σχετικά έγγραφα
ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών week 5. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

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

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

Ορισµός της Στοίβας Περίληψη H λειτουργία της Στοίβας (γενικά, αλλά και στο QtSpim pim) Η χρησιµότητα της Στοίβας στους Μικροεπεξεργαστές Κλήση συνάρτ

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

Λύσεις 2 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Διάλεξη 13. Εξαιρέσεις και Διακοπές (Exceptions and Interrupts)

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Παρουσίαση Εργαστηρίου 3 ιδάσκων: ρ. ρ. Γιώργος Ζάγγουλος

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

ΗΜΥ 213. Εργαστήριο Οργάνωσης Η.Y. και Μικροεπεξεργαστών. Ασκήσεις: week3 και week4. Διδάσκων: Δρ. Γιώργος Ζάγγουλος

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

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

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

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

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

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

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

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

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 5: Εξωτερικές διακοπές του 8051

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

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

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

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

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

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

Τοµέας Εϖιµόρφωσης & Κατάρτισης

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

Μετάφραση ενός Προγράμματος Εξαιρέσεις

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

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

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

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

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

ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΣΤΗΝ ΧΡΗΣΗ ΚΑΙ ΑΞΙΟΠΟΙΗΣΗ ΤΩΝ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙ ΕΥΤΙΚΗ Ι ΑΚΤΙΚΗ ΙΑ ΙΚΑΣΙΑ. Οδηγίες για την πιστοποίηση των εκπαιδευτικών

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

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

Προγραμματιστικό Περιβάλλον

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

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

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

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Η/Υ και Μικροεπεξεργαστών Εαρινό εξάμηνο Διδάσκων: Γιώργος Ζάγγουλος

Προηγμένοι Μικροεπεξεργαστές. Φροντιστήριο 4 Real Mode Interrupts

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

Συμβόλαιο Μαθήματος. Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213. Χρήση Ηλεκτρονικού Υπολογιστή. Αναμενόμενα Αποτελέσματα Μαθήματος

Λύσεις 1 ης Ενδιάμεσης Εξέτασης στο ΗΜΥ213

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

Οδηγίες Χρήσης.

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

Εργαστήριο 4. Εαρινό Εξάμηνο ΠΡΟΣΟΧΗ: Αρχίστε νωρίς το Εργαστήριο 4. Οι ασκήσεις είναι πιο απαιτητικές από τα προηγούμενα εργαστήρια.

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

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

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

Κατανεμημένα Συστήματα

Οδηγίες χρήσης Πώς να χρησιμοποιήσετε το FastBanner

Εργαστήριο Δομής και Λειτουργίας Μικροϋπολογιστών. Βοήθημα εκτέλεσης εργαστηριακής άσκησης 4: Ρουτίνες καθυστέρησης. [Συγγραφή ρουτίνας καθυστέρησης]

ΚΕΦΑΛΑΙΟ 4 ΤΟ ΕΡΓΑΛΕΙΟ SOLVER

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

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

12. Διακοπές Interrupts (IRQ)

Σύντοµος Οδηγός Βοήθειας για τη Χρήση των Μαθηµάτων e-learning για το ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΛΗΡΟΦΟΡΙΑΚΟ ΣΥΣΤΗΜΑ

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

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

Περιγραφή και Έλεγχος ιεργασιών

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

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

G-Remote Banking e-banking ΜΕΤΑΦΟΡΕΣ ΜΑΖΙΚΕΣ ΜΕΤΑΦΟΡΕΣ

ORFEAS ORFEAS HELLENIC AMERICAN UNION

Η συσκευή υποστηρίζει την αποστολή/λήψη μηνυμάτων. Πιέστε το πλήκτρο μηνυμάτων για να γράψετε ένα νέο. Επιλέξτε Μενού Μήνυμα Γράψε Μήνυμα στην

ΟΔΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Φ.Π.Α - ΤΜΗΜΑΤΩΝ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΟΔΗΓΙΕΣ ΚΑΤΑΧΩΡΗΣΗΣ ΣΥΝΑΛΛΑΓΩΝ ΜΕ ΧΡΗΣΗ ΚΑΡΤΑΣ (P.O.S.)

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Εγχειρίδιο Χρήστη - Μαθητή

Οδηγίες για την πιστοποίηση των εκπαιδευτικών

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

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

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

ιαµόρφωση σελίδας Προεπισκόπηση Εκτύπωση

Transcript:

ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Παρουσίαση Εργαστηρίου 6 ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213

Περίληψη 1 ο Πρότζεκτ (Σενάριο Λειτουργίας και Προδιαγραφές) Χρησιµοποίηση του µετρητή χρόνου Ενεργοποίηση και ιαχείριση σηµάτων διακοπής Συνεπεξεργαστής 0 και αρχείο exceptions.s 2

Σενάριο Λειτουργίας Περιληπτικά, θα πρέπει να δηµιουργήσετε ένα σύστηµα το οποίο θα δέχεται ως είσοδο το αρχείο διαγωνίσµατος (test.txt) µέσα στο οποίο θα υπάρχουν όλα τα απαραίτητα στοιχεία του διαγωνίσµατος (όνοµα δηµιουργού του διαγωνίσµατος, κωδικός µαθήµατος, αριθµός ερωτήσεων, οι σωστές απαντήσεις και ο διαθέσιµος χρόνος για κάθε ερώτηση). Αφού το σύστηµα διαβάσει το αρχείο, το αποθηκεύσει στη µνήµη και το κλείσει, θα τοποθετεί τα διάφορα στοιχεία του αρχείου σε ανάλογες λίστες και µετά θα τυπώνει διαδοχικά τις ερωτήσεις πολλαπλής επιλογής και θα αναµένει την απάντηση από τον εξεταζόµενο (µια µόνο θα είναι η σωστή απάντηση σε κάθε ερώτηση). Σε περίπτωση που ο εξεταζόµενος δεν απαντήσει στο χρονικό περιθώριο που καθορίζεται στο αρχείο (test.txt) από τον εξεταστή, το σύστηµα θα εµφανίζει σχετικό µήνυµα και θα προχώρα στην εµφάνιση της επόµενης ερώτησης. Να σηµειωθεί εδώ ότι οποιαδήποτε απάντηση δοθεί εντός των πρώτων 2 δευτερολέπτων, δεν θα γίνεται αµέσως δεκτή από το σύστηµα. (Θα πρέπει να ζητείται επιβεβαίωση µε νέα καταχώρηση της απάντησης για να αποφευχθεί το ενδεχόµενο µια απάντηση που δίνεται ακριβώς µετά τη λήξη του χρόνου να θεωρηθεί από το σύστηµα ως απάντηση στην επόµενη ερώτηση που εµφανίστηκε αµέσως πριν το πάτηµα του πλήκτρου.) 3

Σενάριο Λειτουργίας Ο εξεταζόµενος θα πρέπει να έχει την δυνατότητα να προσπεράσει µια ερώτηση που δεν γνωρίζει αλλά δεν θα έχει την δυνατότητα να επιστρέψει πίσω σε οποιαδήποτε ερώτηση. Ερωτήσεις που δεν απαντώνται στο χρονικό πλαίσιο ή που ο εξεταζόµενος επιλέγει να προσπεράσει χωρίς απάντηση, θα θεωρούνται λανθασµένες για σκοπούς βαθµολόγησης. Μετά από κάθε απάντηση και πριν από την εµφάνιση της επόµενης ερώτησης, θα πρέπει να δίνεται κατάλληλο σχόλιο στον φοιτητή στο οποίο θα αναφέρεται και η σωστή απάντηση σε περίπτωση που ήταν λανθασµένη ή δεν απαντήθηκε. Στο τέλος του διαγωνίσµατος, ο εξεταζόµενος θα πρέπει να ενηµερώνεται για την επίδοσητουστοδιαγώνισµα (µετονβαθµότουναεµφανίζεταιωςποσοστό (%)των σωστών απαντήσεων) καθώς επίσης και για το συνολικό χρόνο επίλυσης του διαγωνίσµατος. Το σύστηµα θα πρέπει επίσης να εµφανίζει στο τέλος µια περίληψη µε το πλήθος αλλά και τους αριθµούς των ορθών, λανθασµένων και αναπάντητων ερωτήσεων. Στη συνέχεια οι σωστές απαντήσεις θα παρατίθενται δίπλα από όλες τις απαντήσεις του εξεταζόµενου. 4

ΠροδιαγραφέςΣυστήµατος 1. Κάθε διαδραστικό διαγώνισµα θα αποτελείται από τουλάχιστον 10 ερωτήσεις, όπου η κάθε ερώτηση θα ακολουθείται από 4-6 επιλογές (απαντήσεις). Μια µόνο από τις επιλογές (απαντήσεις) θα είναι ορθή. 2. Μην θέσετε ως σταθερές στον κώδικα σας τιµές οι οποίες µπορεί να αλλάξουν σε κάποιο άλλο διαγώνισµα όπως ο αριθµός ερωτήσεων και ο διαθέσιµος χρόνος για κάθε ερώτηση. 3. H µορφή του αρχείου διαγωνίσµατος πρέπει να ακολουθεί τις προδιαγραφές που σας δίνονται πιο κάτω και θα πρέπει να δώσετε ένα τουλάχιστον αρχείο µε τις δικές σας ερωτήσεις σε οποιοδήποτε θέµα που διδάσκεται στο ΗΜΥ213. 4. Το πρόγραµµα πρέπει αρχικά να καλωσορίζει τον εξεταζόµενο και να του δηλώνει πόσες ερωτήσεις περιλαµβάνονται στο διαγώνισµα και µε push να αποθηκεύει σε δική σας Στοίβα (ακολουθώντας την πολιτική της στοίβας) τις ορθές απαντήσεις. Στη συνέχεια, να ενηµερώνει τον εξεταζόµενο για τα πλήκτραµεταοποίαµπορείνααπαντάκαιτέλοςναζητάαπότονεξεταζόµενο να εκκινήσει το τεστ όταν είναι έτοιµος. 5

ΠροδιαγραφέςΣυστήµατος 5. Οι ερωτήσεις και ο διαθέσιµος χρόνος για απάντηση θα τυπώνονται διαδοχικά και ο χρήστης θα επιλέγει µε κάποια πλήκτρα την απάντηση του. Ο χρόνος µεταξύ της εκτύπωσης της ερώτησης και της πληκτρολόγησης του χρήστη θα θεωρείτε ότι είναι ο χρόνος που χρειάστηκε για να απαντηθεί η ερώτηση. Στην περίπτωση που ο εξεταζόµενος δεν γνωρίζει την απάντηση, θα µπορεί µε το πάτηµα ενός άλλου πλήκτρου να συνεχίσει στην επόµενη ερώτηση. 6. Στο τέλος του διαγωνίσµατος, µαζί µε τον βαθµό ο οποίος θα υπολογίζεται όπως αναφέρεται στο 2ο µέρος, θα παρουσιάζεται επίσης ο µέσος χρόνος απάντησης και ένας αναλυτικός πίνακας µε το πλήθος των ορθών απαντήσεων, καθώς και µε τους αριθµούς των ορθών, των λανθασµένων και αυτών που δεν απαντήθηκαν λόγω λήξης του χρόνου. Απαραίτητη είναι και η χρήση της pop για σύγκριση της κάθε απάντησης του χρήστη µε την σωστή απάντηση που υπάρχει στο αρχείο διαγωνίσµατος (test.txt). 7. Στο κάθε αρχείο διαγωνίσµατος πρέπει τουλάχιστον να περιλαµβάνονται τα στοιχεία που αναφέρονται πιο πάνω. 6

ΠροδιαγραφέςΣυστήµατος 8. Ηµορφήπουθαέχουντααρχείαπουθαδιαβάζειτοπρόγραµµασας,καθώςκαι όλες οι σχεδιαστικές αποφάσεις που θα πάρετε και οι λεπτοµέρειες υλοποίησης, πρέπει να τεκµηριωθούν και να φαίνονται ξεκάθαρα στην αναφορά που θα παραδώσετε. 9. Τοπρόγραµµάσαςθαπρέπειναείναιαπλό,εύχρηστο,καιπολύφιλικόπροςτον χρήστη και µε κάποιο στοιχειώδες interface. Σηµειώστε ότι ένα µέρος της βαθµολόγησης θα αφορά και την οπτική παρουσία του προγράµµατος σας, αλλά προτρέπεστε να επικεντρωθείτε στην τήρηση των προδιαγραφών ορθότητας/λειτουργικότητας. 7

Περιεχόµενο Αρχείου test.txt Here you can give instructions to the students.#george Zaggoulos#HMY213#10#a,a,b,b,c,e,a,d,d,a#8,10,10,15,20,7,8,15, 20,7#4,4,5,5,5,4,4,5,4,6# Qusetion 1: How many t registers exist in MIPS32? a Four b Ten c Eight d Nine; Qusetion 2: How many r registers exist in MIPS32? a Four b Two c Three d None;... Qusetion 10: How many bits are stored in a memory location in MIPS32? a 16 b 24 c 28 d 32;! 8

Interrupt Service Routine Όταν προκληθεί Exception τότε το σύστηµα µεταφέρει τη λειτουργία σε άλλο µονοπάτι. Στο SPIM καθορίζουµε µια συνάρτηση η οποία ονοµάζεται Interrupt Service Routine και «τοποθετείται» στην διεύθυνση 0x80000180. ηλαδή κάθε φορά που προκαλείται interrupt το σύστηµα ξεκινάει από τη διεύθυνση 0x80000180 και εκτελεί εντολές (ISR) Το σηµερινό παράδειγµα αφορά σε δύο ειδών interrupts Timer I/O 9

Καταχωρητές 8 BadAddr memory address at which an offending memory reference occurred 9 Count timer 11 Compare value compared against timer that causes interrupt when they match 12 Status interrupt mask and enable bits 13 Cause exception type and pending interrupt bits 14 EPC address of instruction that caused exception 16 Config configuration of machine 10

Χρησιµοποιούνται για τη δηµιουργία TIMEOUTS Timer Interrupts Κάθε ένα χρονικό κβάντο (για το SPIM είναι 10 msec) αυξάνεται ένας µετρητής αντίστοιχα ($9 $9). Πότε προκαλείται interrupt? Το σύστηµα προκαλεί interrupt όταν ο $9 γίνει ίσος µε τον $11 (καταχωρητής µε τον οποίο ελέγχουµε το TIMEOUT). 11

Καταχωρητές Status ($12), Cause ($13) και Exception Programme Counter ($14) mfc0 $t5, $13 # Copy Cause register value to $t5 mtc0 $v0, $12 # Copy $v0's value to Status register 12

Ειδικοί καταχωρητές (θέσεις µνήµης) που χρησιµοποιούνται για Interrupts 13

Ενεργοποίηση Interrupts - Register ($12) 1.Το bit στη θέση 0 ενεργοποιεί τα σήµατα διακοπής (global on/off control bit for all interrupts). 2.Αναλόγως των σηµάτων διακοπής που επιθυµείτε να επιτρέψετε, θέστε σε λογικό 1 τα bitς 11 και 15 του καταχωρητή Status τα οποία επιτρέπουν στην CPU να ανταποκρίνεται στα σήµατα διακοπής από το πληκτρολόγιο και το ρολόι αντίστοιχα. 3.Θέστε σε λογικό 1 το Interrupt Enable bit στον καταχωρητή Receiver Control Register (0xFFFF0000). Αυτό το bit επιτρέπει την δηµιουργία σηµάτων διακοπής από το πληκτρολόγιο όταν ο χρήστης πληκτρολογήσει οτιδήποτε. 14

ιαχείριση ενός Interrupt Όταν δηµιουργηθεί κάποιο σήµα διακοπής, τα επόµενα βήµατα εκτελούνται αυτόµατα από το υλικό του µικρό- επεξεργαστή: 1. Το Exception Level bit (bit 1) στον καταχωρητή Status γίνεται 1. Όταν αυτό το bit έχει τιµή 1, δεν µπορούν να δηµιουργηθούν άλλα σήµατα διακοπής. Αυτό συµβαίνει γιατί δεν µπορεί ο µικροεπεξεργαστής να διακόψει την λειτουργία εξυπηρέτησης κάποιας διακοπής για να εξυπηρετήσει µια 2 η διακοπή. 2. Ο καταχωρητής Cause παίρνει την ανάλογη τιµή από την οποία µπορούµε ως προγραµµατιστές να δούµε τί προκάλεσε τη διακοπή (το ρολόι ή το πληκτρολόγιο). 3. Ο καταχωρητής EPC παίρνει την τιµή που έχει αυτή την στιγµή ο Program Counter για να µπορεί µετά από την εξυπηρέτηση του interrupt να επιστρέψει στο σηµείο από το οποίο πρέπει να συνεχίσει. 15

Timer and Keyboard Interrupts Καλείστε να συµπληρώσετε τα δύο αρχεία (week6.s και excep_week6.s) αυτής της εβδοµάδας, έτσι ώστε να λειτουργεί ορθά η υπολογιστική µηχανή (+, -, *, / και χ^y). Ο χρήστης, αρχικά µε 2 κλήσεις συστήµατος (5) εισάγει τους δύο αριθµούς (χ και y). Στη συνέχεια µε keyboard interrupt, ο χρήστης θα επιλέγει την πράξη που επιθυµεί να εκτελέσει. Αν ο χρήστης δώσει αριθµούς και δεν επιλέξει την προς εκτέλεση πράξη, τότε µε timing interrupt το πρόγραµµα θα τερµατίζει (στα 7 δευτερόλεπτα)! 16

Αλλαγές στο week6.s Το αρχείο week6.s σας δίνεται σχεδόν έτοιµο. Αποµένει εσείς να: 1. Ενεργοποιήσετε το ρολόι και τα σήµατα διακοπής που χρειάζεστε. 2. Ελέγξετε το ρολόι και το πλήκτρο που επέλεξε ο χρήστης και να στείλετε το πρόγραµµα να εκτελεστεί το αντίστοιχο µέρος του κώδικα. 17

Αλλαγές στο excep_week6.s Το αρχείο excep_week6.s θα αντικαταστήσει το exceptions.s έτσι ώστε να κάνει αυτά που επιθυµείτε και τα οποία περιγράφονται πιο κάτω: Είναι και αυτό έτοιµο! Aποµένει εσείς να: 1. Ελέγξετε το λόγο που προκλήθηκε το σήµα διακοπής (ρολόι, πληκτρολόγιο, ή κάτι άλλο) 2. Γράψετε τον κώδικα που θέλετε να εκτελείται αναλόγως του interrupt. 3. Προσαρµόσετε τον κώδικα σας για να αδρανοποιεί τα πλήκτρα που δεν χρησιµοποιούνται στην επιλογή πράξης. 18

Προσοχή στο τρέξιµο του Κώδικα!!! Επιλέξτε στο QtSpim: Simulator/Settings/MIPS και στη συνέχεια επιλέξτε την επιλογή Mapped I/O και Load Exception Handler. (Αφήστε επιλεγµένη και την επιλογή Accept Pseudo Instructions Επιλέξτε το αρχείο isr.s που επιθυµείτε! Αν το αρχείο isr.s µετακινηθεί ΕΝ θα µπορεί να λειτουργήσει ξανά το QtSpim 19

Μαθησιακοί Στόχοι Εργαστήριο 6 1. Χρησιµοποίηση του µετρητή χρόνου 2. Ενεργοποίηση και ιαχείριση σηµάτων διακοπής 3. Συνεπεξεργαστής 0 και αρχείο exceptions.s 20