Συστήματα Μικροϋπολογιστών

Σχετικά έγγραφα
Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών

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

Συστήματα Μικροϋπολογιστών

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

; Οι HL δείχνουν την επόµενη θέση µνήµης MVI A, 38H CMP H JNZ DO_FLMEM ; POP B. ; Ανάκτηση καταχωρητών απο το σωρό.

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

Συστήματα Μικροϋπολογιστών. Παραδείγματα χρήσης διαδικασιών Εισόδου Εξόδου δεδομένων στον με 8085

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

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

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

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

ΘΕΜΑΤΑ & ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ

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

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

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

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

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

ΠΑΡΑ ΕΙΓΜΑ 8 ΓΕΝΝΗΤΡΙΑ ΨΕΥ ΟΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ (PSEUDORANDOM GENERATOR) 8.0 ΓΕΝΙΚΑ

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

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

Συστήματα Μικροϋπολογιστών

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

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

ΜΑΘΗΜΑ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

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

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

Συστήματα Μικροϋπολογιστών

Συστήματα Μικροϋπολογιστών

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

Θεωρητικές Ερωτήσεις

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ 1. Υπορουτίνες Μαθηµατικών Πράξεων 1.1. Προσηµασµένοι και απροσήµαστοι αριθµοί 1.2. Μετατροπές προσηµασµένων και απροσήµαστων αριθµών

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

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

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

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

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

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι Μικροεπεξεργαστής 8085, Εργαστηριακές Ασκήσεις

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι Μικροεπεξεργαστής Intel 8085, Εργαστηριακές Ασκήσεις

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

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

Κυριάκης - Μπιτζάρος Ευστάθιος Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.

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

8051 Interrupt Ports. Name Alternate Function

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Γ ΕΠΑΛ 14 / 04 / 2019

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

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ Ι

Ψηφιακά Συστήματα. 8. Καταχωρητές

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

ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΕΣ ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΦΕΒ 2014 Καθηγητής: Νικολαΐδης Νικ. Ημ/νία εξέτασης:

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

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

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 4 ΣΕΛΙ ΕΣ

ΑΣΚΗΣΗ 3 ΑΣΚΗΣΗ 3. Μηχανικοί ιακόπτες. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

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

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

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

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

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

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

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

Ενσωματωμένα Συστήματα

Σχεδίαση Ψηφιακών Συστημάτων

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

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

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

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

6.1 Καταχωρητές. Ένας καταχωρητής είναι μια ομάδα από f/f αλλά μπορεί να περιέχει και πύλες. Καταχωρητής των n ψηφίων αποτελείται από n f/f.

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Παραδείγματα Προγραμματισμού σε Assembly του TRN

Transcript:

Συστήματα Μικροϋπολογιστών Συστήματα Διακοπών Υπεύθυνος Μαθήματος: K. ΠΕΚΜΕΣΤΖΗ

Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

Συστήματα Διακοπών Αξία Διακοπών: Διαχείριση Ι/Ο με αποδοτικό τρόπο. Καλύτερη εκμετάλλευση του χρόνου του με, δηλ. της υπολογιστικής του ισχύος. Ασύγχρονη ανταπόκριση. INT Ρουτίνα εξυπηρέτησης της διακοπής μεπεξ. INTA Εξωτερική Συσκευή

Hardware για σημαία διακοπής και ενεργοποίηση διακοπών Χωρίς μάσκα: INT Q S D "1" με R CK AITΗΣΗ ΔΙΑΚΟΠΗΣ INTA F/F Συγκράτησης Αίτησης Διακοπής

Hardware για σημαία διακοπής και ενεργοποίηση διακοπών Με μάσκα: Διακοπή Μη παρεμποδιζόμενη διακοπή Παρεμποδιζόμενη διακοπή Ενεργοποίηση Διακοπής Απενεργοποίηση Διακοπής S CK R Q Flip-flop ενεργοποίησης διακοπών Μικροεπεξεργαστής

