Αρχιτεκτονική-ΙI Ενότητα 1 :



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

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

Αρχιτεκτονική-ΙI Ενότητα 4 :

Αρχιτεκτονική-ΙI Ενότητα 6 :

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

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

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

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

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

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

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

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

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

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

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

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

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

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

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

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

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

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

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

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

Διασύνδεση Εισόδου-Εξόδου

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

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

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

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

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

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

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

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

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

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

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

Λογικά σύμβολα των CPU, RAM, ROM και I/O module

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

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

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

Σημειώσεις για τον 80x86

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

Ψηφιακή Λογική Σχεδίαση

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

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

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

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

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

Παραλληλισµός Εντολών (Pipelining)

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

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

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

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

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

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

ΑΝΑLOG TO DIGITAL CONVERTER (ADC)

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

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

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

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

Ποια πρόταση είναι αληθής για τον Μ/Ε 8088: Είναι Μ/Ε 16bit, LSI, 40 pins, 20 γραμμές διευθύνσεων, 8 γραμμές δεδομένων

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

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

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

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

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

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

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

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

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

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

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

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

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

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών - Μηχανικών Υπολογιστών. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Νεκτάριος Κοζύρης ΑΡΙΘΜΗΤΙΚΕΣ ΠΡΑΞΕΙΣ

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

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Ψηφιακή Σχεδίαση Ενότητα 11:

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

Transcript:

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

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

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

Σκοποί ενότητας Σκοπός της ενότητας είναι η εξέταση του υλικού του επεξεργαστή 8086 με μεγαλύτερη λεπτομέρεια και ειδικότερα η ανάπτυξη του μηχανισμού διακοπών και της δυνατότητας DMA. 4

Περιεχόμενα ενότητας (1) 8086-Επεξεργαστής των 16 bits Ακροδέκτες Μικροϋπολογιστικό σύστημα Κατάτμηση μνήμης Διευθυνσιοδότηση μνήμης Οργάνωση μνήμης Λειτουργίες CPU Σύνδεση Ι/Ο Επικοινωνία με Ι/Ο Πολύπλεξη Address και Data Bus Απόπλεξη Address και Data Bus Σύστημα με 8086 Ελάχιστος τρόπος λειτουργίας Μέγιστος τρόπος λειτουργίας Βασικό διάγραμμα χρονισμού για μνήμες Βασικό διάγραμμα χρονισμού για Ι/Ο Προσαρμογή μνήμης 5

Περιεχόμενα ενότητας (2) Πόρτες Εισόδου-Εξόδου Προσαρμογή Ι/Ο Προόδευση ή σωλήνωση εντολών Προόδευση 6 βαθμίδων βαθμωτού επεξεργαστή Pipeline hazard κατά την εκτέλεση εντολών Σύστημα διακοπών Διακοπές Χρονισμός διακοπών Πίνακας διακοπών Διακοπές τύπου INT n Διακοπές με προτεραιότητα Οργάνωση μνήμης Προγραμματιζόμενος ελεγκτής διακοπών 8259 PIC 8259 Απευθείας προσπέλαση στη μνήμη (DMA) Ελεγκτής DMA Διαδικασία DMA Τρόποι DMA DMAC 8237A 6

8086 Επεξεργαστής των 16 bits/2 bytes -Ρ1 (1) Εμφάνιση το 1978. Τροφοδοσία 5V. Ρολόϊ έως 4 10 MHz. Χαρακτηριστικά Data bus 16 bits/2 bytes. Address bus 20 bits. Μνήμη μέχρι 1 ΜΒ. Μνήμη άρτιων και περιττών διευθύνσεων (2 Χ 512 ΚΒ). Χρόνος προσπέλασης λέξης (2 bytes) σε ένα κύκλο μνήμης (μηχανής) εφ όσον η λέξη είναι σε άρτια διεύθυνση ή σε δυο κύκλους εφ όσον είναι σε περιττή διεύθυνση (ελάττωση της ταχύτητας). Κύκλος διαδρόμου (bus cycle) ίσος με 4 περιόδους ρολογιού. 7

