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

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

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

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

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

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

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

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

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

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

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

Παραδείγματα Assembly Μέρος Γ

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Έλεγχος Ροής Προγράμματος

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

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

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

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

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

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

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

Συναρτήσεις-Διαδικασίες

Δομημένος Προγραμματισμός

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

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

Δομές Δεδομένων (Data Structures)

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

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

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

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

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

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

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

Διαδικασίες Ι. ΗΥ 134 Εισαγωγή στην Οργάνωση και στον Σχεδιασμό Υπολογιστών Ι. Διάλεξη 4

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

Υποστήριξη διαδικασιών στο υλικό των υπολογιστών

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

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

ΗΜΥ211 Εργαστήριο Ψηφιακών Συστηµάτων

Ε-85: Ειδικά Θέµατα Λογισµικού

6. Επιστροφή ελέγχου στο σημείο εκκίνησης

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

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

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

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

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

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

MIPS functions and procedures

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

Στοίβες με Δυναμική Δέσμευση Μνήμης

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 6 C & Assembly

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

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

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Διαλέξεις 6: Κάλεσμα Διαδικασιών, Χρήση και Σώσιμο Καταχωρητών. Μανόλης Γ.Η.

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

Η γλώσσα προγραμματισμού C Οι συναρτήσεις στη C (2)

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

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

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

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

Παράλληλη Επεξεργασία

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

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Μεθόδων Επίλυσης Προβλημάτων

Λειτουργικά Συστήματα (ΗΥ222)

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

ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Κάθε υποπρόγραμμα έχει μόνο μία είσοδο και μία έξοδο. Κάθε υποπρόγραμμα πρέπει να είναι ανεξάρτητο από τα άλλα.

ΕΠΛ605 Εργασία 1 Ημερομηνία Παράδοσης 12/9/2018 στην αρχή του μαθήματος

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

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

Όταν το πρόγραμμα φτάσει σε αυτή την εντολή και ο καταχωρητής PINA έχει την τιμή

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

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

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

Transcript:

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

Περίληψη Συναρτήσεις Χρονόμετρο Χρήση Διακοπτών Coprocessor Διαχείριση Εξαιρέσεων 2

Συναρτήσεις Τι ονομάζουμε συνάρτηση? Αυτόνομο σύνολο εντολών στο οποίο έχουμε εισόδουςκαι έξοδο Υλοποιεί μια διαδικασία Περιέχει τοπικές μεταβλητές οι οποίες «εξαφανίζονται» με την ολοκλήρωση της εκτέλεσης της συνάρτησης. int i, j; 3

Κλήση Συναρτήσεων PC#A Main Prepare input Call function PC#B PC#A+4 return printf PC#B+N 4

Κλήση Συναρτήσεων Stack Segment Text Segment Data Segment foo printf Text Segment Main reserved 5

Κλήση Συναρτήσεων Παράμετροι εισόδου Stack Segment Data Segment Text Segment reserved Πριν την κλήση μιας συνάρτησης πρέπει να αποθηκεύσουμε τις παραμέτρους εισόδους σε προσβάσιμη μνήμη ΠΟΥ? Στην στοίβα Τι είναι η στοίβα και πως τη χρησιμοποιούμε? 6

Δομή Στοίβας (stack) Τι είναι η Στοίβα? Ορίζεται γενικά μια δομή δεδομένων η οποία ακολουθεί την πολιτική Last- In-First-Out (LIFO). Κάθεδομήstack χαρακτηρίζεται πλήρως από δύο δείκτες και τις βασικές λειτουργίες που εκτελεί. top pop push 7

Δομή Στοίβας (stack) Οιδύοβασικοίδείκτεςσημειώνουντα όρια της και είναι: Ο δείκτηςβάσης(base pointer bp) ο οποίος δείχνει το αρχικό στοιχείο της δομής, δηλαδή το πρώτο στοιχείο που μπήκεστηνστοίβα και το τελευταίο που θα βγει, και ΒP SP Ο δείκτηςστοίβας (stack pointer sp) ο οποίος δείχνει το επόμενο στοιχείο που θα τύχειδιαχείρισης, αυτό δηλαδή που μπήκε τελευταίο στη δομή. Κατάτηναρχικοποίηση της στοίβας ισχύει ότι bp = sp. 8

Οι Βασικές Λειτουργίες μιαςστοίβας Οιβασικέςλειτουργίεςδιαχείρισης μιας στοίβας είναι οι εντολές push (εναποθέτω) και pop(ανακτώ). Η εντολήpushείναι η εντολή που «γεμίζει» την δομή με δεδομένα, ακολουθώντας τη λογική LIFO. Κάθε εντολή push(a) μειώνει τον sp κατάμία θέση και τοποθετεί στη θέση αυτή τοδεδομένοπουπεριγράφεται (ή δείχνεται, αναλόγως της εφαρμογής) από το a. Η εντολήpopείναι η εντολή που «αδειάζει» τη δομή από τα δεδομένα. Κάθε εντολή pop(b) αφαιρεί από τη στοίβα το στοιχείο που δείχνει ο sp, το τοποθετεί στοb (ή στηθέσηπου δείχνειο b, αναλόγωςεφαρμογής) και αυξάνει τον spκατά μία θέση. a ΒP SP 9

Η Στοίβα στο SPIM SP = 0xfffffffc Stack Segment SP = 0xfffffff8 push SP = 0xfffffff4 push Data Segment Text Segment reserved 10

Stack Segment Η Στοίβα στο SPIM SP = 0xfffffffc pop SP = 0xfffffff8 pop SP = 0xfffffff4 Data Segment Text Segment reserved 11

Παράδειγμα Λειτουργίας μιας Στοίβας 1. push(a) # push register a on the stack 2. push(b) # push register b on the stack 3. pop(a) # pop value from the stack to reg. a 4. pop(b) # pop value from the stack to reg. b Ποιο θα είναι το αποτέλεσμα των πιο πάνω εντολών (σε σχέση με το περιεχόμενο των καταχωρητών); Ανταλλαγή των τιµών των δύο καταχωρητών 12

Exceptions Τι είναι ένα Exception? Μια παρέκκλιση από την κανονική ροή του προγράμματος Ποιοι λόγοι μπορούν να προκαλέσουν ένα Exception? A) Λάθος κατά την εκτέλεση του προγράμματος (Software Interrupt) B) Κλήση από συσκευή εξόδου εισόδου (I/O Interrupt) Γ) Κλήση από χρονομετρητή (Timer interrupt) 13

Exceptions Ποιος διαχειρίζεται τα Exceptions? Coprocessor 0 Ποιοι καταχωρητές χρησιμοποιούνται? 14

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

Ειδικοί καταχωρητές (θέσεις μνήμης) που χρησιμοποιούνται για Interrupts 14-Feb-13 HMY213 - Πανεπιστήµια Κύπρου - HMY213 - Πανεπιστήµιo Κύπρου - Εαρινό Εξάµηνο 2013 N.Σ & Γ.Ζ Εαρινό Εξάµηνο 2012 Γ Ζ 16

Ενεργοποίηση Interrupts 1. Θέστε σε λογικό 1 το Interrupt Enable bit (Bit 0) του Status Register ($12). Αυτό το bit ενεργοποιεί τα σήµατα διακοπής (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-Feb-13 HMY213 - Πανεπιστήµια Κύπρου - HMY213 - Πανεπιστήµιo Κύπρου - Εαρινό Εξάµηνο 2013 N.Σ & Γ.Ζ Εαρινό Εξάµηνο 2012 Γ Ζ 17

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