Γενική Μορφή Ρουτίνας Εξυπηρέτησης PUSH PSW PUSH B PUSH D PUSH H <Κύριο Σώμα Ρουτίνας Εξυπηρέτησης> POP H POP D POP B POP PSW EI RET Σημαντικότερη εντολή Η εντολή RET λειτουργεί όπως και στα υποπρογράμματα δηλ. επιστρέφει από το σωρό τον PC του κύριου προγράμματος

Ποιές λειτουργίες επιτελούνται ως απάντηση σε μια διακοπή; Ολοκληρώνεται η τρέχουσα εντολή Σώζεται ο μετρητής προγράμματος Σώζεται η κατάσταση του με Αναγνώριση συσκευής & προτεραιότητας Εκτελείται η ρουτίνα εξυπηρέτησης Ανακτάται η κατάσταση του με Επιστρέφει ο έλεγχος στην επόμενη εντολή από αυτήν όπου έγινε η διακοπή

Αναγνώριση Διακοπής HARDWARE Διακοπή: ((SP)-1) (PCH) ((SP)-2) (PCL) (SP) (SP)-2 (PC) Διεύθυνση της διακοπής που αναγνωρίσθηκε SOFTWARE Διακοπή: RST n ((SP)-1) (PCH) ((SP)-2) (PCL) (SP) (SP)-2 (PC) 8n N=0,1,2,3,4,5,6,7 RST NNN 11NNN111

Αναγνώριση Hardware Διακοπής T R T 1 READY T 2 READY READY T W T 3 T T T 4 5 6 ΟΧΙ Τελευταίος κύκλος μηχανής της εντολής? ΝΑΙ Επιτρεπτή Διακοπή? (Valid ΙΝΤ=1) ΟΧΙ ΝΑΙ Θέσε flip-flop INTA=1 Μηδένισε flip-flop INTE=0

Υλοποίηση Ανυσματικής Διακοπής Μικροεπεξεργαστής 8085Α AD 7 -AD 0 INTR Q D INTA 1 Καταχωρητής Τριών Καταστάσεων 1 1 Κωδικοποιητής Ν Ν Ν προτεραιότητας Flip-flop CK RESET INTA Συνολική αίτηση διακοπής από συσκευές Ε/Ε Συσκ. Συσκ. 0 7 Αιτήσεις διακοπής από συσκευές Ε/Ε

Συνεχής Σάρωση Polling ÄéáèÝóéìá ÄåäïìÝíá óôç ÓõóêåõÞ 7? ¼ é Íáß ÅêôÝëåóå ôç Ñïõôßíá ÅîõðçñÝôçóçò ôçò ÓõóêåõÞò 7 RET ÄéáèÝóéìá ÄåäïìÝíá óôç ÓõóêåõÞ 6? ¼ é Íáß ÅêôÝëåóå ôç Ñïõôßíá ÅîõðçñÝôçóçò ôçò ÓõóêåõÞò 6 RET ÄéáèÝóéìá ÄåäïìÝíá óôç ÓõóêåõÞ 0 ÅêôÝëåóå ôç Ñïõôßíá ÅîõðçñÝôçóçò ôçò ÓõóêåõÞò 0 RET

Polling Παράδειγμα Κώδικα IN STATUS ; Είσοδος Κατάστασης RLC ; Απομόνωση 8 ου bit JNC DEV6 CALL SRV_DEV7 ; Έλεγχος για εξυπηρέτηση συσκευής 7 DEV6: RLC ; Ομοίως για τη συσκευή 6 JNC DEV5 CALL SRV_DEV6.... ; Το ίδιο για τις υπόλοιπες συσκευές DEV1:RLC ; Ομοίως για τη συσκευή 1 JNC DEV0 CALL SRV_DEV1 DEV0: RLC ; Ομοίως για τη συσκευή 0 JNC EXIT CALL SRV_DEV0 EXIT: RET