8086 Επεξεργαστής των 16 bits/2 bytes -Ρ1 (2) Χαρακτηριστικά Ταχύτητα διαμεταγωγής (10ΜΗz/4)X2=5MB/s (40 Mbps). Μέσος χρόνος εκτέλεσης εντολής 12 Τ. Κατάτμηση μνήμης. Χρήση 640 ΚΒ για προγράμματα. Δέσμευση των 384 ΚΒ για το BIOS. 6-byte ουρά εντολών (instruction queue), που γεμίζει όταν ο επεξεργαστής εκτελεί άεργους κύκλους (idle) και υπάρχει χώρος 2 bytes στην ουρά. Τεχνική σωλήνωσης (pipelining-επικάλυψη χρόνου ανάκλησης και εκτέλεσης των εντολών). Binary/Decimal arithmetic με 8-bit ή 16-bit signed/unsigned αριθμούς (πολλ/σμός και διαίρεση). Ολοκληρωμένο 40 pins σε συσκευασία DIP (Dual In Package). 8

Ακροδέκτες (1) Πολυπλεγμένες γραμμές διεύθυνσης/δεδομένων (Time multiplexed address/data lines) Αποπλέκονται με τη βοήθεια του σήματος ελέγχου ALE στην πρώτη περίοδο Τ 1. Κατά την Τ 1 φέρουν διεύθυνση. Κατά τις Τ 2, Τ 3, Τ 4 φέρουν δεδομένα. Non Maskable Interrupt (ΙΝΤ 2) : Οδηγεί το πρόγραμμα στις θέσεις 00008 0000Β Η, όπου πρέπει να ευρίσκονται οι τιμές του CS και του IP για οδήγηση του προγράμματος στην κατάλληλη ΥΕΔ. Maskable Interrupt (σημαία ΙΕ=1) : Δίδεται ένα byte n κατά τη διάρκεια του σήματος /INTA και οδηγεί το πρόγραμμα στις θέσεις 4 n 4 n+3 Η, όπου πρέπει να ευρίσκονται οι τιμές του CS και του IP για οδήγηση του προγράμματος στην κατάλληλη ΥΕΔ. 9

Ακροδέκτες (2) Κατά τη διάρκεια του Τ 1 είναι διευθύνσεις, ενώ κατά τη διάρκεια των Τ 2, Τ 3, Τ 4 είναι δείκτες κατάστασης (status indicators). Το BHE (Bus High Enable) γίνεται latch με το σήμα ALE και χρησιμοποιείται με το Α 0 για να καθορίσουν τον τρόπο πρόσβασης στη μνήμη. min mode: ο 8086 χρειάζεται ένα latch και ένα κύκλωμα ρολογιού για να γίνει cpu με δίαυλο ελέγχου όμοιο με τον 8085. max mode: ο 8086 συνεργάζεται με το μαθηματικό συνεπεξεργαστή 8087 και τον περιφερειακό επεξεργαστή Ι/Ο 8089 καθώς επίσης και με το 8288 (bus controller), το οποίο δημιουργεί τα σήματα ελέγχου για μνήμες και πόρτες. 10

Μικροϋπολογιστικό σύστημα (1) Κύκλοι Μηχανής (ΚΜ) ή κύκλοι διαδρόμου 4Τ για τον 8086 Παράλληλη σύνδεση - Μία ενέργεια κάθε φορά (Πως γίνεται?) 11

Μικροϋπολογιστικό σύστημα (2) Απεικόνιση 12

Μικροϋπολογιστικό σύστημα (3) Απεικόνιση 13

Κατάτμηση μνήμης CS=A308 h DS=2000 h ES= C10A h SS=C90A h 14

Διευθυνσιοδότηση μνήμης μετατόπιση (!!!) Σωστό MOV AX,[BX] ή [SI] ή [BP] ή [DI] Σωστό MOV AX, [BX+SI] ή [BP+DI] ή [BX+DI] ή [BP+SI] Σωστό MOV AX, [BX+SI+128] ή [BP+DI-3] ή [BX+DI+7] Λάθος MOV [BX+BP],AX ή MOV AX,[SI+DI] ή MOV AX, [DX] ή [CX] 15

