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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μικροαρχιτεκτονική του LC3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ProcSim οδηγίες χρήσης.

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

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

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

Ολοκληρωμένα Κυκλώματα - Φθινόπωρο 2014 Γ. Δημητρακόπουλος. Εργαστηριακή άσκηση 2

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

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

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

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

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

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

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

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

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

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

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

Είναι το πρωτόκολλο RS232 που χρησιμοποιείται στις σειριακές θύρες COM με τη διαφορά ότι εκτελείται σε επίπεδο τάσεων TTL. 2

Λειτουργικά Συστήματα Πραγματικού Χρόνου

ΔΙΑΧΥΤΑ ΚΑΙ ΕΝΣΩΜΑΤΩΜΕΝΑ ΣΥΣΤΗΜΑΤΑ

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

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

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

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

ProcSim οδηγίες χρήσης.

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

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

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

ΟΜΑΔΕΣ ΕΝΤΟΛΩΝ: ΙΔΙΟΤΗΤΕΣ ΚΑΙ ΛΕΙΤΟΥΡΓΙΕΣ

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

ProcSim οδηγίες χρήσης.

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKO MHXANIK I O I Η/ Η Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Γ. Τσιατούχας ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ

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

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

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

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

ProcSim οδηγίες χρήσης.

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

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

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

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

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

Transcript:

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

Περίληψη Κλήση Συνάρτησης και επιστροφή στη main Χρησιμοποίηση του μετρητή χρόνου Ενεργοποίηση και Διαχείριση σημάτων διακοπής Συνεπεξεργαστής 0 και αρχείο exceptions.s 2

Κλήση Συνάρτησης και επιστροφή στη main Κλήση Συνάρτησης (jal read_input, jr $ra) Κλήση (2ης) συνάρτησης μέσα από άλλη (1η) συνάρτηση. Απαιτείται αποθήκευση του $ra πριν από την κλήση της 2ης συνάρτησης για σωστή λειτουργία του προγράμματος. Αναδρομικές Κλήσεις (κλήση συνάρτησης μέσα από την ίδια τη συνάρτηση) 3

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

Καταχωρητές 8 BadAddr memory address at which an offending memory reference occurred 9 Counter 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 5

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

Καταχωρητές 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 7

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

Ενεργοποίηση 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 επιτρέπει την δημιουργία σημάτων διακοπής από το πληκτρολόγιο όταν ο χρήστης πληκτρολογήσει οτιδήποτε. 9

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

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

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

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

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

Μαθησιακοί Στόχοι Εργαστήριο 5 1. Κλήσεις Συναρτήσεων (jal / jsr) 2. Χρησιμοποίηση του μετρητή χρόνου 3. Ενεργοποίηση και Διαχείριση σημάτων διακοπής 4. Συνεπεξεργαστής 0 και αρχείο exceptions.s 15