Οι Διακοπές στον 8085 Διεύθυνση (HEX) = 8*n Hardware Interrupts SID SOD TRAP RST7,5 με 8085 RST6,5 RST5,5 INTR RESET... RST1... RST2... RST3 RST4... TRAP... RST5... RST5,5... RST6... RST6,5... RST7... RST7,5... 0000 0008 0010 0018 0020 0024 0028 002C 0030 0034 0038 003C

Οι Διακοπές στον με 8085: Εντολές RIM & SIM ACC μετά την εντολή RIM: SID I7.5 I6.5 I5.5 IE M7.5 M6.5 M5.5 Flags: None ACC για την εντολή SIM: SOD SOE X R7.5 MSE M7.5 M6.5 M5.5 Interrupt Masks Interrupt Enable Flag Interrupt Pending (σε εκκρεμότητα) Serial Input Data Cycles: 1, States:4 RST5.5 Mask RST6.5 Mask RST7.5 Mask Mask Set Enable Reset RST7.5 Undefined SOD Enable Serial Output Data

Παράδειγμα 1: Χρήση RST 5,5 Στο παρακάτω πρόγραμμα πραγματοποιείται η μέτρηση του αριθμού των διακοπών τύπου RST5.5 στον μυ 8085. Σαν μετρητής χρησιμοποιείται ο καταχωρητής B. Η εκτέλεση του προγράμματος αρχίζει από τη διεύθυνση START. Επιτρέπει το πρόγραμμα την διακοπή RST 5,5; Πόσες διακοπές μπορεί να αντέξει χωρίς να αυτοκαταστραφεί; Να δοθεί το πρόγραμμα σε τυπικά ορθή μορφή.

Παράδειγμα 1: Το αρχικό πρόγραμμα RST5.5:JMP START: LXI MVI LOOP1: INR MVI SIM EI LOOP2: JMP LOOP1 SP, LOOP2+5 B,FFH B A,0EH LOOP2 Στην τρίτη επανάληψη ο σωρός θα επικαλύψει τον κώδικα του προγράμματος 0ΕΗ=00001110 bit 3=1 άρα επίτρεψη διακοπής RST5,5 Ο σωρός μεγαλώνει συνεχώς. Μετά τη δεύτερη επανάληψη: SP JMP (LO BYTE) (HI BYTE) PCL PCH LOOP2 LOOP2+1 LOOP2+2 LOOP2+3 LOOP2+4 LOOP2+5

Παράδειγμα 1: Τρόποι βελτίωσης Α Τρόπος: Ο SP αυξάνει κατά 2 σε κάθε διακοπή LOOP1: INR INX INX MVI... Β Τρόπος: Τυπικά ορθή μορφή προγράμματος B SP SP A,0EH RST5.5: JMP LOOP1... START: MVI A,0EH ; Κυρίως πρόγραμμα SIM EI MVI B,0H LOOP2: JMP LOOP2 LOOP1: INR B ; Ρουτίνα εξυπηρέτησης διακοπής EI RET

Παράδειγμα 2: Χρονόμετρο δευτερολέπτων Υλοποίηση σε μυ-σ 8085 χρονομέτρου δευτερολέπτων. Το χρονόμετρο λειτουργεί με ένα πλήκτρο που με κάθε περιττό πάτημά του ο χρόνος θα ξεκινάει από το μηδέν. Με κάθε άρτιο πάτημα του πλήκτρου ο χρόνος θα παγώνει και θα εμφανίζεται σταθερά στο display. Το πλήκτρο είναι συνδεδεμένο στην είσοδο διακοπής RST 5,5. Δίνεται υπορουτίνα DELAY καθυστέρησης 50 msec. 1 RST 5.5 μυ-σ 8085 Θύρα εξόδου: Data BCD to 7=segment BCD to 7=segment