Οργάνωση μνήμης 16

Λειτουργίες CPU Κύκλος εντολής = Χρόνος εκτέλεσης μιας εντολής ΣΗΜΕΙΩΣΗ: Κύκλος μηχανής είναι ο χρόνος που παίρνει τη CPU για να εκτελέσει μια από τις προαναφερθείσες λειτουργίες, οι οποίες αφορούν την επικοινωνία της με ένα εξωτερικό περιφερειακό (μνήμη ή πόρτα). Η εσωτερική λειτουργία της CPU (π.χ. η τοποθέτηση ενός δεδομένου σε κάποιον καταχωρητή, η πρόσθεση κλπ) δεν συνιστά κύκλο μηχανής. Τα σήματα S 0, S 1, S 2 δείχνουν τον τύπο του κύκλου μηχανής. 17

Παράδειγμα 1 Eντολή MOV 18

Παράδειγμα 2 Εντολή PUSH AX 19

Παράδειγμα 3 Εντολή POP AX 20

Σύνδεση Ι/Ο 21

Τρόποι σύνδεσης Ι/Ο Δύο τρόποι σύνδεσης I/O 22

Επικοινωνία με Ι/Ο (1) Προγραμματιζόμενη είσοδος/έξοδος 23

Επικοινωνία με Ι/Ο (2) Είσοδος/ έξοδος με τεχνική διακοπής Είσοδος/ έξοδος με άμεση προσπέλαση στη μνήμη 24

Παράδειγμα Εντολή OUT DX,AX 25

Πολύπλεξη Address και Data Bus (1) 1.Στην πρώτη περίοδο ρολογιού (Τ 1 ) κάθε κύκλου μηχανής, η CPU δημιουργεί ένα παλμό στον ακροδέκτη ALE (Address Latch Enable), ενώ ταυτόχρονα στους ακροδέκτες AD 0 AD 15 έχει τοποθετήσει διεύθυνση. Με τη βοήθεια του κυκλώματος Latch, η διεύθυνση κλειδώνεται στην έξοδο του Latch (A 0 A 15 ) για το υπόλοιπο του κύκλου μηχανής, ενώ η είσοδός του συμπεριφέρεται σαν Data Bus (D 0 D 15 ). 26

Πολύπλεξη Address και Data Bus (2) 2.Το σήμα εξόδου HLDA (HoLD Acknowledge) είναι πάντα Low, οπότε επιτρέπει την προαναφερθείσα λειτουργία. Εάν όμως κάποιο περιφερειακό ζητήσει τον έλεγχο των διαύλων του επεξεργαστή μέσω του ακροδέκτη εισόδου HOLD (λειτουργία DMA-Direct Memory Access), τότε το HLDA γίνεται High για όσο χρόνο διαρκεί αυτή η λειτουργία. Αυτό το High φέρνει την έξοδο του Latch σε κατάσταση High-Z, έτσι ώστε όλοι οι δίαυλοι να αποσυνδεθούν από την εποπτεία του επεξεργαστή. 27

Απόπλεξη Address και Data Bus Διαχωρισμός Address- Data Bus 28

Σύστημα με 8086 (1) 8284 = Γεννήτρια ρολογιού και Reset. 8286 = 8 bit data transceiver για την οδήγηση του data bus (μπορεί να αντικατασταθεί με το 74LS245). 8282 = 8 bit latch για την απόπλεξη address/data bus (μπορεί να αντικατασταθεί με το 74LS373). 8288 = Χρησιμοποιείται σε max mode. Με τη βοήθεια του ρολογιού και των σημάτων /S 0, /S 1, /S 2, παράγει τα σήματα του control bus. 29

