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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

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

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

MIPS functions and procedures

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

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

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

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

Transcript:

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

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

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

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

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

οµήστοίβας(stack) Τι είναι η Στοίβα? Ορίζεται γενικά μια δομή δεδομένων η ο οία ακολουθεί τηνπολιτικήlast-in-first-out (LIFO). Κάθε δομή stack χαρακτηρίζεται λήρως α ό δύο δείκτες και τις βασικές λειτουργίες ου εκτελεί. 6

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

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

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

Η Στοίβα στο SPIM Stack Segment SP = 0x7ffffffcpop SP = 0x7ffffff8 pop SP = 0x7ffffff4 Data Segment Text Segment reserved 10

Παράδειγμα Λειτουργίας μιας Στοίβας 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 Ποιο θα είναι το αποτέλεσμα των πιο πάνω εντολών (σε σχέση με το περιεχόμενο των καταχωρητών); 11

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

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

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

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

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

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