Παράδειγμα 2 το χρονόμετρο από τη ρουτίνα εξυπηρέτησης ; Κύριο πρόγραμμα MVI A,0Eh ; Αρχικοποίηση SIM ; διακοπών MVI C,0 ; Αρχικοποίηση σημαίας MVI A,0 ; και μετρητή EI LOOP: JMP LOOP ; Αναμονή διακοπών RST 5.5: POP H ; Απομάκρυνση από ; τη στοίβα του περιεχομένου του PC ; που αποθηκεύτηκε με τη διακοπή MOV D,A ; Προσωρινή ; αποθήκευση της MOV A,C ; τιμής του μετρητή ΧRI 1 ; Αναστροφή της ; τιμής της σημαίας MOV C,A CPI 1 JNZ EVEN ODD: XRA A EI LOOP1: CALL CALL CALL JMP LOOP1 EVEN: MOV A,D EI LOOP2: CALL JMP LOOP2 ; Αν C=0 άρτιος ; αριθμός διακοπών ; διευθ. EVEN ; Μηδενισμός μετρητή ; Επίτρεψη διακοπών DISPLAY DELAY1 INC_COUNTER ; Ανάκτηση τιμής ; μετρητή DISPLAY

Παράδειγμα 2 Το χρονόμετρο από το κύριο πρόγραμμα MVI A,0E ; Αρχικοποίηση μάσκας διακοπών, SIM ; σημαίας και μετρητή MVI A,00 STA 3000 ; Αρχικοποίηση μετρητή MVI A,00 STA 3001 ; Αρχικοποίηση σημαίας ΕΙ LOOP: CALL DISPLAY LDA 3001 ; Αν ο αριθμός των μέχρι τώρα διακοπών είναι CPI 0 ; άρτιος συνέχισε να τυπώνεις το περιεχόμενο του JZ LOOP ; μετρητή στο Display χωρίς να τον αυξάνεις CALL DELAY1 ; Καθυστέρηση 1 sec CALL INC_COUNTER JMP LOOP

Παράδειγμα 2 - Υπορουτίνες DISPLAY: LDA 3000H OUT DATA RET ; Η ρουτίνα DISPLAY εμφανίζει την τιμή του μετρητή DELAY1: MVI B,20d INL: CALL DELAY DCR B JNZ INL RET ; Η ρουτίνα DELAY1 δημιουργεί καθυστέρηση 1 sec ; καθυστέρηση 50 msec x 20=1 sec INC_COUNTER: ; H ρουτίνα INC_COUNTER αυξάνει το μετρητή LDA 3000H ; του χρονομέτρου κατά 1. Επίσης αν ο μετρητής έχει INR A ; την τιμή 60 η ρουτίνα αυτή τον μηδενίζει. DAA STA 3000H CPI 60H ; Αν ο μετρητής φτάσει την τιμή 60 (περιέχει JNZ OUTL ; δηλαδή τα BCD ψηφία 6 και 0, γι αυτό η τιμή 60 XRA A ; κατά τη σύγκριση είναι HEX) μηδενίζεται. OUTL: STA 3000H RET

Παράδειγμα 2 Ρουτίνα Εξυπηρέτησης Διακοπής RST 5.5: PUSH PSW LDA 3001H ; Αντιστρέφεται η σημαία που δείχνει αν έχουμε XRI 1 ; άρτιο ή περιττό αριθμό διακοπών STA 3001H CPI 1 ; Εξετάζεται η σημαία διακοπών JZ END ; Αν ο αριθμός διακοπών είναι περιττός επιστρέφει XRA A ; Διαφορετικά μηδενίζει το μετρητή και επιστρέφει STA 3000H END: POP PSW EI RET

Παράδειγμα 3 Μια συσκευή εισόδου είναι συνδεδεμένη στη θύρα 80Η ενός μυ-σ 8085 και προκαλεί διακοπή RST5.5 πριν από κάθε δεδομένο. Να γραφεί πρόγραμμα που να εισάγει 64 δεδομένα (θετικοί ακέραιοι των 8 bit) και στη συνέχεια να σταματά την εισαγωγή δεδομένων και να υπολογίζει το μέσο όρο. μυ-σ 1 RST5.5 Data STB Συσκευή