Σύστημα με 8086 (2) 8087 = Μαθηματικός συνεπεξεργαστής (NDP-Numeric Data Processor). Εκτελεί ειδικές εντολές τριγωνομετρικών, εκθετικών, λογαριθμικών πράξεων) στις οποίες προηγείται η εντολή ESC. Η εκτέλεση πράξεων γίνεται 100 φορές πιο γρήγορα. 8089 = Ελεγκτής DMA ή επεξεργαστής Ι/Ο. Διαθέτει δυο ανεξάρτητα κανάλια Ι/Ο. Μεταφέρει δεδομένα μεταξύ μνήμης και περιφερειακών. 30

Ελάχιστος τρόπος λειτουργίας (min mode) 31

Ακροδέκτες σε min mode (1) Min mode HOLD: Σήμα εισόδου που με τη βοήθεια κάποιου ενδιάμεσου κυκλώματος (ελεγκτής DMA) φτάνει από κάποιον άλλον επεξεργαστή για την οικειοποίηση των διαδρόμων του 8086. HLDA (HoLD Acknowledgement): Έξοδος η οποία δείχνει την αναγνώριση του σήματος HOLD και την παραχώρηση των διαδρόμων για τη λειτουργία DMA (Direct Memory Access). WR: Σήμα εξόδου που δείχνει ότι ο 8086 εκτελεί κύκλο μηχανής εγγραφής σε μνήμη ή πόρτα. Μ/ΙΟ: Σήμα εξόδου που δείχνει εάν ο τρέχον κύκλος μηχανής αφορά μνήμη ή πόρτα. 32

Ακροδέκτες σε min mode (2) Min mode DT/R (Data Transmit/Receive): Σήμα εξόδου το οποίο συνδέεται στο 8286 (data bus tranceiver) για να μεταβάλλει την κατεύθυνση του διαύλου δεδομένων (είσοδος ή έξοδος). DEN (Data Enable): Σήμα εξόδου το οποίο ενεργοποιεί το 8286. ALE (Address Latch Enable): Σήμα εξόδου το οποίο κατά τη διάρκεια του Τ 1 κλειδώνει (latch) τη διεύθυνση με τη βοήθεια κάποιου εξωτερικού latch. INTA (INTerrupt Acknowledgement): Σήμα εξόδου το οποίο γνωστοποιεί στην συσκευή που ζήτησε διακοπή ότι ο 8086 είναι έτοιμος να κάνει είσοδο το διάνυσμα διακοπής. 33

Μέγιστος τρόπος λειτουργίας (max mode) Απεικόνιση 34

Ακροδέκτες σε max mode (1) Max mode RQ/GT 0 RQ/GT 1 (ReQuest/GranT): Σήματα εισόδου/εξόδου τα οποία χρησιμοποιούνται για συνεπεξεργαστές (8087 και 8089). Ο συνεπεξεργαστής ζητά την παραχώρηση ενός διαδρόμου και ο επεξεργαστής τον παραχωρεί με ένα παλμό μέσω του ίδιου ακροδέκτη. Η επιστροφή του διαδρόμου στον επεξεργαστή γίνεται και πάλι με ένα παλμό στον ίδιο ακροδέκτη. LOCK: Σήμα εξόδου το οποίο ενεργοποιείται με την εντολή LOCK και δείχνει στο συνεπεξεργαστή ότι δεν μπορεί να πάρει τον έλεγχου κάποιου διαδρόμου. Έτσι επιτρέπει την εκτέλεση της επόμενης εντολής χωρίς να διακοπεί από διαδικασία DMA. 35

Ακροδέκτες σε max mode (2) Max mode S 0, S 1, S 2 (Status): Σήματα εξόδου τα οποία καθορίζουν τον τύπο του επόμενου κύκλου μηχανής (max mode status signals). Τα σήματα εξόδου παράγονται με τη βοήθεια ενός 8288. QS 0, QS 1 (Queue Status): Σήματα εξόδου κατάστασης τα οποία χρησιμοποιούνται από το συνεπεξεργαστή 8087 για το συγχρονισμό της ουράς του με αυτήν του 8086. 36

