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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

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

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

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

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

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

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

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

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

Βασική δοµή και Λειτουργία Υπολογιστή

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

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

Το υλικό του υπολογιστή

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

Δυαδικό Σύστημα Αρίθμησης

Βασικές Έννοιες της Πληροφορικής

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

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

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

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Ψηφιακά Συστήματα. 1. Συστήματα Αριθμών

Πληροφορική. Ενότητα 4 η : Κωδικοποίηση & Παράσταση Δεδομένων. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Δομή Ηλεκτρονικού υπολογιστή

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Κ15 Ψηφιακή Λογική Σχεδίαση 2: Δυαδικό Σύστημα / Αναπαραστάσεις

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Στοιχεία από Assembly Γιώργος Μανής

1. ΣΥΣΤΗΜΑΤΑ ΑΡΙΘΜΩΝ. α i. (α i β i ) (1.3) όπου: η= το πλήθος ακεραίων ψηφίων του αριθμού Ν. n-1

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

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

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

Αριθµητική υπολογιστών

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών

ΠΛΗΡΟΦΟΡΙΚΗ I Ενότητα 6

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

ΠΛΗΡΟΦΟΡΙΚΗ I. 4 η ΔΙΑΛΕΞΗ Αριθμητικά Συστήματα

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

Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ. ΗΜΥ-210: Εαρινό Εξάµηνο Σκοπός του µαθήµατος. Ψηφιακά Συστήµατα. Περίληψη. Εύρος Τάσης (Voltage(

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

2. ΑΡΙΘΜΗΤΙΚΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. 2.1 Αριθμητικά συστήματα

Αριθμητικά Συστήματα

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

Βασίλειος Κοντογιάννης ΠΕ19

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

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

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

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

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

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

9. ΚΑΤΑΧΩΡΗΤΕΣ (REGISTERS)

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

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

Πράξεις με δυαδικούς αριθμούς

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

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

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

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

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Μάθημα 7: Μικροϋπολογιστικό Σύστημα και Μνήμες

Transcript:

Τ.Ε.Ι. ΧΑΛΚΙΔΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΩΝ Data Bus Microprocessor (CPU) Address Bus Memory Unit Control Bus I/O Units Clock (Timing Pulses) Θεόδωρος Ζαχαριάδης, Επίκουρος Καθηγητής Λάμπρος Σαράκης, Καθηγητής Εφαρμογών Νίκος Χασάναγας, Εργαστηριακός Συνεργάτης ΦΕΒΡΟΥΑΡΙΟΣ 2011

Πίνακας περιεχομένων 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ... 4 1.1. ΔΕΚΑΔΙΚΟ ΣΥΣΤΗΜΑ... 5 1.2. ΔΥΑΔΙΚΟ ΣΥΣΤΗΜΑ... 6 1.3. ΔΕΚΑΕΞΑΔΙΚΟ ΣΥΣΤΗΜΑ... 6 1.4. ΠΙΝΑΚΑΣ 1... 7 1.5. ΜΕΤΑΤΡΟΠΕΣ ΑΡΙΘΜΩΝ (ΑΡΙΘΜΗΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ)... 8 1.5.1. Μετατροπή στο δεκαδικό σύστημα... 8 1.5.2. Μετατροπή στο δυαδικό σύστημα... 9 1.5.3. Μετατροπή στο 16 αδικό σύστημα... 10 1.6. ΠΡΟΣΗΜΑΣΜΕΝΑ ΣΥΣΤΗΜΑΤΑ... 11 1.6.1. Μορφή Πρόσημου Μέτρου... 12 1.6.2. Μορφή Συμπληρώματος ως προς 1... 12 1.6.3. Μορφή Συμπληρώματος ως προς 2... 13 2. ΔΟΜΗ μ/υ ΣΥΣΤΗΜΑΤΩΝ... 15 2.1. ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΣΥΣΤΗΜΑΤΟΣ μ/υ... 15 2.1.1. Κεντρική Μονάδα Επεξεργασίας (CPU)... 16 2.1.2. Μονάδα Κεντρικής Μνήμης... 16 2.1.3. Μονάδες Επικοινωνίας (I/O Units)... 17 2.1.4. Συσκευές Βοηθητικής Μνήμης... 18 2.2. Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΤΡΙΩΝ ΔΙΑΥΛΩΝ... 18 2.3. ΠΙΝΑΚΑΣ 2... 20 3. Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ μ/ε 8086/88... 21 3.1. ΠΙΝΑΚΑΣ 3... 21 3.2. Η ΔΟΜΗ ΤΗΣ CPU... 21 3.3. Η ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ CPU... 23 3.4. ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΗΣ CPU... 24 3.4.1. Καταχωρητές Δεδομένων (Data Registers)... 24 3.4.2. Ομάδα Δεικτών (Pointer & Index Registers)... 24 3.4.3. Ο Καταχωρητής Κατάστασης (Status ή Flag Register)... 25 3.5. ΠΙΝΑΚΑΣ 4... 26 3.5.1. Καταχωρητές Τμήματος (Segment Registers)... 27 4. Η ΜΝΗΜΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ... 29 4.1. Ο ΧΑΡΤΗΣ ΤΗΣ ΜΝΗΜΗΣ... 31 4.2. ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ... 32 4.3. ΛΟΓΙΚΕΣ & ΦΥΣΙΚΕΣ ΔΙΕΥΘΥΝΣΕΙΣ... 34 4.4. ΠΙΝΑΚΑΣ 5... 35 4.5. ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΤΜΗΜΑΤΟΠΟΙΗΜΕΝΗΣ ΜΝΗΜΗΣ... 36 4.6. ΤΡΟΠΟΙ ΔΙΕΥΘΥΝΣΙΟΔΟΤΗΣΗΣ... 37 4.6.1. Διευθυνσιοδότηση Καταχωρητή (Register Addressing)... 37 4.6.2. Απ Ευθείας Διευθυνσιοδότηση (Direct Addressing)... 38 4.6.3. Έμμεσοι Τρόποι Διευθυνσιοδότησης (Indirect Addressing)... 38 4.7. ΠΙΝΑΚΑΣ 6... 39 4.7.1. Διευθυνσιοδότηση String (String Addressing)... 41 Εργαστήριο Μικροϋπολογιστών Σελίδα 2

4.8. ΠΙΝΑΚΑΣ 7... 41 5. ΘΥΡΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ I/O... 44 5.1. ΠΙΝΑΚΑΣ 8... 46 6. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ & ΜΗΧΑΝΗ... 48 6.1. ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ... 48 6.1.1. Γλώσσα Μηχανής & Assembly... 48 6.2. ΠΙΝΑΚΑΣ 9... 49 6.2.1. Γλώσσες Υψηλότερου Επιπέδου... 50 6.3. TURBO DEBUGGER... 51 6.3.1. Περιβάλλον Λειτουργίας του TURBO DEBUGGER... 52 6.4. ΠΙΝΑΚΑΣ 10... 54 7. ΕΝΤΟΛΕΣ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ... 57 7.1. ΠΙΝΑΚΑΣ 11... 57 7.2. ΕΝΤΟΛΕΣ ΜΕΤΑΦΟΡΑΣ ΔΕΔΟΜΕΝΩΝ... 58 7.2.1. Η Εντολή: MOV... 58 7.3. ΠΙΝΑΚΑΣ 12... 60 7.3.1. Η εντολή: XCHG... 61 7.3.2. Οι εντολές LAHF / SAHF... 62 7.3.3. Οι εντολές IN / OUT... 62 7.3.4. Η εντολή LEA... 65 7.3.5. Οι εντολές LDS / LES... 66 7.3.6. Η εντολή XLAT... 67 7.4. ΠΙΝΑΚΑΣ 13... 67 Εργαστήριο Μικροϋπολογιστών Σελίδα 3

1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ Η παράλληλη ανάπτυξη διαφόρων τομέων της επιστήμης (και όχι μόνο) μέσα από διαφορετικές διαδικασίες και καταστάσεις, σε συνδυασμό με τις εκάστοτε ιδιαιτερότητες και ιδιομορφίες, κατέστησε αναγκαία την δημιουργία αλλά και την συνύπαρξη διαφορετικών αριθμητικών συστημάτων. Ο ρόλος των διαφόρων αριθμητικών συστημάτων, είναι πλέον ιδιαίτερα σημαντικός καθώς χρησιμοποιούνται για να αποδώσουν αλλά και να αντιστοιχήσουν τιμές και ποσότητες σε μεγέθη συνυφασμένα με τους τομείς που έχουν καθιερωθεί και χρησιμοποιούνται. Περισσότερο διαδεδομένο είναι το δεκαδικό σύστημα το οποίο έχει καθιερωθεί σχεδόν σε όλους τους τομείς της καθημερινότητας, ενώ ιδιαίτερης τεχνολογικής εφαρμογής χρήζουν το δυαδικό και το 16 αδικό αριθμητικό σύστημα, καθώς αμφότερα συναντώνται στα ψηφιακά κυκλώματα και στις διατάξεις μικροϋπολογιστών. Φυσικά, υπάρχουν και άλλα αριθμητικά συστήματα (λ.χ. το οκταδικό σύστημα), τα οποία σήμερα δεν τυγχάνουν ιδιαίτερα μεγάλης αποδοχής. Ένα αριθμητικό σύστημα, χαρακτηρίζεται από τη βάση και τα σύμβολα που χρησιμοποιεί. Κατά κανόνα, το πλήθος των χρησιμοποιούμενων συμβόλων ταυτίζεται με τον αριθμό της βάσης του συστήματος. Έτσι, το δυαδικό σύστημα (binary system) έχει ως βάση το δυο (2) και διαθέτει δυο σύμβολα (0, 1), το δεκαδικό σύστημα (decimal system) έχει ως βάση το δέκα (10) και διαθέτει δέκα σύμβολα (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), ενώ το δεκαεξαδικό σύστημα (hexadecimal system) έχει ως βάση το δεκαέξι (16) και χρησιμοποιεί δεκαέξι σύμβολα (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Σε γενικές γραμμές, μπορεί να οριστεί ένα αριθμητικό σύστημα χρησιμοποιώντας αριθμό συμβόλων ίσο με τη βάση του συστήματος π.χ. το τριαδικό σύστημα (0, 1, 2), το τετραδικό σύστημα (0, 1, 2, 3) κτλ. Περισσότερα σύμβολα μπορούν να συνδυαστούν μεταξύ τους προκειμένου να αποδοθούν περιγραφούν μεγαλύτερες τιμές ποσότητες. Ο συνδυασμός των ψηφίων συμβόλων γίνεται με συγκεκριμένο τρόπο, όπου η θέση του κάθε ψηφίου περιγράφει μια ιδιαίτερη δύναμη του αριθμού της βάσης του συστήματος (βαρύτητα). Η βαρύτητα αυτή αυξάνεται διαδοχικά από δεξιά προς τα αριστερά με το περισσότερο σημαντικό ψηφίο σύμβολο να βρίσκεται στο αριστερό άκρο της έκφρασης ενώ το λιγότερο σημαντικό ψηφίο να βρίσκεται στο δεξί άκρο. Για παράδειγμα ο αριθμός: ΑΒΓΔ,ΕΖ Ν όπου τα Α, Β, Γ, Δ, Ε, Ζ είναι συντελεστές του Ν αδικού συστήματος αρίθμησης. Ο αριθμός αυτός αναλύεται ως εξής: ( A N ) ( B N ) ( N ) ( N ) ( N ) ( Z N 3 2 1 0 1 2 ) Δηλαδή, η τιμή που περιγράφει ένας αριθμός στο Ν αδικό σύστημα αποδίδεται ως το άθροισμα του γινομένου του κάθε συντελεστή (Α, Β, Γ, Δ, Ε) με τη βαρύτητα της θέσης (Ν). Εργαστήριο Μικροϋπολογιστών Σελίδα 4

Για την αποφυγή συγχύσεων, κάθε αριθμός πρέπει να συνοδεύεται από τη βάση του προκειμένου να περιγράφει με σαφήνεια μια ποσότητα. Για παράδειγμα ο αριθμός: 1000 μπορεί να αντιστοιχεί: είτε στον αριθμό 8 (στο δυαδικό σύστημα) είτε στον αριθμό 512 (στο οκταδικό σύστημα) είτε στον αριθμό 1000 (στο δεκαδικό σύστημα) είτε στον αριθμό 4096 (στο 16 αδικό σύστημα) κτλ. Ενώ ο αριθμός: 1000 2 είναι ξεκάθαρο ότι περιγράφει την τιμή 8 στο δυαδικό σύστημα. Εντούτοις, λόγω της καθιέρωσης και της καθολικής αποδοχής ενός αριθμητικού συστήματος σε κάποιο τομέα (της επιστήμης ή της καθημερινότητας), η αναγραφή της βάσης του συστήματος συχνά (όχι σκόπιμα) παραλείπεται. Κάτι τέτοιο γίνεται άμεσα αντιληπτό λ.χ. στις καθημερινές συναλλαγές (τιμές προϊόντων, τραπεζικοί λογαριασμοί κτλ.) όπου αν και δεν γίνεται καμία αναφορά στη βάση του χρησιμοποιούμενου συστήματος, ως βάση χρησιμοποιείται (de facto) το δέκα. Αντιστοίχως, στα ψηφιακά συστήματα ως βάση θεωρείται de facto το δύο. Στα συστήματα μικροϋπολογιστών, συνηθίζεται η παράσταση των διαφόρων ποσοτήτων στο δεκαεξαδικό αριθμητικό σύστημα, χωρίς ωστόσο αυτό να είναι απόλυτο, καθώς σε αρκετές περιπτώσεις χρησιμοποιείται και το δυαδικό αριθμητικό σύστημα προκειμένου για την περιγραφή καταστάσεων και λειτουργιών σε επίπεδο bit. 1.1. ΔΕΚΑΔΙΚΟ ΣΥΣΤΗΜΑ Το δεκαδικό σύστημα είναι αναμφισβήτητα το πλέον διαδεδομένο αριθμητικό σύστημα. Συναντάται παντού και έχει καθιερωθεί στις καθημερινές συναλλαγές των ανθρώπων σε τέτοιο βαθμό που η απόδοση ενός αριθμού θεωρείται σχεδόν de facto στο σύστημα αυτό (εκτός από συγκεκριμένες περιπτώσεις ή εάν υποδηλώνεται διαφορετικά). Στο δεκαδικό σύστημα (σύστημα αρίθμησης με βάση το δέκα), όπως και σε κάθε σύστημα, το πλήθος των διαφορετικών συμβόλων που χρησιμοποιούνται για την απόδοση των τιμών ισούται με τη βάση αρίθμησης (δέκα ψηφία). Τα ψηφία αυτά είναι: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Περισσότερα από ένα ψηφία, μπορούν να συνδυαστούν μεταξύ τους κατάλληλα προκειμένου να αποδώσουν μεγαλύτερες τιμές. Ο συνδυασμός αυτών των ψηφίων γίνεται σύμφωνα με τα όσα Εργαστήριο Μικροϋπολογιστών Σελίδα 5

προαναφέρθηκαν. Η θέση του κάθε ψηφίου αντιστοιχεί σε μια ιδιαίτερη δύναμη του δέκα (βαρύτητα) η οποία αυξάνεται διαδοχικά από αριστερά προς τα δεξιά και με το περισσότερο σημαντικό ψηφίο να βρίσκεται στο αριστερό άκρο του συνδυασμού, ενώ το λιγότερο σημαντικό ψηφίο να βρίσκεται στο δεξί άκρο. Παρακάτω, παρέχεται ένα παράδειγμα δεκαδικού αριθμού με την ανάλυση της βαρύτητας του κάθε ψηφίου ως δύναμη του δέκα. 3 2 1 0 1 1906,37 (1 10 ) (9 10 ) (0 10 ) (6 10 ) (3 10 ) (7 10 2 ) ή 1906,37 1000 900 6 0,3 0,07 1.2. ΔΥΑΔΙΚΟ ΣΥΣΤΗΜΑ Το δυαδικό σύστημα (σύστημα αρίθμησης με βάση το δυο) χαρακτηρίζεται από δυο ψηφία, τα: 0, 1 Κατά αντιστοιχία με το δεκαδικό σύστημα, περισσότερα από ένα ψηφία μπορούν να συνδυαστούν μεταξύ τους προκειμένου να αποδώσουν μεγαλύτερες τιμές. Ο συνδυασμός αυτών των ψηφίων γίνεται με παρόμοιο τρόπο (όπως και στο δεκαδικό σύστημα) μόνο που η θέση του κάθε ψηφίου αντιστοιχεί σε μια ιδιαίτερη δύναμη του δύο (βαρύτητα). Παρακάτω, παρέχεται ένα παράδειγμα δυαδικού αριθμού με την ανάλυση της βαρύτητας του κάθε ψηφίου ως δύναμη του δύο. 3 2 1 0 1 1011,10 (1 2 ) (0 2 ) (1 2 ) (1 2 ) (1 2 ) (0 2 2 ) ή 1011,10 8 2 1 0,5 Η τιμή που παριστάνεται στο παραπάνω παράδειγμα αντιστοιχεί στον δεκαδικό αριθμό 11,5. Το γεγονός ότι το δυαδικό σύστημα χαρακτηρίζεται από την ύπαρξη μόνο δυο συμβόλων (0, 1), έχει συντελέσει στην υιοθέτησή του για την περιγραφή της λειτουργίας λογικών διατάξεων, καθώς αυτές χαρακτηρίζονται από δυο στάθμες εξόδου (High, Low). Έτσι, ψηφιακά κυκλώματα τεχνολογίας TTL (Transistor Transistor Logic) που διαθέτουν στάθμες τάσης +5V (λογικό 1) και 0V (λογικό 0) καθώς και κυκλώματα νεότερης τεχνολογίας (λ.χ. CMOS Complementary Metal Oxide Semiconductor) που έχουν στάθμες τάσης +3V ή +5V (λογικό 1) και 0V (λογικό 0), αναλύονται και εξετάζονται με τη χρήση του δυαδικού αριθμητικού συστήματος. 1.3. ΔΕΚΑΕΞΑΔΙΚΟ ΣΥΣΤΗΜΑ Το 16 αδικό σύστημα (σύστημα αρίθμησης με βάση το δεκαέξι) χαρακτηρίζεται από δεκαέξι ψηφία, τα εξής: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Εργαστήριο Μικροϋπολογιστών Σελίδα 6

όπου τα ψηφία A, B, C, D, E, F χρησιμοποιούνται για να αποδώσουν τις ποσότητες 10, 11, 12, 13, 14, και 15 (A=10, B=11, C=12, D=13, E=14, F=15). Κατά αντιστοιχία με τα άλλα αριθμητικά συστήματα, περισσότερα από ένα ψηφία μπορούν να συνδυαστούν μεταξύ τους προκειμένου να αποδώσουν μεγαλύτερες τιμές. Ο συνδυασμός των ψηφίων γίνεται σύμφωνα με τα προηγούμενα, όπου η θέση του κάθε ψηφίου αντιστοιχεί και σε μια ιδιαίτερη δύναμη του δεκαέξι (βαρύτητα). Η βαρύτητα της θέσης ενός ψηφίου αυξάνεται διαδοχικά από δεξιά προς τα αριστερά με το περισσότερο σημαντικό ψηφίο να βρίσκεται στο αριστερό άκρο του συνδυασμού ενώ το λιγότερο σημαντικό ψηφίο να βρίσκεται στο δεξί άκρο. Παρακάτω, παρέχεται ένα παράδειγμα 16αδικού αριθμού με την ανάλυση της βαρύτητας του κάθε ψηφίου ως δύναμη του δεκαέξι. ή ή 3 2 1 0 1 A 90F, C ( A 16 ) (9 16 ) (0 16 ) ( F 16 ) ( C 16 ) 3 2 1 0 1 A 90F, C (10 16 ) (9 16 ) (0 16 ) (15 16 ) (12 16 ) A 90F, C 40960 2304 15 0,75 Σύμφωνα με τα παραπάνω, είναι προφανές ότι πρόκειται για τον δεκαδικό αριθμό 43279,75. Είναι γεγονός ότι οι περισσότεροι επεξεργαστές για κατασκευαστικούς λόγους έχουν σχεδιαστεί να διαχειρίζονται ομάδες bit δεδομένων που είναι πολλαπλάσια της δύναμης του δυο. Έτσι διακρίνονται επεξεργαστές των 4, 8, 16, 32, 64 ή 128 bit. Από την άλλη, ο αριθμός 16 έχει την ιδιότητα ότι προκύπτει από την τέταρτη δύναμη του αριθμού 2 (2 4 =16). Αυτό συντελεί στην δυνατότητα της ομαδοποίησης των δυαδικών ψηφίων σε τετράδες και της περαιτέρω αναπαράστασης τους με ένα και μόνο χαρακτήρα στο 16 αδικό σύστημα (για κάθε τέσσερα bit του δυαδικού αριθμητικού συστήματος). Στον παρακάτω πίνακα παρουσιάζεται η αντιστοιχία δυαδικών δεκαεξαδικών στοιχείων. 1.4. ΠΙΝΑΚΑΣ 1 Binary System (bit) Hexadecimal System 0000 0001 0010 0011 0100 0101 0110 0111 1000 0 1 2 3 4 5 6 7 8 Εργαστήριο Μικροϋπολογιστών Σελίδα 7

1001 1010 1011 1100 1101 1110 1111 Ένα τυπικό παράδειγμα παρατίθεται παρακάτω: 9 A B C D E F 0110 1011 0001 1010 2 6 B 1 A 16 6B 16 0110101100011010 A 2 1 Είναι προφανές ότι οι 16αδικοί αριθμοί διευκολύνουν την αναπαράσταση των μακρόσυρτων δυαδικών αριθμών, καθώς για την αναπαράσταση ενός 16bit δυαδικού αριθμού, απαιτήθηκαν μόλις 4 σύμβολα ψηφία στο 16 αδικό. Αυτός είναι και ο κύριος λόγος που το 16 αδικό σύστημα χρησιμοποιείται κατά κόρον στα συστήματα μικροϋπολογιστών παρά το γεγονός ότι οι ίδιοι οι μικροεπεξεργαστές στην ουσία διαχειρίζονται bit τα οποία σαφώς βρίσκονται πλησιέστερα στη δυαδική λογική. 1.5. ΜΕΤΑΤΡΟΠΕΣ ΑΡΙΘΜΩΝ (ΑΡΙΘΜΗΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ) Παρά το γεγονός ότι ένα αριθμητικό σύστημα επιλέγεται και χρησιμοποιείται ανάλογα με τις ιδιαιτερότητες και τις ανάγκες ενός τομέα (ή ενός πεδίου εφαρμογών), πολλές φορές είναι αναγκαία η μετατροπή των διαφόρων τιμών από ένα αριθμητικό σύστημα σε κάποιο άλλο. Οι διαδικασίες που απαιτούνται για τις εν λόγω μετατροπές παρατίθονται στη συνέχεια. 1.5.1. Μετατροπή στο δεκαδικό σύστημα Για την μετατροπή στο δεκαδικό σύστημα μιας ποσότητας τιμής που εκφράζεται στο δυαδικό, το 16 αδικό (ή κάποιο άλλο) σύστημα ακολουθείται η διαδικασία που περιγράφηκε προηγουμένως, σύμφωνα με την οποία το κάθε ψηφίο (ανάλογα με τη θέση του στην παράσταση) φέρει διαφορετική βαρύτητα και το άθροισμα των γινομένων των ψηφίων με την εκάστοτε βαρύτητα, αποδίδει την παριστάμενη ποσότητα. Έστω ο δυαδικός αριθμός 1011,11 2 και ο 16 αδικός B0C7,4 16. Τότε για τον πρώτο ισχύει: 1011,11 3 2 1 0 1 2 2 (1 2 ) (0 2 ) (1 2 ) (1 2 ) (1 2 ) (1 2 ) 11, 7510 ενώ για τον δεύτερο B 0C7,4 3 2 1 0 1 16 (11 16 ) (0 16 ) (12 16 ) (7 16 ) (4 16 ) 45255, 2510 Εργαστήριο Μικροϋπολογιστών Σελίδα 8

1.5.2. Μετατροπή στο δυαδικό σύστημα Η μετατροπή ενός δεκαδικού αριθμού σε δυαδικό, μπορεί να γίνει με δυο τρόπους: Σύμφωνα με τον πρώτο τρόπο, από τον αρχικό δεκαδικό αριθμό αφαιρείται διαδοχικά η μεγαλύτερη δύναμη του δύο (2) που χωράει στον αριθμό. Έστω για παράδειγμα ο δεκαδικός αριθμός 25. Τότε η μεγαλύτερη δύναμη του δυο που χωράει στο 25 είναι η τετάρτη που αντιστοιχεί στον αριθμό 16 (2 4 =16<25 ενώ 2 5 =32>25). Κατά συνέπεια ορίζεται ο συντελεστής 1 για τη δύναμη αυτή, ενώ το 16 αφαιρείται από το αρχικό νούμερο (25 16=9). Η αμέσως μικρότερη δύναμη του 2, είναι ο αριθμός 8 (2 3 ), ο οποίος με τη σειρά του χωράει στο νέο υπόλοιπο (9). Οπότε, και για τη δύναμη αυτή ορίζεται ο συντελεστής 1, ενώ το 8 αφαιρείται από το 9. Το νέο υπόλοιπο είναι ο αριθμός 1. Η αμέσως μικρότερη δύναμη του 2 που είναι ο αριθμός 4 (2 2 ) δεν χωράει στο νέο υπόλοιπο (1) όπως συμβαίνει και με τον αριθμό 2 (2 1 ). Κατά συνέπεια οι συντελεστές γι αυτές τις δύο δυνάμεις ορίζονται ίσοι με το μηδέν (0). Τέλος, η δύναμη (2 0 =1) χωράει μια φορά στον αριθμό 1 οπότε και ορίζεται ο συντελεστής 1 για τη δύναμη αυτή). Συνοπτικά έχουμε: 2 4 =16 και 25 2 4 x 1=9 άρα συντελεστής=1 MSB 2 3 =8 και 9 2 3 x 1=1 άρα συντελεστής=1 2 2 =4 και 1 2 2 x 0=0 άρα συντελεστής=0 2 1 =1 και 1 2 1 x 0=0 άρα συντελεστής=0 2 0 =1 και 1 2 0 x 1=1 άρα συντελεστής=1 LSB Επομένως, ο αριθμός 25 10 παριστάνεται στο δυαδικό σύστημα με την ακολουθία: 2 4 2 3 2 2 2 1 2 0 1 1 0 0 1 2 Εναλλακτικά, η μετατροπή αυτή μπορεί να γίνει διαιρώντας διαδοχικά τον αρχικό δεκαδικό αριθμό με τη βάση του συστήματος στο οποίο θέλουμε να παρασταθεί η τιμή και σημειώνοντας κάθε φορά το υπόλοιπο της διαίρεσης. Τα υπόλοιπα αυτά με τη σειρά που προκύπτουν, αντιστοιχούν στους συντελεστές της παράστασης του νέου δυαδικού (στη συγκεκριμένη περίπτωση) αριθμού, από το LSB προς το MSB. Δηλαδή ισχύει: 25:2=12 και το υπόλοιπο είναι 1, άρα συντελεστής=1 LSB 12:2= 6 και το υπόλοιπο είναι 0, άρα συντελεστής=0 6:2= 3 και το υπόλοιπο είναι 0, άρα συντελεστής=0 3:2= 1 και το υπόλοιπο είναι 1, άρα συντελεστής=1 1:2= 0 και το υπόλοιπο είναι 1, άρα συντελεστής=1 MSB Το τελικό αποτέλεσμα και με αυτή τη διαδικασία είναι το ίδιο, ο δυαδικός αριθμός: 1 1 0 0 1 2. Εργαστήριο Μικροϋπολογιστών Σελίδα 9

Δεδομένου ότι ο αριθμός 16 προκύπτει ως η τέταρτη δύναμη του αριθμού δύο (2 4 =16), η μετατροπή ενός 16αδικού αριθμού σε δυαδικό ανάγεται σε μια ιδιαίτερα εύκολη υπόθεση, καθώς σε κάθε 16 αδικό στοιχείο αντιστοιχούν τέσσερα δυαδικά ψηφία bit (Πίνακας 1). Έστω ο 16 αδικός αριθμός FΕ51 16. Στην περίπτωση αυτή ισχύει: ο 16 αδικός αριθμός F 16 ισούται με τον 10δικό 15 10 και με τον δυαδικό 1111 2 ο 16 αδικός αριθμός Ε 16 ισούται με τον 10δικό 14 10 και με τον δυαδικό 1110 2 ο 16 αδικός αριθμός 5 16 ισούται με τον 10δικό 5 10 και με τον δυαδικό 0101 2 ο 16 αδικός αριθμός 1 16 ισούται με τον 10δικό 1 10 και με τον δυαδικό 0001 2 Συνεπώς, ο 16 αδικός αριθμός FΕ51 16 στο δυαδικό σύστημα παριστάνεται ως: F E 5 1 FE 5116 1111 1110 0101 0001 1111111001010001 1.5.3. Μετατροπή στο 16 αδικό σύστημα Η μετατροπή αριθμών στο 16 αδικό σύστημα ακολουθεί τους κανόνες και τις διαδικασίες που προαναφέρθηκαν. Έτσι, η μετατροπή ενός δεκαδικού αριθμού σε 16 αδικό μπορεί επίσης να πραγματοποιηθεί με δυο τρόπους. Σύμφωνα με τον πρώτο τρόπο, από τον αρχικό δεκαδικό αριθμό αφαιρείται διαδοχικά η μεγαλύτερη δύναμη του δεκαέξι που χωράει στον αριθμό. Έστω για παράδειγμα ο δεκαδικός αριθμός 10200. Τότε η μεγαλύτερη δύναμη του δεκαέξι που χωράει στο 10200 είναι η τρίτη που αντιστοιχεί στον αριθμό 4096 (16 3 ). Μάλιστα, η δύναμη αυτή χωράει στον αρχικό αριθμό κατά 2 φορές. Κατά συνέπεια ορίζεται ο συντελεστής 2 για τη δύναμη αυτή, ενώ το 4096x2=8192 αφαιρείται από το αρχικό νούμερο (10200 8192=2008). Η αμέσως μικρότερη δύναμη του 16 είναι ο αριθμός 256 (16 2 ), ο οποίος με τη σειρά του χωράει στο νέο υπόλοιπο (2008) κατά 7 φορές (7x256=1792). Οπότε, και για τη δύναμη αυτή ορίζεται ο συντελεστής 7, ενώ το 256x7=1792 αφαιρείται από το 2008. Το νέο υπόλοιπο είναι ο αριθμός 216. Η αμέσως μικρότερη δύναμη του 16 που είναι ο αριθμός 16 (16 1 ) χωράει στο νέο υπόλοιπο (216) 13 φορές οπότε ορίζεται ο συντελεστής D ενώ το νέο υπόλοιπο είναι 216 208=8. Τέλος, η δύναμη (16 0 =1) χωράει οκτώ φορές στο νέο υπόλοιπο οπότε και ορίζεται ο συντελεστής 8 για τη δύναμη αυτή. Συνοπτικά έχουμε: 2 16 3 =4096 και 10200 16 3 x 2=2008 άρα συντελεστής=2 MSB 16 2 = 256 και 2008 16 2 x 7= 216 άρα συντελεστής=7 16 1 = 16 και 216 16 1 x 13= 8 άρα συντελεστής=d 16 0 = 1 και 8 16 0 x 8= 0 άρα συντελεστής=8 LSB Επομένως, ο αριθμός 10200 10 παριστάνεται στο 16 αδικό σύστημα με τον αριθμό: 2 7 D 8 16. Εργαστήριο Μικροϋπολογιστών Σελίδα 10

Εναλλακτικά, η μετατροπή αυτή μπορεί να γίνει διαιρώντας διαδοχικά τον αρχικό δεκαδικό αριθμό με τη βάση του συστήματος στο οποίο θέλουμε να παρασταθεί η τιμή και σημειώνοντας κάθε φορά το υπόλοιπο της διαίρεσης. Τα υπόλοιπα αυτά με τη σειρά που προκύπτουν, αντιστοιχούν στους συντελεστές της παράστασης του νέου 16 αδικού (στη συγκεκριμένη περίπτωση) αριθμού, από το LSB προς το MSB. Δηλαδή ισχύει: 10200:16=637 και το υπόλοιπο είναι 8, άρα συντελεστής=8 LSB 637:16= 39 και το υπόλοιπο είναι 13, άρα συντελεστής=d 39:16= 2 και το υπόλοιπο είναι 7, άρα συντελεστής=7 2:16= 0 και το υπόλοιπο είναι 2, άρα συντελεστής=2 MSB Το τελικό αποτέλεσμα και με αυτή τη διαδικασία είναι το ίδιο, ο 16 αδικός αριθμός: 2 7 D 8 16. Η μετατροπή ενός δυαδικού αριθμού σε 16 αδικό, βασίζεται στο γεγονός ότι κάθε 16 αδικό στοιχείο αντιστοιχίζεται με τέσσερα ψηφία του δυαδικού συστήματος (Πίνακας 1). Συνεπώς, απαιτείται απλά μια ομαδοποίηση των δυαδικών bit σε τετράδες και στη συνέχεια η εύρεση των αντίστοιχων δεκαεξαδικών τιμών τους. Σε κάθε περίπτωση, η ομαδοποίηση των bit ξεκινάει από τις μονάδες (το πρώτο ψηφίο αριστερά από την υποδιαστολή). Έστω ο δυαδικός αριθμός 1100111100001010 2. ο οποίος αναλύεται σε τέσσερις τετράδες ψηφίων bit: τον αριθμό 1100 2 που ισούται με τον 10δικό 12 10 και με τον 16 αδικό C 16 τον αριθμό 1111 2 που ισούται με τον 10δικό 15 10 και με τον 16 αδικό F 16 τον αριθμό 0000 2 που ισούται με τον 10δικό 0 10 και με τον 16 αδικό 0 16 τον αριθμό 1010 2 που ισούται με τον 10δικό 10 10 και με τον 16 αδικό A 16 Συνεπώς, ο 1δυαδικός αριθμός 1100111100001010 2 παριστάνεται ως: στο 16 αδικό αριθμητικό σύστημα 1100 1111 0000 1010 1100111100001010 C F 0 A CF A 2 0 1.6. ΠΡΟΣΗΜΑΣΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Τα ψηφιακά κυκλώματα και τα μικροϋπολογιστικά συστήματα έχουν υιοθετήσει και χρησιμοποιούν το δυαδικό σύστημα. Διαθέτοντας στην ουσία δυο στάθμες τάσεων (high και low) είναι σε θέση να εκτελούν λογικές και αριθμητικές πράξεις παρέχοντας σε απειροελάχιστα μικρό χρονικό διάστημα αποτελέσματα που ο άνθρωπος θα δυσκολευόταν κατά πολύ να εκτελέσει μόνος του. 16 Εργαστήριο Μικροϋπολογιστών Σελίδα 11

Σε αρκετές περιπτώσεις ωστόσο, απαιτείται από τον μικροϋπολογιστή να παραστήσει, διαχειριστεί και να μνημονεύσει αρνητικούς αριθμούς. Τότε, υπεισέρχεται στην διαδικασία ο παράγοντας του πρόσημου (προσημασμένος αριθμός). Με δεδομένο ότι ο μικροεπεξεργαστής δεν διαθέτει ειδικές επιπλέον στάθμες τάσης (λ.χ. ±10Volt επιπλέον των +5V και 0V) για να καθορίζει τα πρόσημα των αριθμών που διαχειρίζεται, έχει προβλεφθεί η χρήση κάποιων κανόνων τεχνικών για την απόδοση του πρόσημου με τις ήδη υπάρχουσες διαθέσιμες στάθμες (high=1, low=0). Οι τεχνικές αυτές είναι γνωστές και σαν προσημασμένα συστήματα. Υπάρχουν τρεις τεχνικές μορφές για την παράσταση ενός προσημασμένου αριθμού: 1.6.1. Μορφή Πρόσημου Μέτρου Κατά την αναπαράσταση ενός προσημασμένου αριθμού (Ν ψηφίων) με αυτή τη μεθοδολογία, το περισσότερο σημαντικό bit (MSB Most Significant Bit) χρησιμοποιείται για την απόδοση του πρόσημου. Κατά κανόνα, λογικό 0 αντιστοιχεί σε θετικό πρόσημο (+), ενώ λογικό 1 σε αρνητικό πρόσημο ( ). Τα υπόλοιπα Ν 1 ψηφία χρησιμοποιούνται για την απόδοση της απόλυτης τιμής (μέτρο) του αριθμού. Έστω για παράδειγμα οι αριθμοί +49 10 και 49 10. Είναι προφανές ότι στην πρώτη περίπτωση ισχύει: ό ( ) ή 4910 0 01100012 00110001 2 ενώ στην δεύτερη περίπτωση: ό ( ) ή 4910 1 01100012 10110001 Και στις δυο περιπτώσεις το MSB χρησιμοποιείται για να αποδώσει το πρόσημο, ενώ τα υπόλοιπα 7 bit το μέτρο του αριθμού. 2 1.6.2. Μορφή Συμπληρώματος ως προς 1 Σύμφωνα με την τεχνική αυτή, η αναπαράσταση ενός θετικού αριθμού γίνεται όπως και προηγουμένως. Στην περίπτωση όμως που απαιτείται η παράσταση ενός αρνητικού αριθμού, τότε αυτός παριστάνεται με την αναστροφή όλων των δυαδικών ψηφίων του αντίστοιχου θετικού. Και σε αυτή την περίπτωση η τιμή του MSB αποτελεί κριτήριο για τον χαρακτηρισμό του πρόσημου του αριθμού, δηλαδή 0 για θετικό και 1 για αρνητικό αριθμό (μόνο που το μέτρο αυτού προκύπτει έπειτα από αναστροφή των ψηφιών του αριθμού αυτού στην περίπτωση που πρόκειται για αρνητικό αριθμό). Έστω για παράδειγμα οι αριθμοί +51 10 και 51 10. Στην πρώτη περίπτωση (+51 10 ) ισχύει: 5110 00110011 2 (MSB=0) Εργαστήριο Μικροϋπολογιστών Σελίδα 12

ενώ στην δεύτερη περίπτωση: ί ό ή. 1 51 (MSB=1) 10 001100112 110011002 5110 1.6.3. Μορφή Συμπληρώματος ως προς 2 Και σε αυτή την περίπτωση, η αναπαράσταση ενός θετικού αριθμού ακολουθεί την διαδικασία που περιγράφηκε αρχικά (παράγραφο 1.5.1). Ωστόσο, η παράσταση ενός αρνητικού αριθμού γίνεται με την αντιστροφή όλων των ψηφίων του αντίστοιχου θετικού συν την πρόσθεση μιας μονάδας στο λιγότερο σημαντικό bit (LSB Less Significant Bit). Το MSB εξακολουθεί και σε αυτή την περίπτωση να αποτελεί κριτήριο για το πρόσημο του αριθμού. Έστω για παράδειγμα οι αριθμοί +35 10 και 35 10. Στην πρώτη περίπτωση ισχύει: ενώ στην δεύτερη περίπτωση: 3510 00100011 2 (MSB=0) ί ό ή. 1 ή. 2 35 10 001000112 110111002 110111012 3510 (MSB=1) Αξίζει να σημειωθεί ότι η μορφή του συμπληρώματος ως προς 2, είναι η διαδικασία που έχει επικρατήσει στα μικροϋπολογιστικά συστήματα. Αν και φαντάζει περισσότερο πολύπλοκη, εντούτοις πλεονεκτεί των υπολοίπων διαδικασιών κυρίως λόγω της αμεσότητας στην προβολή των αποτελεσμάτων κατά την εκτέλεση αφαιρέσεων. Σε κατασκευαστικό επίπεδο, οι μ/ε εκτελούν τη μαθηματική πράξη της αφαίρεσης προσθέτοντας στον αφαιρετέο τον αντίθετο (αρνητικό) του αφαιρέτη. Έτσι, στην περίπτωση εκτέλεσης της μαθηματικής πράξης: 5110 35 10 ουσιαστικά εκτελεστεί η πράξη: 5110 ( 3510 ) ή 001100112 11011101 2 Εργαστήριο Μικροϋπολογιστών Σελίδα 13

Εκτελώντας την αυτή αριθμητική πράξη στο δυαδικό σύστημα με τη βοήθεια δυο 8 bit καταχωρητών που περιέχουν τα δεδομένα, προκύπτει: 00110011 11011101 100010000 2 2 2 Με μια περισσότερο προσεκτική ματιά είναι εύκολο να διαπιστωθεί ότι το αποτέλεσμα έχει μήκος 9 bit. Ωστόσο, λόγω του σταθερού μεγέθους των καταχωρητών του συστήματος, μόνο τα 8 λιγότερο σημαντικά bit πρόκειται να φυλαχθούν ενώ το ένατο MSB εμφανίζεται σαν υπερχείλιση. ί έ έ 1 000100002 000100002 16 bit 10 Εκτελώντας την αφαίρεση απ ευθείας στο δεκαδικό σύστημα, πράγματι προκύπτει: 51 10 3510 1610 Εργαστήριο Μικροϋπολογιστών Σελίδα 14

2. ΟΜΗ μ/υ ΣΥΣΤΗΜΑΤΩΝ Οι πρώτοι ψηφιακοί υπολογιστές ήταν ογκώδεις και δύσχρηστες διατάξεις, χαμηλής σχετικά επεξεργαστικής ισχύος. Λειτουργούσαν περισσότερο σαν ηλεκτρονικές μηχανές και το πρόγραμμα εντολές αποτελούταν από ένα συνδυασμό θέσεων διαφόρων διακοπτών και από καλώδια σύνδεσης, γεγονός που καθιστούσε τη διαδικασία εισαγωγής ενός προγράμματος ως μια αρκετά πολύπλοκη και κοπιαστική διαδικασία. Επιπλέον, κάθε φορά που απαιτούνταν αλλαγή ή τροποποίηση της εκτελούμενης λειτουργίας, ήταν αναγκαία και η ανα καλωδίωση της διάταξης από την αρχή. Οι διατάξεις αυτές είναι γνωστές ως Program Controlled Computers. Αυτό άλλαξε ριζικά από την καινοτόμο ιδέα του μαθηματικού Prof. John Von Neumann, ο οποίος πρότεινε την αποθήκευση του προγράμματος στην μνήμη όπως άλλωστε γινόταν και με τα δεδομένα (data). Απαραίτητη προϋπόθεση είναι η ύπαρξη μιας μόνιμης καλωδίωσης του υπολογιστή κατά τρόπο τέτοιο, ώστε η διάταξη να διαβάζει τα δεδομένα εντολές που είναι αποθηκευμένες στην μνήμη, αντί να καλωδιώνεται από την αρχή κάθε φορά που αλλάζει το πρόγραμμα. Σήμερα όλοι οι υπολογιστές βασίζονται σε αυτή την αρχιτεκτονική, η οποία είναι γνωστή ως Αρχή του Αποθηκευμένου Προγράμματος (Architecture of Stored Program) ενώ συχνά οι υπολογιστές αναφέρονται ως Υπολογιστές Αποθηκευμένου Προγράμματος (Stored Program Computers). 2.1. ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΣΥΣΤΗΜΑΤΟΣ μ/υ Ένα τυπικό μικροϋπολογιστικό (μ/υ) σύστημα αποτελείται από τρία βασικά τμήματα (δομικά στοιχεία): Την Κεντρική Μονάδα Επεξεργασίας (CPU Central Processing Unit) Την Μονάδα Κεντρικής Μνήμης (Memory Unit) Τις Μονάδες Εισόδου Εξόδου (Input/Output Ports) Αυτές οι μονάδες αποτελούν το λεγόμενο υλικό του συστήματος (hardware). Τα προγράμματα που είναι αποθηκευμένα στην μνήμη και τα οποία καθορίζουν τη λειτουργία του Υπολογιστή αποτελούν το λογισμικό (software). Η δομή ενός τυπικού μ/υ συστήματος αποθηκευμένου προγράμματος παρατίθεται στο παρακάτω σχήμα: Memory Unit Microprocessor (CPU) I/O Units Σχ.2.1 Δομή μ/υ Συστήματος Αποθηκευμένου Προγράμματος Καθοριστικό ρόλο για την ομαλή συνεργασία αυτών των τμημάτων του υπολογιστή (επεξεργαστής, μνήμη, μονάδες Ι/Ο) διαδραματίζει ο συγχρονισμός των διαφόρων διαδικασιών. Είναι σχεδόν αυτονόητο ότι χωρίς την ύπαρξη του συγχρονισμού, οι διάφορες συσκευές δεν θα κατόρθωναν να επικοινωνήσουν μεταξύ τους. Για το λόγο αυτό, το όλο σύστημα διαθέτει Εργαστήριο Μικροϋπολογιστών Σελίδα 15

κατάλληλα κυκλώματα χρονισμού όπως συμβαίνει άλλωστε και στα σύγχρονα ψηφιακά κυκλώματα. Έτσι, ο χρονισμός του υπολογιστή, ελέγχεται από ένα ταλαντωτή τετραγωνικών παλμών (clock), το σήμα του οποίου συγχρονίζει όλες τις λειτουργίες μέσα στον Υπολογιστή και καθορίζει την ταχύτητα μεταφοράς και εκτέλεσης των διαφόρων εντολών και δεδομένων. T frequency=1/t Clock (Timing Pulses) Σχ.2.2. Σήμα Χρονισμού Λειτουργιών μ/υ (Clock) 2.1.1. Κεντρική Μονάδα Επεξεργασίας (CPU) Η Κεντρική Μονάδα Επεξεργασίας (CPU Central Processing Unit) αποτελεί τον πυρήνα του συστήματος. Βασική της λειτουργία είναι η ανάγνωση, η αποκωδικοποίηση και η εκτέλεση των διαφόρων εντολών από τη μνήμη καθώς επίσης και ο έλεγχος (control) όλων των λειτουργιών του συστήματος, παρέχοντας τα απαραίτητα προς αυτό σήματα. Ως διάταξη, ο μικροεπεξεργαστής (μ/ε) εκτελεί αριθμητικές και λογικές πράξεις, διακλαδώνει της ακολουθιακή ροή ενός προγράμματος επιτρέποντας την εκτέλεση ρουτινών και υπο ρουτινών και τέλος, ανταποκρίνεται σε σήματα διακοπών και ελέγχου (interrupts) από εξωτερικές συσκευές ή από το πρόγραμμα. Ωστόσο, από μόνος του ο μικροεπεξεργαστής (μ/ε) δεν έχει πολλές δυνατότητες καθώς δεν διαθέτει για παράδειγμα την απαιτούμενη μνήμη για την αποθήκευση των εντολών προγραμμάτων, μονάδες εισόδου εξόδου (Ι/Ο), αυτόνομα κυκλώματα χρονισμού κτλ. Προκειμένου λοιπόν, η λειτουργία του μικροεπεξεργαστή (μ/ε) να καταστεί άρτια είναι απαραίτητη η πλαισίωσή του από ένα πλήθος εξαρτημάτων υποστήριξης. Το σύνολο των εξαρτημάτων αυτών (μαζί με τον μ/ε) απαρτίζουν το σύστημα του υπολογιστή. Μια διαφοροποίηση των μικροεπεξεργαστών είναι οι μικροελεγκτές (microcontrollers). Οι τελευταίοι, αν και χαρακτηρίζονται από μια σχετική αυτονομία διαθέτοντας σε αρκετές περιπτώσεις εκτός από μονάδα μικροεπεξεργαστή και ενσωματωμένη μνήμη (RAM & ROM για την αποθήκευση των εντολών και προσωρινών δεδομένων), σε καμία περίπτωση δεν μπορούν να συναγωνιστούν τους σύγχρονους μικροεπεξεργαστές σε επιδόσεις. Αυτό οφείλεται κυρίως στην μικρότερη επεξεργαστική ισχύ και την περιορισμένη μνήμη που διαθέτουν. Στην ουσία δηλαδή, οι μικροελεγκτές αποτελούν μια μικρογραφία των υπολογιστικών συστημάτων είναι δηλαδή μικροεπεξεργαστές με μνήμη. 2.1.2. Μονάδα Κεντρικής Μνήμης Η μονάδα της κεντρικής μνήμης, από λειτουργικής πλευράς, αποσκοπεί στην αποθήκευση διαφόρων δεδομένων, τα οποία πρέπει να είναι άμεσα διαθέσιμα στον επεξεργαστή. Αποτελείται κατά ένα μέρος από μνήμη RAM (Random Access Memory) και κατά ένα μέρος από μνήμη ROM (Read Only Memory). Η μνήμη RAM είναι ένα είδος πτητικής μνήμης (τα δεδομένα χάνονται με τη διακοπή της τροφοδοσίας του συστήματος) και ως εκ τούτου χρησιμοποιείται για την προσωρινή αποθήκευση εντολών διαφόρων προγραμμάτων και δεδομένων. Είναι προφανές ότι το μέγεθος της μνήμης Εργαστήριο Μικροϋπολογιστών Σελίδα 16

RAM συμβάλει στην επίδοση ενός συστήματος καθώς καθορίζει τη μέγιστη ποσότητα δεδομένων (εντολών και προσωρινών αποτελεσμάτων επεξεργασίας του λειτουργικού συστήματος, των εφαρμογών κτλ) που μπορούν να αποθηκευτούν σε αυτή και να είναι άμεσα (και ταχύτερα) διαθέσιμα στον επεξεργαστή. Από την άλλη, η μνήμη ROM χαρακτηρίζεται ως μη πτητική και εξ αιτίας αυτής της ιδιότητάς (διατηρεί τα δεδομένα της ακόμα και όταν δεν υπάρχει τροφοδοσία στο σύστημα) χρησιμοποιείται για την εκτέλεση βασικών λειτουργιών που συντελούν στην εκκίνηση του υπολογιστή (το πρώτο πρόγραμμα που τρέχει κατά την εκκίνηση ενός Η/Υ βρίσκεται αποθηκευμένο στη ROM και αφορά τον έλεγχο και τη μέτρηση του μεγέθους μνήμης RAM, την αναγνώριση συσκευών και δίσκων συνδεμένων στο σύστημα κτλ.). Από δομικής πλευράς, η Κεντρική Μνήμη είναι οργανωμένη σε διαδοχικές θέσεις αποθήκευσης δεδομένων, κάθε μια από τις οποίες διαθέτει τη δική της μοναδική διεύθυνση. Κάθε θέση μνήμης μπορεί να χρησιμοποιηθεί για την αποθήκευση πληροφοριών που μπορεί να αντιστοιχούν σε δεδομένα ή εντολές προγράμματος. Η μνήμη που χρησιμοποιείται στα συστήματα υπολογιστών βασισμένα στον μικροεπεξεργαστή 8086/88 χαρακτηρίζεται από θέσεις αποθήκευσης μήκους 8 bit (1 byte). Η διάταξη των θέσεων μνήμης ενός τέτοιου συστήματος παρατίθεται στο σχήμα 2.3. Byte Byte Byte Byte Addr ess FFFFF Address FF FFE Address FFFFD Address FFFFC Byte Byte Byte Byte Byte Byte Byte Byte Address 0000 7 Address 0000 6 Address 0000 5 Address 0000 4 Address 0000 3 Address 0000 2 Address 0000 1 Address 0000 0 Σχ.2.3. Μνήμη μ/υ Συστήματος 2.1.3. Μονάδες Επικοινωνίας (I/O Units) Οι Μονάδες επικοινωνίας (I/O Units) καθιστούν εφικτή την επικοινωνία ενός μ/υ συστήματος με το περιβάλλον και το χρήστη. Είναι σχεδόν αυτονόητο ότι χωρίς την παρουσία τους οι υπολογιστές θα ήταν εντελώς άχρηστοι καθώς ούτε θα δέχονταν δεδομένα αλλά και ούτε θα μπορούσαν να εξάγουν τα διάφορα αποτελέσματα. Κατά κανόνα, οι μονάδες I/O χρησιμοποιούνται για την είσοδο (Input devices), την έξοδο (Output devices) ή αμφότερα την είσοδο και την έξοδο δεδομένων (Input & Output devices). Χαρακτηριστικά παραδείγματα συσκευών εισόδου αποτελούν το πληκτρολόγιο και το ποντίκι. Ως συσκευές εξόδου λογίζονται η οθόνη και ο εκτυπωτής ενώ ως συσκευές εισόδου & εξόδου ενδεικτικά αναφέρονται το modem, οι κάρτες επικοινωνίας δικτύου (Network Interface Cards) και οι οθόνες touchscreen. Τέλος, όλες οι συσκευές εισόδου/εξόδου (Ι/Ο) συχνά αναφέρονται με τον όρο περιφερειακά. Εργαστήριο Μικροϋπολογιστών Σελίδα 17

2.1.4. Συσκευές Βοηθητικής Μνήμης Εκτός από την κεντρική μνήμη (RAM & ROM), οι υπολογιστές διαθέτουν και επιπλέον μονάδες αποθήκευσης δεδομένων (μνήμη). Η μνήμη αυτή είναι γνωστή σαν βοηθητική μνήμη (ή μνήμη υποστήριξης) και χρησιμοποιείται για τη μόνιμη αποθήκευση δεδομένων. Από κατασκευαστικής πλευράς, διακρίνεται σε μαγνητική και οπτική, ανάλογα με τη χρησιμοποιούμενη τεχνολογία. Χαρακτηριστικά παραδείγματα μαγνητικής μνήμης αποτελούν οι σκληροί δίσκοι (φορητοί και μη), οι μαλακοί δίσκοι (δισκέτες) και οι μαγνητικές ταινίες (DAT). Από την άλλη, μονάδες οπτικής βοηθητικής μνήμης αποτελούν τα CD ROM, τα DVD ROM και οι μαγνητο οπτικοί δίσκοι. Οι συσκευές που χρησιμοποιούνται για την εγγραφή/ανάγνωση της βοηθητικής μνήμης, ονομάζονται συσκευές βοηθητικής μνήμης και στην ουσία αποτελούν συσκευές Ι/Ο του συνολικού μικροϋπολογιστικού συστήματος. Ενδεικτικά αναφέρονται το CD ROM drive και το floppy disk reader. Ο σκληρός δίσκος είναι μια ειδική περίπτωση βοηθητικής μνήμης όπου τόσο η διάταξη αποθήκευσης (μαγνητικοί δίσκοι) όσο και η διάταξη ανάγνωσης (κεφαλές ανάγνωσης & σχετιζόμενα κυκλώματα) βρίσκονται ενσωματωμένα στο ίδιο κέλυφος. 2.2. Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΤΡΙΩΝ ΔΙΑΥΛΩΝ Η διασύνδεση και η επικοινωνία του μικροεπεξεργαστή (μ/ε) με τη μνήμη και τις μονάδες εισόδου/εξόδου (Ι/Ο) επιτυγχάνεται μέσω ενός μεγάλου πλήθους αγωγών γραμμών. Οι γραμμές αυτές, χρησιμοποιούνται για να μεταφέρουν τα εκάστοτε σήματα ελέγχου, σήματα διευθυνσιοδότησης μνήμης και δεδομένα από και προς τον μ/ε. Χαρακτηριστικό στοιχείο των συστημάτων υπολογιστών αποτελεί το γεγονός ότι κάθε κατηγορία σημάτων χρησιμοποιεί αποκλειστικά και μόνο ειδικά αφιερωμένες για το σκοπό αυτό γραμμές. Έτσι, τα δεδομένα μεταφέρονται σε ξεχωριστές γραμμές από τα σήματα διευθυνσιοδότησης και από τα σήματα ελέγχου. Το σύνολο των γραμμών που χρησιμοποιούνται για την μεταφορά σημάτων που εξυπηρετούν ένα συγκεκριμένο σκοπό καλείται δίαυλος (bus). Τα συστήματα μ/υ διαθέτουν κυρίως τρία είδη διαύλων: Ο Δίαυλος των Δεδομένων (Data Bus) χρησιμοποιείται για την μεταφορά των bits που αφορούν δεδομένα (data). Ο αριθμός των γραμμών του διαύλου αυτού συνδέεται άμεσα με τον αριθμό των bits δεδομένων του μ/ε. Έτσι, ένας μ/ε των 8 bit έχει Δίαυλο Δεδομένων των 8 bit (γραμμών) ενώ ένας μ/ε των 16 bit έχει δίαυλο δεδομένων 16 γραμμών. Ο αριθμός αυτός στην ουσία καθορίζει τον όγκο της πληροφορίας που ο επεξεργαστής μπορεί να διαβάσει ή να γράψει σε ένα κύκλο προσπέλασης στην μνήμη. Ο 8086 έχει Δίαυλο Δεδομένων 16 bit. Ο 8088 έχει εσωτερικά Δίαυλο Δεδομένων των 16 bit αλλά εξωτερικά υποστηρίζει Data Bus μόνο των 8 bit. Αυτό σημαίνει ότι ο 8088 χρειάζεται δυο κύκλους μνήμης για να διαβάσει την πληροφορία που ο 8086 διαβάζει σε ένα κύκλο μνήμης. Τέλος, επισημαίνεται πως ο Δίαυλος των Δεδομένων (Data Bus) είναι κατά κανόνα αμφίδρομος, καθώς τα δεδομένα μπορούν να ρέουν από τον επεξεργαστή προς τη μνήμη Εργαστήριο Μικροϋπολογιστών Σελίδα 18

ή τις μονάδες Ι/Ο (εγγραφή), αλλά και αντίστροφα, από τη μνήμη ή τις μονάδες Ι/Ο προς τον επεξεργαστή (ανάγνωση). Ο Δίαυλος των Διευθύνσεων (Address Bus) χρησιμοποιείται για την μεταφορά των σημάτων που αφορούν την διευθυνσιοδότηση της μνήμης (και των μονάδων Ι/Ο). Με άλλα λόγια, ο δίαυλος αυτός χρησιμοποιείται για τον προσδιορισμό της θέσης μνήμης ή της μονάδας Ι/Ο από ή προς την οποία η CPU θέλει να μεταφέρει δεδομένα. Χαρακτηριστικό του διαύλου αυτού είναι ότι η ροή των σημάτων γίνεται πάντα με συγκεκριμένη φορά (μονόδρομη επικοινωνία), καθώς τα διάφορα σχετιζόμενα σήματα παράγονται αποκλειστικά από τη CPU. Οι μ/ε 8086 και 8088 διαθέτουν Δίαυλο Διευθύνσεων (Address Bus) των 20 bit γραμμών επιτρέποντας έτσι την προσπέλαση σε 1.048.576 διαφορετικές θέσεις μνήμης (ή μονάδων I/O). 2 20 1.048.576 Για να διακρίνει ο υπολογιστής εάν οι διευθύνσεις αυτές αναφέρονται στη μνήμη ή στις μονάδες I/O, χρησιμοποιεί επιπλέον σηματοδοσία, μέσω μιας ομάδας γραμμών αγωγών γνωστή και ως Δίαυλος Ελέγχου (Control Bus). Ο Δίαυλος Ελέγχου (Control Bus) χρησιμοποιείται για την μεταφορά των διαφόρων σημάτων ελέγχου του συστήματος. Τα σήματα αυτά κατά κύριο λόγο αποσκοπούν στον καθορισμό τόσο του μέσου που πρόκειται να προσπελαστεί από τη CPU (μνήμη μονάδες Ι/Ο) όσο και του σκοπού της προσπέλασης (ανάγνωση εγγραφή). Έτσι κάθε φορά που η CPU βγάζει μια διεύθυνση στον Δίαυλο των Διευθύνσεων (Address Bus), ενεργοποιείται και ένα από τα παρακάτω σήματα του Διαύλου Ελέγχου (Control Bus): - MEMORY READ - MEMORY WRITE - I/O READ - I/O WRITE Τα σήματα αυτά, εκτός των άλλων, καθορίζουν και τη φορά των δεδομένων στο Δίαυλο των Δεδομένων (Data Bus). Έτσι, όταν ενεργοποιούνται τα σήματα MEMORY READ και I/O READ, τα δεδομένα στο Data Bus εισέρχονται στη CPU προς ανάγνωση, ενώ στην περίπτωση που ενεργοποιούνται τα σήματα MEMORY WRITE και I/O WRITE, τα δεδομένα στο Data Bus εξέρχονται από τη CPU, με σκοπό την εγγραφή τους στη μνήμη ή τις μονάδες I/O. Σε κάθε περίπτωση επικοινωνίας του μ/ε με τη μνήμη και τις μονάδες Ι/Ο, σηματοδοσία αναπτύσσεται και στους τρεις διαύλους του συστήματος. Όπως προαναφέρθηκε, η σηματοδοσία στο Δίαυλο των Διευθύνσεων (Address Bus) και στον Δίαυλο Ελέγχου (Control Bus) παρέχεται από τη CPU (που άλλωστε είναι αρμόδια για τη ροή των δεδομένων στους διαύλους και τον έλεγχο του συστήματος), ενώ τα δεδομένα (πληροφορία) στον Δίαυλο των Δεδομένων (Data Bus) μπορεί να προέρχονται από τη CPU, τη μνήμη ή κάποια από τις μονάδες Ι/Ο. Ενδεικτικά αναφέρεται πως στην περίπτωση εγγραφής (αποθήκευσης) δεδομένων από τη CPU σε μια θέση μνήμης, στον Δίαυλο των Διευθύνσεων (Address Bus) τοποθετείται η διεύθυνση της θέσης μνήμης, στον Δίαυλο Ελέγχου (Control Bus) ενεργοποιείται το σήμα MEMORY WRITE, ενώ τα δεδομένα τοποθετούνται στον Δίαυλο των Δεδομένων (Address Bus). Αντίστοιχα, στην περίπτωση ανάγνωσης δεδομένων από μια θέση μνήμης, στον Δίαυλο των Διευθύνσεων τοποθετείται η διεύθυνση της θέσης μνήμης και στον Δίαυλο Ελέγχου (Control Bus) Εργαστήριο Μικροϋπολογιστών Σελίδα 19

ενεργοποιείται το σήμα MEMORY READ. Κατόπιν, τα κυκλώματα ελέγχου της μνήμης αναλαμβάνουν να εντοπίσούν την συγκεκριμένη πληροφορία και να την τοποθετήσουν στον Δίαυλο των Δεδομένων (Data Bus) προκειμένου να καταστεί διαθέσιμη προς ανάγνωση από τη CPU. Το διάγραμμα διασύνδεσης των δομικών στοιχείων ενός τυπικού μ/υ συστήματος με τη χρήση του συστήματος των τριών διαύλων παρατίθεται συνοπτικά στο παρακάτω σχήμα: Data Bus Microprocessor (CPU) Address Bus Memory Unit Control Bus I/O Units Σχ.2.4. Δομή Τυπικού μ/υ Συστήματος Παρά το γεγονός ότι η βασική δομή είναι πανομοιότυπη για το σύνολο των μικροϋπολογιστικών συστημάτων, το μέγεθος, η πολυπλοκότητα, η σηματοδοσία και το εύρος των διατιθέμενων διαύλων μιας υλοποίησης ενδέχεται να ποικίλει, ανάλογα με το χρησιμοποιούμενο μικροεπεξεργαστή. Στον παρακάτω Πίνακα 2 παρατίθονται τα χαρακτηριστικά διαφόρων μικροεπεξεργαστών της Intel, αναφορικά με το εύρος των διατιθέμενων διαύλων επικοινωνίας, Data Bus και Address Bus. 2.3. ΠΙΝΑΚΑΣ 2 Microprocessor Data Bus Width (Bit) Address Bus Width (Bit) Memory Size 8086 16 20 1M 8088 8 20 1M 80186 16 20 1M 80188 8 20 1M 80286 16 24 16M 80386SX 16 24 16M 80386DX 32 32 4G 80386EX 16 26 64M 80486 32 32 4G Pentium 64 32 4G Pentium Pro Pentium 4 64 32 36 64G Εργαστήριο Μικροϋπολογιστών Σελίδα 20

3. Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ μ/ε 8086/88 Ο μικροεπεξεργαστής 8086 σχεδιάστηκε το 1976 από την εταιρία Intel και τέθηκε σε παραγωγή λίγο αργότερα, το 1978. Πρόκειται για ένα 16 bit επεξεργαστή τεχνολογίας CISC (Complex Instruction Set Computer) που αποτελείται από περίπου 29,000 transistors και η λειτουργία του βασίζεται στο μοντέλο του αποθηκευμένου προγράμματος. Λίγο αργότερα δόθηκε στην κυκλοφορία και ο σχεδόν παρόμοιος 8088. Πρόκειται στην ουσία για τον ίδιο επεξεργαστή με μειωμένο (σε 8 bit) το εύρος του υποστηριζόμενου εξωτερικά Δίαύλου Δεδομένων (Data Bus). Δηλαδή, ενώ και οι δυο εσωτερικά υποστηρίζουν Data Bus των 16 bit, εξωτερικά ο 8088 διαθέτει Data Bus των 8 bit, στοιχείο που τον καθιστά πιο αργό. Κατά τα άλλα, οι δυο μ/e χαρακτηρίζονται από την ίδια αρχιτεκτονική και διαθέτουν ακριβώς το ίδιο σετ εντολών, γεγονός που συνετέλεσε ώστε να αναφέρονται κατά κανόνα μαζί, 8086/88. Εκτός από τη βασική έκδοση (8086/88) διακρίνονται και άλλες δυο εκδόσεις (8086/88 1, 8086/88 2) που διαφοροποιούνται κυρίως ως προς την συχνότητα λειτουργίας της CPU και την ταχύτητα πρόσβασης στο δίαυλο της μνήμης. Τα βασικά χαρακτηριστικά των εν λόγω μ/ε συνοψίζονται στον παρακάτω πίνακα. 3.1. ΠΙΝΑΚΑΣ 3 Processor Model Number of Bits Memory Bus & CPU Speed Technolog y Used Transistors Circuit Size & Addressable Memory Instruction Set 8086 16 4.77MHz 8086 1 16 10.00 MHz 8086 2 8088 16 16 (8 ext.) 8.00 MHz 4.77 MHz NMOS, CMOS 29000 3 μ (micron) 1Mbyte 135 Instructions 8088 1 16 (8 ext.) 10.00 MHz 8088 2 16 (8 ext.) 8.00 MHz Σχ.3.1. Ο μικροεπεξεργαστής 8088 3.2. Η ΔΟΜΗ ΤΗΣ CPU Από δομικής πλευράς, ο μικροεπεξεργαστής 8086/88 αποτελείται από δυο τμήματα που λειτουργούν ανεξάρτητα μεταξύ τους. Το πρώτο τμήμα είναι γνωστό ως Μονάδα Προσαρμογής Διαύλων (BIU Bus Interface Unit) και είναι υπεύθυνο για τον έλεγχο και τη διασφάλιση της ομαλής λειτουργίας του συστήματος. Έτσι, η BIU έχει αναλάβει τον έλεγχο και τη σηματοδοσία στο Δίαυλο Ελέγχου (Control Bus), τη διευθυνσιοδότηση στο Δίαυλο των Διευθύνσεων (Address Bus) και τη μεταφορά των δεδομένων από και προς τη CPU (μέσω του Data Bus). Εργαστήριο Μικροϋπολογιστών Σελίδα 21

Το δεύτερο τμήμα αναφέρεται ως Μονάδα Εκτέλεσης (EU Execution Unit) και είναι υπεύθυνο για την εκτέλεση των διαφόρων εντολών. Η EU δέχεται τις εντολές και τα δεδομένα από τη BIU, εκτελεί τις εντολές και αποθηκεύει τα αποτελέσματα σε καταχωρητές. Τα αποτελέσματα στη συνέχεια μπορούν να μεταφερθούν πίσω στη BIU με σκοπό να σταλούν για αποθήκευση στη μνήμη ή σε κάποια μονάδα εξόδου του συστήματος. Η EU δηλαδή, δεν έχει δηλαδή καμία άμεση πρόσβαση στους διαύλους του συστήματος και η όποια αποστολή δεδομένων σε αυτούς γίνεται μέσω της BIU. Η επικοινωνία και η διαβίβαση των εντολών από την BIU στην EU γίνεται μέσω ενός buffer (απομονωτή) που ονομάζεται Ουρά Εντολών (IQ Instruction Queue). Στην ουσία πρόκειται για μια μνήμη τύπου FIFO (First In First Out) όπου τα εξερχόμενα δεδομένα καταλήγουν στην EU, το ένα μετά το άλλο, ανάλογα με τη σειρά που εισήχθησαν από τη BIU (δηλαδή εξέρχονται πρώτα αυτά που εισήχθησαν πρώτα, εξέρχονται δεύτερα αυτά που εισήχθησαν δεύτερα κτλ). Επισημαίνεται ότι στον μικροεπεξεργαστή 8086 η Ουρά των Εντολών (Instruction Queue) έχει μήκος 6 bytes, ενώ στον 8088 το μήκος της ουράς των εντολών είναι 4 bytes. Σχ.3.2. Η Δομή του Επεξεργαστή 8088 Παρ όλα αυτά, οι δύο μικροεπεξεργαστές (8086 και 8088) διαθέτουν την ίδια Μονάδα Εκτέλεσης (EU) με αποτέλεσμα να αναγνωρίζουν και εκτελούν το ίδιο σετ εντολών. Έτσι, τα Εργαστήριο Μικροϋπολογιστών Σελίδα 22

προγράμματα που είναι γραμμένα για τον μ/ε 8086, εκτελούνται τρέχουν και στον 8088, χωρίς καμία αλλαγή. 3.3. Η ΛΕΙΤΟΥΡΓΙΑ ΤΗΣ CPU Η ανεξάρτητη λειτουργία των μονάδων EU και BIU αποτελεί ένα ιδιαίτερο χαρακτηριστικό του 8086/88 που, εκτός των άλλων, συμβάλει καθοριστικά στην αύξηση της συνολικής ταχύτητας του συστήματος, καθώς οι διαδικασίες (κύκλοι) μεταφοράς των δεδομένων από τη μνήμη (fetch) και εκτέλεσης των εντολών (execute) μπορούν να συντελούνται ταυτόχρονα. Έτσι, τη στιγμή που η EU εκτελεί μια εντολή, η BIU μπορεί να μεταφέρει (διαβάζει) από τη μνήμη την επόμενη εντολή (ή τις επόμενες εντολές), την οποία (ή τις οποίες) και τοποθετεί στην Ουρά των Εντολών (Instruction Queue), εξασφαλίζοντας την αδιάλειπτη παροχή δεδομένων και εκμηδενίζοντας το χρόνο αδράνειας της EU. Αξίζει να σημειωθεί ότι η εν λόγω καινοτομία άλλαξε δραστικά την ακολουθούμενη σχεδίαση και αρχιτεκτονική, καθιερώνοντας τον 8086/88 ως τον πρώτο μιας γενιάς μικροεπεξεργαστών (8086/88 family). BIU Fetch Fetch Fetch Fetch Fetch Fetch Read Fetch Fetch Fetch Fetch Fetch Time Wait Execute Execute Execute Execute Wait Execute Execute Execute Wait Execute Σχ.3.3. Η Παράλληλη Λειτουργία των EU & BIU στον μ/ε 8086/88 Διακρίνονται τρεις περιπτώσεις κατά τις οποίες είναι δυνατό να τεθεί η CPU σε κατάσταση αναμονής: Όταν μια εντολή απαιτεί προσπέλαση σε θέση μνήμης που δεν έχει διαβαστεί από την BIU. Στην περίπτωση αυτή, η BIU σταματάει τη μεταφορά των εντολών και μεταφέρει (από τη μνήμη) το δεδομένο που χρειάζεται η EU. Κατόπιν, η διαδικασία συνεχίζεται κανονικά, με την BIU να μεταφέρει τις επόμενες εντολές από τη μνήμη και την EU να τις εκτελεί. Όταν εκτελείται εντολή άλματος (JUMP) οπότε και ο έλεγχος μεταφέρεται σε άλλο σημείο του προγράμματος. Στην περίπτωση αυτή η BIU πρέπει να ακυρώσει τις εντολές που είχε μεταφέρει, και να αρχίσει από την αρχή να γεμίζει την ουρά εντολών (Instruction Queue) με δεδομένα που διαβάζει από τις νέες θέσεις μνήμης. Όταν η EU εκτελεί μια πολύ αργή στην εκτέλεση εντολή, με αποτέλεσμα να γεμίζει η ουρά των εντολών (Instruction Queue). Στην περίπτωση αυτή η BIU πρέπει να σταματήσει τη μεταφορά των δεδομένων από τη μνήμη, περιμένοντας την EU να τραβήξει από την ουρά τη νέα εντολή δημιουργώντας κενό χώρο. Εργαστήριο Μικροϋπολογιστών Σελίδα 23

3.4. ΟΙ ΚΑΤΑΧΩΡΗΤΕΣ ΤΗΣ CPU Ο μικροεπεξεργαστής 8086/88 είναι εφοδιασμένος με ένα σύνολο κατάλληλων καταχωρητών (registers) που χρησιμοποιούνται προκειμένου να διευκολύνουν τις διάφορες εσωτερικές του λειτουργίες. Οι καταχωρητές αυτοί χαρακτηρίζονται από μέγεθος χωρητικότητα 16 bit και διακρίνονται σε κατηγορίες ανάλογα με το είδος της εργασίας για την οποία προορίζονται. 3.4.1. Καταχωρητές Δεδομένων (Data Registers) Οι Καταχωρητές Δεδομένων (Data Registers) διαθέτουν χωρητικότητα 16 bit και διακρίνονται σε AX (Accumulator), BC (Base), CX (Counter), DX (Data). Καθένας από αυτούς τους καταχωρητές διακρίνεται σε δυο επιμέρους τμήματα, το τμήμα Low, δηλαδή τα 8 λιγότερο σημαντικά bit και το τμήμα High, δηλαδή τα 8 περισσότερο σημαντικά bit. Βασικό χαρακτηριστικό αποτελεί το γεγονός ότι τα τμήματα αυτά μπορούν να προσπελαστούν και να λειτουργήσουν ανεξάρτητα, σχηματίζοντας έτσι επιμέρους μικρότερους 8 bit καταχωρητές (AL, AH, BL, BH, CL, CH, DL, DH). Οι Καταχωρητές Δεδομένων χρησιμοποιούνται κυρίως για την προσωρινή αποθήκευση αποτελεσμάτων που θα διαχειριστούν επόμενες εντολές. High Low AH (8-bit) BH (8-bit) CH (8-bit) DH (8-bit) AL (8-bit) 15 8 7 0 BL (8-bit) 15 8 7 0 CL (8-bit) 15 8 7 0 DL (8-bit) 15 8 7 0 AX - Accumulator BX - Base CX - Counter DX - Data Data Group Registers Σχ.3.4. Καταχωρητές Δεδομένων 3.4.2. Ομάδα Δεικτών (Pointer & Index Registers) Οι καταχωρητές της Ομάδας των Δεικτών (Pointer & Index Group) διαθέτουν χωρητικότητα 16 bit χωρίς να επιτρέπουν σε καμία περίπτωση οποιαδήποτε τμηματική προσπέλασή τους (στο High ή στο Low τμήμα). Διακρίνονται σε SP (Stack Pointer), BP (Base Pointer), SI (Source Index), DI (Destination Index), IP (Instruction Pointer) και κατά κανόνα χρησιμοποιούνται σαν δείκτες μνήμης (λ.χ. έμμεση διευθυνσιοδότηση). (16-bit) 15 0 (16-bit) 15 0 (16-bit) 15 0 (16-bit) 15 0 (16-bit) 15 0 SP - Stack Pointer BP - Base Pointer SI - Source Index DI - Destination Index IP - Instruction Pointer Pointer & Index Group Registers Σχ.3.5. Καταχωρητές Ομάδας Δεικτών Εργαστήριο Μικροϋπολογιστών Σελίδα 24

Ο καταχωρητής IP (Instruction Pointer) συγκαταλέγεται στην ομάδα των δεικτών, αλλά έχει μια συγκεκριμένη αποστολή, να δείχνει τη θέση μνήμης που περιέχει την αμέσως επόμενη προς εκτέλεση εντολή. Δηλαδή, το περιεχόμενο του IP αντιστοιχεί στη θέση μνήμης που θα διαβάσει η BIU προκειμένου να μεταφέρει την επόμενη εντολή που πρόκειται να εκτελεστεί. Επισημαίνεται πως ο καταχωρητής αυτός ανήκει στην BIU και δεν ελέγχεται άμεσα από το χρήστη όπως συμβαίνει με τους υπόλοιπους καταχωρητές. Οι καταχωρητές της ομάδας δεδομένων (data) μαζί με τους καταχωρητές της ομάδας δεικτών (pointer & index) ονομάζονται καταχωρητές γενικού σκοπού. 3.4.3. Ο Καταχωρητής Κατάστασης (Status ή Flag Register) Ο Καταχωρητής Κατάστασης (Status Register) διαθέτει συνολικά 16 bit και αποτελεί ένα ξεχωριστό τύπο καταχωρητή όπου η κατάσταση του κάθε μεμονωμένου bit έχει μια ιδιαίτερη σημασία, ανάλογα με την τρέχουσα κατάσταση του συστήματος. Δηλαδή, τα bit του συγκεκριμένου καταχωρητή λειτουργούν σαν ενδεικτικές σημαίες (flags) που ανάλογα με την κατάστασή τους (High / Low) μπορούν να περιγράφουν διάφορα αποτελέσματα αλλά και να σηματοδοτούν τον τρόπο εκτέλεσης διαφόρων λειτουργιών του συστήματος. Για το λόγο αυτό, άλλωστε, ο καταχωρητής αυτός συχνά αναφέρεται και ως Flag Register. Τα διάφορα bit του καταχωρητή αυτού και η περιγραφή της σημασιολογίας τους παρουσιάζονται στο σχήμα (Σχ.3.6) και τον Πίνακα 4 αντίστοιχα. FLAG REGISTER X X X X OF DF IF TF SF ZF X AF X PF X CF Bits marked X are undefined Σχ.3.6. Ο Καταχωρητής Κατάστασης (Status Register) Σε γενικές γραμμές, τα bit (flags) αυτού του καταχωρητή διακρίνονται σε δυο κατηγορίες: Στα bit κατάστασης (status flags) τα οποία δείχνουν την κατάσταση της ALU σύμφωνα με την τελευταία λογική ή αριθμητική πράξη και των οποίων η κατάσταση εξαρτάται αποκλειστικά από το αποτέλεσμα της τελευταίας πράξης. Στα bit ελέγχου (control flags) τα οποία χρησιμοποιούνται για τον έλεγχο λειτουργίας εκτέλεσης του μικροεπεξεργαστή και των οποίων η κατάσταση μπορεί να καθοριστεί (0 ή 1) απ ευθείας με αντίστοιχη εντολή. Εργαστήριο Μικροϋπολογιστών Σελίδα 25

3.5. ΠΙΝΑΚΑΣ 4 Bit Position Symbol Name Function 0 CF Carry Flag Set on high order bit carry or borrow, cleared otherwise 2 PF Parity Flag Set if low order 8 bits of result contain an even number of 1 s, cleared otherwise 4 AF Auxiliary Flag Set on carry from or borrow to the low order 4 bits of AL, cleared otherwise 6 ZF Zero Flag Set if result is zero, cleared otherwise 7 SF Sign Flag Set equal to high order bit of result 1=negative) (0 =positive, 8 TF Trap Flag 9 IF Interrupt Enable Flag 10 DF Direction Flag 11 OF Overflow Flag Once set, a single step interrupt occurs after the next instruction executes, TF is cleared by the single step interrupt When set, maskable interrupts will cause the CPU to transfer control to an interrupt vector specified location Causes string instructions to auto decrement the appropriate index register when set, clearing DF causes auto increment Set if the signed result cannot be expressed within the number of bits in the destination operand, cleared otherwise Τα bit κατάστασης (status flags) είναι τα εξής: o CF (Carry Flag). Τίθεται 1 κάθε φορά που μετά από μια αριθμητική (ή λογική) πράξη υπάρχει κρατούμενο. Σε κάθε άλλη περίπτωση είναι 0. o PF (Parity Flag). Τίθεται 1 κάθε φορά που μετά από μια λογική ή αριθμητική πράξη το δυαδικό αποτέλεσμα φέρει περιττό αριθμό από 1. Σε κάθε άλλη περίπτωση είναι 0. o AF (Auxiliary Flag). Τίθεται 1 κάθε φορά που μετά από μια αριθμητική (ή λογική) πράξη υπάρχει κρατούμενο από το bit 3 προς το bit 4. Σε κάθε άλλη περίπτωση είναι 0. Η λειτουργία του συγκεκριμένου flag αποσκοπεί στο να καλύψει θέματα συμβατότητας με συστήματα 4 bit. o ZF (Zero Flag). Τίθεται 1 κάθε φορά που το αποτέλεσμα μιας λογικής ή αριθμητικής πράξης είναι το 0. Όταν το αποτέλεσμα είναι διάφορο του μηδενός, τότε το ZF είναι 0. o SF (Sign Flag). Παρέχει το πρόσημο ενός αποτελέσματος. Στην ουσία είναι ίσο με το σημαντικότερο bit του αποτελέσματος μιας πράξης. Όταν είναι 1, το αποτέλεσμα Εργαστήριο Μικροϋπολογιστών Σελίδα 26