Παράδειγμα 3 Κύριο Πρόγραμμα MVI A,0EH ; Αρχικοποίηση μάσκας διακοπών και SIM ; μετρητή δεδομένων C LXI H,0 ; Μηδενισμός συσσωρευτή MVI C,64d EI ; Ενεργοποίηση διακοπών ADDR: MVI A,C ; Βρόχος αναμονής μέχρι να διαβαστούν όλα τα CPI 0 ; δεδομένα, οπότε ο μετρητής C θα έχει την τιμή 0 JNZ ADDR ; Αφού έχουν διαβαστεί και τα 64 δεδομένα DI ; οι διακοπές απενεργοποιούνται DAD H ; Υπολογισμός του μέσου όρου με ολίσθηση 2 DAD H ; θέσεων προς τα αριστερά του ζεύγους H-L. Αυτό ; επιτυγχάνεται με την πρόσθεση του ζεύγους H-L HLT ; δύο φορές στον εαυτό του.

Παράδειγμα 3 Ρουτίνα Εξυπηρέτησης Διακοπής 002C: JMP RST5.5 RST5.5: PUSH PSW IN 80h MVI D,0 MVI E,A DAD D DCR C POP PSW EI RET ;Πρόσθεση δεδομένων ;Ελάττωση μετρητή Διαίρεση με 64 ολίσθηση δεξιά κατά 6 θέσεις του H-L Ολίσθηση αριστερά του H-L κατά 2 θέσεις φέρνει το αποτέλεσμα στον Η και το κλασματικό μέρος στον L (*4) H L 0 0 2 Θέσεις Μέσος όρος 6 Θέσεις

Παράδειγμα 4 Ένα μυ-σ 8085 δέχεται δεδομένα από τη θύρα εισόδου DATA. Κάθε νέο δεδομένο προκαλεί διακοπή RST 5.5. Τα δεδομένα αγνοούνται μέχρι να εμφανιστεί η τιμή 01. Η τιμή αυτή και τα δεδομένα που ακολουθούν μέχρι την τιμή 02 καταχωρούνται σε ένα πίνακα που αρχίζει από τη διεύθυνση DTXT. μυ-σ 1 RST5.5 Data STB Συσκευή

Παράδειγμα 4 - Λογικά διαγράμματα ΚΥΡΙΟ ΠΡΟΓΡΑΜΜΑ ΑΡΧΗ Αρχικ. RST 5.5 Β 0 C 0 ΡΟΥΤΙΝΑ ΕΞΥΠΗΡΕΤΗΣΗΣ ΑΡΧΗ INPUT OXI B=1 NAI Β 0 (DTXT) A OXI A=01 OR C=1 NAI DTXT DTXT+1 Β 1 C 1 A=02 NAI OXI ΤΕΛΟΣ ΤΕΛΟΣ

Παράδειγμα 4 Κύριο πρόγραμμα (A Τρόπος) LXI H,DTXT MVI A,0Eh SIM EI MVI C,0 MVI B,0 LOOP: MOV A,B CPI 01 JNZ LOOP MOV A,D MOV M,A INX H MVI B,0 CPI 02 JNZ LOOP DI HLT ; Φόρτωσε το ζεύγος H-L με τη διεύθυνση του πίνακα ; Αρχικοποίηση μάσκας διακοπών και σημαίας και ; ενεργοποίηση διακοπών. ; Σημαία έγκυρου δεδομένου ; Σημαία παρουσίας νέου δεδομένου ; Βρόχος αναμονής ; Αν Β=0, δεν υπάρχει δεδομένο για αποθήκευση ; και η αναμονή συνεχίζεται ; Αποθήκευσε το δεδομένο και αύξησε τη διεύθυνση ; κατά 1, έτσι ώστε να δείχνει στο επόμενο στοιχείο ; του πίνακα. ; Αν το δεδομένο ήταν ο αριθμός 2, η διαδικασία ; τερματίζεται