Βασικό διάγραμμα χρονισμού για ανάγνωση/εγγραφή μνήμης Κύκλος μηχανής ανάγνωσης μνήμης > Κύκλος μηχανής εγγραφής μνήμης 37

Βασικό διάγραμμα χρονισμού για ανάγνωση/εγγραφή Ι/Ο Κύκλος μηχανής ανάγνωσης ΙΟ > Κύκλος μηχανής εγγραφής ΙΟ 38

Προσαρμογή μνήμης (1) 39

Προσαρμογή μνήμης (2) 40

Πόρτες εισόδου-εξόδου (Ι/Ο) Ο 8086, για την ανάγνωση ή εγγραφή μίας λέξης ή ενός byte σε μία πόρτα εισόδουεξόδου, χρησιμοποιεί τις γραμμές AD 0 -AD 15 για να δώσει τη διεύθυνση της πόρτας στα κυκλώματα αποκωδικοποίησης. Αυτό σημαίνει ότι μπορεί να διευθυνσιοδοτήσει 65.536 πόρτες εισόδου-εξόδου. Το σήμα επιλογής μνήμης ή πόρτας είναι το Μ-/ΙΟ. Με 0 ο κύκλος ανάγνωσης ή εγγραφής είναι για πόρτα, ενώ με 1 είναι για μνήμη. 41

Προσαρμογή Ι/Ο 42

Προόδευση ή σωλήνωση εντολών (pipelining) (1) Κύκλος εντολής = Ανάκληση κώδικα εντολής + Εκτέλεση εντολής (2 φάσεις) ή ακριβέστερα: Κύκλος εντολής = Ανάκληση κώδικα εντολής (FI-Fetch Instruction) + Αποκωδικοποίηση εντολής (DI-Decode Instruction - εσωτερική λειτουργία) + Υπολογισμός Διεύθυνσης (CO- Calculate Operand address) + Ανάκληση τελεστή εντολής (FO- Fetch Operand) + Εκτέλεση εντολής (EI-Execute Instruction) + Ενημέρωση καταχωρητών (WO- Write back Operand-εσωτερική λειτουργία) (6 φάσεις). 43

Προόδευση ή σωλήνωση εντολών (pipelining) (2) Προόδευση είναι η ταυτόχρονη επεξεργασία των τεσσάρων φάσεων διαδοχικών εντολών. Σε αυτή την περίπτωση, σε σύγκριση με τον απλό τύπο επεξεργαστή όπου δεν υπάρχει προόδευση, αυξάνεται το πλήθος εκτέλεσης εντολών στη μονάδα χρόνου χωρίς όμως να μειωθεί ο χρόνος του κύκλου εντολής. 44

Προόδευση ή σωλήνωση εντολών (pipelining) (3) Είναι δυνατή η εκτέλεση περισσοτέρων της μίας εντολών σε ένα κύκλο εντολής, εάν αυξηθούν οι λειτουργικές μονάδες εκτέλεσης στον επεξεργαστή. Έτσι δημιουργούνται οι υπερ-βαθμωτοί επεξεργαστές (superscalar processors), οι οποίοι εκμεταλλεύονται και την τεχνική προόδευσης. 45

Τεχνική προόδευσης στον Pentium O Pentium, για την αύξηση της υπολογιστικής του ισχύος, χρησιμοποιεί δυο βαθμίδες προόδευσης ακεραίων (integer pipelines), 5 βαθμίδων η κάθε μια (τις U και V) και μια βαθμίδα προόδευσης κινητής υποδιαστολής (floating point unit FPU pipeline), 8 βαθμίδων. Η βαθμίδα U εκτελεί όλες τις εντολές του 80Χ86. Η βαθμίδα V εκτελεί ακέραιες πράξεις καθώς επίσης και εκείνες που χρειάζονται τη βαθμίδα FPU. Με αυτή την προϋπόθεση, ο επεξεργαστής εκτελεί ταυτόχρονα δυο εντολές. 46

Προόδευση 6 βαθμίδων βαθμωτού επεξεργαστή Σειριακή εκτέλεση = 7*Τ ex Παράλληλη λειτουργία > Pipeline hazards Με προόδευση = 12*T ex /6=2*T ex 47