Παράδειγμα 4 Ρουτίνα Εξυπηρέτησης (Α Τρόπος) 002C: JMP RST5.5 RST5.5: PUSH PSW IN DATA ; Διάβασε το δεδομένο MOV D,A ; Φύλαξέ το στον D MOV A,C CPI 01 ; Αν η σημαία είναι 1 σημαίνει ότι είμαστε μετά το 01 JZ STORE ; Αποθήκευσε το δεδομένο MOV A,D CPI 01 ; Αν η σημαία είναι 0 εξέτασε αν το δεδομένο είναι 01 JNZ EXIT ; Αν όχι αγνόησέ το, διαφορετικά θέσε τη σημαία MVI C,01 ; αποδοχής 1 και STORE: ; δώσε την τιμή 1 στον καταχωρητή Β για να πληροφορήσεις MVI B,01 ; το κύριο πρόγραμμα ότι δόθηκε δεδομένο προς αποθήκευση EXIT: POP PSW EI RET

Παράδειγμα 4 Κύριο πρόγραμμα (Β Τρόπος) LXI H,DTXT MVI A,0E SIM EI MVI C,0 WAIT: JMP WAIT ; Φόρτωσε το ζεύγος H-L με την διεύθυνση του πίνακα ; Αρχικοποίησε τη μάσκα διακοπών ; και ενεργοποίησε τις διακοπές ; Αρχικοποίησε τη σημαία έγκυρου δεδομένου ; Βρόχος αναμονής

Παράδειγμα 4 Ρουτίνα Εξυπηρέτησης (Β Τρόπος) 002C: JMP RST5.5 RST5.5: IN DATA ; Διάβασε το δεδομένο MOV D,A ; Φύλαξέ το στον D MOV A,C CPI 01 ; Αν η σημαία είναι 1 σημαίνει ότι είμαστε μετά το 01 JZ STORE ; Αποθήκευσε το δεδομένο MOV A,D CPI 01 ; Αν η σημαία είναι 0 εξέτασε αν το δεδομένο είναι 01 JNZ EXIT ; Αν όχι αγνόησέ το, διαφορετικά θέσε τη σημαία MVI C,1 ; αποδοχής 1 και αποθήκευσε το δεδομένο STORE: MOV M,A INX H ; Αύξησε το δείκτη του πίνακα CPI 02 ; Αν το δεδομένο είναι το 02 τερματίζεται το JNZ EXIT ; πρόγραμμα DI RET EXIT: EI RET

Παράδειγμα 5 Χρονόμετρο με χρήση εξωτερικού χρονιστή παλμών 50Hz Διάταξη: RST5.5 Θύρα εξόδου 20H BCD to 7=segment MIN BCD to 7=segment μυ-σ 8085 Θύρα εξόδου 21H BCD to 7=segment BCD to 7=segment SEC Κύριο πρόγραμμα: PULSES DB (?) SEC DB (?) MIN DB (?) ; Αρχικοποίηση χρονομέτρου XRA A ; Μηδένισε τους μετρητές STA PULSES ; παλμών, λεπτών και STA SEC ; δευτερολέπτων STA MIN MVI A,0EH ; Επέτρεψε τη RST 5.5 SIM EI... ; Υπόλοιπες εντολές κύριου ; προγράμματος

Παράδειγμα 5 Ρουτίνα εξυπηρέτησης (Α ) RST 5.5: PUSH PSW INR_SEC: CALL DISPLAY ; Απεικόνισε λεπτά και δευτερόλεπτα LDA PULSES INR A STA PULSES CPI 50D ; Αν δεν έχει φτάσει στην τιμή 50, η ρουτίνα JNZ EXIT ; τερματίζει. Διαφορετικά μηδενίζεται και XRA A ; ακολούθως αυξάνεται ο μετρητής των STA PULSES ; Δευτερολέπτων. LDA SEC INR A ; Αύξησε το μετρητή των δευτερολέπτων DAA ; κανονικοποίησε σε BCD μορφή. STA SEC CPI 60H ; Αν δεν έχει φτάσει στην τιμή 60Η, JNZ EXIT ; (αποθηκευμένος σε BCD μορφή) η ρουτίνα XRA A ; τερματίζει. Διαφορετικά μηδενίζεται. STA SEC

Παράδειγμα 5 Ρουτίνα εξυπηρέτησης (Β ) LDA MIN INR A DAA STA MIN CPI A,60Η JNZ EXIT XRA A STA MIN EXIT: POP PSW EI RET DISPLAY: LDA MIN OUT 20H LDA SEC OUT 21H RET ; Ακολούθως αυξάνεται ο μετρητής των λεπτών ; Αύξησε την τιμή των λεπτών ; κανονικοποίησε σε BCD μορφή ; Αν δεν έχει φτάσει στην τιμή 60Η η ρουτίνα τερματίζει ; Διαφορετικά μηδενίζεται ; Αυτή η υπορουτίνα εμφανίζει στους ενδείκτες τα ; λεπτά και τα δευτερόλεπτα

Ποσοστό χρόνου Ρουτίνας εξυπηρέτησης Τι ποσοστό του υπολογιστικού χρόνου του με αναλώνεται στην Ρουτίνα εξυπηρέτησης του Χρονομέτρου με χρήση εξωτερικού χρονιστή παλμών; Κάθε 20 msec συμβαίνει μια διακοπή (στην χειρότερη περίπτωση εκτελούνται ~ 20 εντολές x 1μsec= 20μsec ). Για κάθε εντολή υποθέτω ~8 καταστάσεις και για 8 MHz ρολόι προκύπτει διάρκεια ~1μsec Ποσοστό χρήσης από την Ρουτίνα εξυπηρέτησης = 20μs/20ms=1 Πρακτικά όμως εκτελούνται κατά μέσο όρο λιγότερο από 10 εντολές x 1μsec= 10μsec Ποσοστό = 0.5

Παράδειγμα 6 Χρήση εντολών ελέγχου μηχανής Να γραφεί πρόγραμμα που: Με την πρώτη διακοπή θα υπολογίζει την τιμή του αναλογικού σήματος x(t). Με την επόμενη διακοπή θα επανέρχεται στο αρχικό πρόγραμμα. Η διαδικασία να επαναλαμβάνεται όσες φορές θέλουμε. X(t) A/D 8085 Port 10H Port 20H Display RST 5.5 Push button ; Κύριο πρόγραμμα MVI A,0Eh ; Αρχικοποίηση SIM ; διακοπών EI ; Αναμονή διακοπών +5V

Παράδειγμα 6 Ρουτίνα Εξυπηρέτησης (Α ) 002C: JMP ADC ; ή ADC* ; 002D: Byte1 - Αρχικά στις 002D 002Ε υπάρχει η διεύθυνση ADC. ; 002E: Byte2 ; Στην επόμενη διακοπή η διεύθυνση αυτή θα εναλλάσσεται με την ADC* ADC: ; Τμήμα ρουτίνας εξυπηρέτησης χρησιμεύει για το PUSH PSW ; 1o πάτημα του διακόπτη. PUSH B ; Είναι αναγκαία η φύλαξη όλων των PUSH D ; καταχωρητών και του PSW. PUSH H LXI H, ADC* ; Τοποθετείστε στις θέσεις μνήμης 002D 002Ε την διεύθυνση SHLD 002D ; ADC* ώστε στο επόμενο πάτημα του διακόπτη να ; εκτελεσθεί η εντολή JMP ADC*. EI ; Ενεργοποίηση διακοπών για επίτρεψη της επόμενης διακοπής. WAIT: IN 10Η ; Διαβάζουμε την τιμή του x(t) και την OUT 20H ; απεικονίζουμε στη θύρα 20 Η. JMP WAIT ; Η απεικόνιση επαναλαμβάνεται μέχρι να ξαναπατηθεί ; για δεύτερη φορά ο διακόπτης.