Pipeline hazard κατά την εκτέλεση της εντολής add R,X Αναβολή εκτέλεσης της εντολής (i+3) κατά 1 περίοδο ρολογιού. Αντιμετώπιση με χρήση διαφορετικής κρυφής μνήμης για κώδικα και δεδομένα. 48

Pipeline hazard κατά την εκτέλεση εντολής διακλάδωσης Τρεις αναβολές μέχρι ο με να μάθει τη διεύθυνση διακλάδωσης. Αντιμετώπιση με πρόβλεψη των εντολών διακλάδωσης. 49

Σύστημα διακοπών (1) Όλοι οι τύποι διακοπών στον 8086 είναι της μορφής ΙΝΤ n, δηλαδή δημιουργούνται από έναν αριθμό των 8 bits. Αυτός ο αριθμός πολλαπλασιάζεται με το 4 και δίνει την αρχή τεσσάρων bytes στην αρχή της μνήμης, τα οποία περιέχουν τη διεύθυνση της υπορουτίνας εξυπηρέτησης της διακοπής ISR (Interrupt Service Routine). Έτσι υπάρχουν 256 τύποι διακοπών και αφιερώνεται το πρώτο 1 ΚΒ μνήμης (00000 Η έως 003FF H) για την εξυπηρέτησή τους. Ο επεξεργαστής τοποθετεί στο σωρό τις σημαίες, τον CS και τον IP αυτόματα και τους ανακαλεί με την εκτέλεση της εντολής IRET για την επιστροφή από την υπορουτίνα διακοπής. 50

Σύστημα διακοπών (2) Οι διακοπές στον 8086 είναι τριών τύπων: Α. προκαλούμενες από εξωτερικές πηγές σε ακροδέκτες εισόδου (hardware interrupts). Η είσοδος INTR (maskable interrupt) και η είσοδος NMI (Non Maskable Interrupt) είναι οι δύο είσοδοι διακοπών. Στην πρώτη είσοδο, η οποία είναι χαμηλότερης προτεραιότητας, ο αριθμός διακοπής n δίνεται από το περιφερειακό κατά την διάρκεια του παλμού /ΙΝΤΑ, εφόσον η σημαία IF είναι 1. Το σήμα διακοπής στην είσοδο ΝΜΙ δημιουργεί διακοπή τύπου 2, δηλαδή η διεύθυνση της υπορουτίνας εξυπηρέτησης διακοπής ευρίσκεται στις θέσεις μνήμης 00008-0000Β Η. 51

Σύστημα διακοπών (3) Β. προκαλούμενες από την εντολή ΙΝΤ n (software interrupts). Η εντολή ΙΝΤ 3 χρησιμοποιείται για την τοποθέτηση σημείου εξέτασης (breakpoint), όπου μπορεί να εξεταστεί το περιεχόμενο των καταχωρητών, να διορθωθεί και να συνεχιστεί η ροή του προγράμματος. Η εντολή ΙΝΤΟ δημιουργεί διακοπή τύπου 4 εφόσον υπάρχει κατάσταση υπερχείλισης (η σημαία OF είναι 1). Γ. προκαλούμενες από τον επεξεργαστή (processor interrupts). O 8086 δημιουργεί διακοπή τύπου 0 εάν γίνει διαίρεση με το μηδέν ή υπερχείλιση μετά από διαίρεση. Ακόμα δημιουργεί διακοπή τύπου 1 μετά την εκτέλεση μιας εντολής εάν η σημαία TF είναι 1. Αυτός ο τύπος διακοπής χρησιμοποιείται για την εύρεση λαθών σε ένα πρόγραμμα (single step software debugging). 52

Διακοπές (Interrupts) Non maskable interrupt Ο με αποδέχεται πάντα τη διακοπή μόνο εφόσον υπάρξει θετικό μέτωπο και επίπεδο τάσης μέχρι τη στιγμή δειγματοληψίας του ακροδέκτη. Εκτελείται εντολή ΙΝΤ 2. Μaskable interrupt Ο με αποδέχεται τη διακοπή μόνο εφόσον υπάρχει επίπεδο τάσης κατά τη στιγμή δειγματοληψίας του ακροδέκτη και έχει εκτελεστεί η εντολή ΕΙ. Το πρόγραμμα πηγαίνει σε διεύθυνση που δίνει ένα εξωτερικό περιφερειακό με τη βοήθεια του σήματος εξόδου /ΙΝΤΑ. Ο με εξετάζει τις εισόδους διακοπών κατά την τελευταία περίοδο ρολογιού του τελευταίου κύκλου μηχανής κάθε εντολής. 53

Χρονισμός διακοπών Απεικόνιση 54

Παράδειγμα αίτησης διακοπής Κύκλωμα μετατροπής ακμής σε επίπεδο O με ουσιαστικά πραγματοποιεί έναν κύκλο μηχανής FETCH, κατά τον οποίο ανακαλεί τον κώδικα μίας εντολής ΙΝT n από ένα εξωτερικό περιφερειακό (buffer). Το ρόλο του σήματος ανάγνωσης παίζει το σήμα /INTA. 55

Πίνακας διακοπών Πίνακας με τις διακοπές 56

Διακοπές τύπου ΙΝΤ n Η εντολή IRET επαναφέρει τις σημαίες και γι αυτό χρησιμοποιείται πάντα για επιστροφή από ΥΕΔ. 57

Διακοπές με προτεραιότητα Προτεραιότητες:Περιφερειακή συσκευή Α>Β>Γ 58

Οργάνωση μνήμης (real mode) Upper, Lower, Video Memory 59

Προγραμματιζόμενος ελεγκτής διακοπών- 8259 PIC (Programmable Interrupt Controller) Απεικόνιση 60

PIC-8259 (1) Οι είσοδοι διακοπής του PIC προγραμματίζονται έτσι ώστε να ενεργοποιείται αίτηση διακοπής με ακμή ή επίπεδο παλμού. Ο PIC ζητά διακοπή από την είσοδο INTR του 8086 και αυτός γνωστοποιεί την αποδοχή της μέσω του σήματος /INTA, αφού ολοκληρώσει την εκτέλεση της τρέχουσας εντολής. O PIC διαθέτει δυο καταχωρητές προγραμματισμού. O PIC διαθέτει προγραμματιζόμενη προτεραιότητα διακοπών μεταξύ των εισόδων του. 61

PIC-8259 (2) Καταχωρητής IRR (Interrupt Request Register) Bit x= 1 εάν IR x=1. Καταχωρητής ISR (Interrupt Service Register) Bit x= 1 όταν ξεκινήσει η αντίστοιχη ΥΕΔ και γίνεται 0 όταν ολοκληρωθεί η ΥΕΔ. Καταχωρητής IMR (Interrupt Mask Register) Bit x= 1 για να μην συμμετέχει η είσοδος ΙR x. 62

PIC-8259 (3) Διαδικασία διακοπής 63

Συνδεσμολογία 3 PIC σε Master-Slave Απεικόνιση 64

Διακοπές μέσω του PIC-8259 * Διαθέσιμη στο χρήστη 65

Απ ευθείας προσπέλαση στη μνήμη (DMA-Direct Memory Access) Αίτηση REQ προς DMAC Αίτηση DMAC προς CPU Αποδοχή ACK της CPU H CPU κάνει τους διαύλους υψηλή αντίσταση Αποδοχή ελεγκτή ACK Μεταφορά δεδομένου μεταξύ μνήμης και περιφερειακού με ή χωρίς τη μεσολάβηση του DMAC 66

Ελεγκτής DMA με διακριτό δίαυλο Ι/Ο Ο ελεγκτής DMA δημιουργεί ξεχωριστό δίαυλο επικοινωνίας και ελευθερώνει το δίαυλο του συστήματος 67