Παράδειγμα 6 Ρουτίνα Εξυπηρέτησης (B ) ; Τμήμα της ρουτίνας εξυπηρέτησης για το δεύτερο πάτημα του διακόπτη ADC*: LXI H,ADC ; Προετοιμασία για την επόμενη (περιττή) διακοπή. SHLD 002D ; Αποθήκευση στις θέσεις 002D 002Ε της διεύθυνσης ADC. POP H ; Αποκατάσταση της κορυφής του σωρού POP H ; Αποκατάσταση των καταχωρητών POP D POP B POP PSW EI RET ; Επιστροφή στο κυρίως πρόγραμμα

Παράδειγμα 6 Εναλλακτική λύση ; Κύριο πρόγραμμα MVI A,0Eh ; Αρχικοποίηση SIM ; Διακοπών και MVI B, 0 ; σημαίας άρτιων-περιττών διακοπών EI ; Αναμονή διακοπών ; ρουτίνας εξυπηρέτησης 002C: JMP ADC ; ADC: PUSH PSW ; PUSH B ; Είναι αναγκαία η φύλαξη όλων των PUSH D ; καταχωρητών και του PSW. PUSH H MVI Α, 1 ; XOR B MOV B,A ; Ενημέρωση σημαίας JZ SKIP WAIT: IN 10Η ; Διαβάζουμε την τιμή του x(t) και την OUT 20H ; απεικονίζουμε στη θύρα 20 Η. JMP WAIT ; Η απεικόνιση επαναλαμβάνεται μέχρι

Παράδειγμα 6 Εναλλακτική λύση ; Τμήμα της ρουτίνας εξυπηρέτησης για άρτια διακοπή SKIP: POP H ; Αποκατάσταση της κορυφής του σωρού POP H ; Αποκατάσταση των καταχωρητών POP D POP B POP PSW EI RET ; Επιστροφή στο κυρίως πρόγραμμα

Απ Ευθείας Προσπέλαση Μνήμης Direct Memory Access (DMA) Η πληροφορία οδηγείται ή λαμβάνεται από τη μνήμη χωρίς να περάσει από τη CPU Πλεονεκτήματα DMA Μεγαλύτερη ταχύτητα Δεν συμμετέχει η CPU και δεν απασχολείται Ιεραρχία σημάτων DMA: με HOLD DMRQ 2 1 DMA Controller 3 4 Συσκευή HLDA DACK

Τυπικό Σύστημα DMA Μικροεπεξεργαστής Διάδρομος Διευθύνσεων Διάδρομος Δεδομένων Μνήμη INTR HOLDA HOLD Διάδρομος Ελέγχου MEMWR Ρολόι CLK HLDA HRQ Καταχωρητής Διευθύνσεων MEMRD IOR IOWR Ελεγκτής Συσκευής Καταχωρητής Δεδομένων Μετρητής Λέξεων ή Bytes Κύκλωμα Ελέγχου IOWR DACK Ελεγκτής DMA DRQ DACK CS SVR_REQ Συσκευή

Βασικές Τεχνικές DMA (A) Μέθοδος του κλεψίματος του κύκλου: Αυτό το DMA μεταφέρει με σταθερό ρυθμό και κάθε φορά 1 δεδομένο από και προς τη μνήμη. Εκμεταλλεύεται κενούς χρόνους από την λειτουργία του με ή παγώνει τον με σε κάθε κύκλο μηχανής για να μεταφέρει 1 δεδομένο.

Βασικές Τεχνικές DMA (B) Μέθοδος παγώματος του με: Χρησιμοποιείται για απαιτητικές από άποψη ρυθμού δεδομένων («εκρηκτικές») εφαρμογές. «Αποσυνδέεται» ο με και αναλαμβάνει ο DMA controller. ΑΡΧΗ ΚΑΤΑΧΩΡΗΤΗΣ ΔΙΕΥΘΥΝΣΕΩΝ ΑΡΙΘΜΟΣ ΜΕΤΡΗΤΗΣ BYTES (512) ΚΥΚΛΩΜΑ ΕΛΕΓΧΟΥ Buffer (RAM) HRQ HLDA DRQ DACK

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.