Διαδικασία DMA (1) Η περιφερειακή συσκευή ειδοποιεί το DMAC για την επιθυμία μεταφοράς δεδομένων προς/από τη μνήμη με το σήμα DMARQ (DMA ReQuest). O DMAC ανταποκρίνεται με ειδοποίηση της CPU μέσω του ακροδέκτη HOLD. Η CPU ανιχνεύει αυτόν τον ακροδέκτη στο τέλος κάθε κύκλου μηχανής. Εάν διαπιστώσει ότι είναι HIGH, τότε φέρνει το Address bus, το Data bus, τα σήματα /RD-/WR- M//IO σε κατάσταση υψηλής αντίστασης και ειδοποιεί το DMAC ότι του παραχωρεί τον έλεγχο μέσω του σήματος HLDA. Το σήμα αυτό παραμένει HIGH σε όλη τη διάρκεια του DMA και επανέρχεται σε LOW κατάσταση όταν απομακρυνθεί η αίτηση από τον ακροδέκτη HOLD. O DMAC ειδοποιεί την περιφερειακή συσκευή ότι έχει επιλεγεί για τη λειτουργία DMA μέσω του σήματος DMACK (DMA acknowledge). 68

Διαδικασία DMA (2) 1. Sequential DMA: Ο DMAC διαβάζει ένα byte από τη μνήμη και το εγγράφει στο περιφερειακό ή διαβάζει ένα byte από το περιφερειακό και το εγγράφει στη μνήμη. Απαιτούνται δυο έως τέσσερις περίοδοι για κάθε ανάγνωση ή εγγραφή. 2. Simultaneous DMA: Οι λειτουργίες ανάγνωσης και εγγραφής πραγματοποιούνται ταυτόχρονα, μόνο μεταξύ περιφερειακού και μνήμης, διπλασιάζοντας την ταχύτητα. Ο DMAC συνδέεται σαν περιφερειακό Ι/Ο στη CPU. H CPU πρέπει να προγραμματίσει τη λειτουργία του DMAC πριν τη λειτουργία του. Πρέπει να προγραμματιστεί ο τύπος μεταφοράς δεδομένων, οι διευθύνσεις αρχής και προορισμού, καθώς επίσης και ο αριθμός των bytes προς μεταφορά. Υπάρχουν τρεις τρόποι λειτουργίας σε κάθε ένα από τους δυο προαναφερόμενους τύπους DMA: Ο απλός τρόπος (ή single mode ή byte mode), ο εκρηκτικός τρόπος (burst mode) και ο συνεχής τρόπος (ή continuous mode ή block mode). 69

Τρόποι DMA Byte mode Burst mode Block mode 70

DMAC 8237A Σήματα για την ταυτόχρονη ανάγνωση/εγγραφή μεταξύ περιφερειακού και μνήμης 71

Λειτουργία DMA μεταξύ περιφερειακών Απεικόνιση 72

Επί πλέον τρόποι DMA του 8237Α Single transfer Demand transfer Block transfer Cascade mode 73

Διαδοχική σύνδεση ελεγκτών DMA (cascade mode) Απεικόνιση 74

Βιβλιογραφία 1. Ι. Ν. Έλληνας, ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ-Οικογένεια Επεξεργαστών 80Χ86,, ISBN: 978-960-930121-3, Αθήνα 2007. 2. Γεωργίου Δ. Κόγια, Αρχιτεκτονική, Οργάνωση και Προγραμματισμός μικροϋπολογιστών, Σύγχρονη Εκδοτική. 3. Κ. Ζ. Πεκμεστζή, Συστήματα μικροϋπολογιστών, Εκδόσεις Συμμετρία. 4. Yu-Cheng Liu, Glenn A. Gibson, Microprocessor systems: The 8086/8088-Family Architecture, Programming and Design, Prentice Hall. 5. Barry B. Brey, The Intel Microprocessors 8086 Pentium. Architecture, Programming and Interfacing. 6. John Uffenbeck, Microcomputers and Microprocessors, Prentice Hall. 7. W. H. Murray, C. H. Pappas, 80386/80286 Assembly Language Programming, McGraw Hill. 75

Τέλος Ενότητας