Επισκέπτρια Επίκουρη Καθηγήτρια ΗΜΥ 100: Εισαγωγή στην Τεχνολογία Διάλεξη 15 Εισαγωγή στα Ψηφιακά Συστήματα: Μέρος Α 30 Οκτωβρίου, 2003 Χρυσάνθη Πρέζα, D.Sc. Επισκέπτρια Επίκουρη Καθηγήτρια TΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ
Περίληψη Ανακοινώσεις Εισαγωγή στα Ψηφιακά Συστήματα Ψηφιακή Αναπαράσταση Πληροφορίας Δυαδικό Αριθμητικό Σύστημα Δυαδική Αριθμητική Προσημασμένοι Δυαδικοί Αριθμοί Κώδικας ASCII
Ανακοινώσεις Διαβάστε το email σας για βοήθεια με την συνάρτηση stepfun στην άσκηση 6.1 Υπενθύμιση: Η ΚΟ6 πρέπει να παραδοθεί την Δευτέρα 3/11/03 Ενημερωτικό δελτίο τμήματος Πρόσκληση για φοιτητικές συνεισφορές Το τμήμα ΗΜΜΥ μετακόμισε στον τέταρτο όροφο του Πράσινου Άλσου
Μετατροπή Σήματος Ένα αναλογικό σήμα μπορεί να μετατραπεί σε ένα ψηφιακό σήμα Αναλογικόψηφιακός μετατροπέας (A/D converter) Δειγματολήπτης Κβαντιστής A/D converter
Ψηφιακή Επεξεργασία Σημάτων A/D D/A Σύστημα Ψηφιακής Επεξεργασίας Το αναλογικό σήμα μετατρέπεται σε ψηφιακό σήμα Το ψηφιακό σήμα επεξεργάζεται με ένα ψηφιακό σύστημα Το επεξεργασμένο ψηφιακό σήμα μετατρέπεται σε αναλογικό σήμα
Αναπαράσταση Ψηφιακών Σημάτων Δυαδικό ψηφίο AO: Binary digit = bit 0 (LOW ή FALSE) 1 (HIGH ή TRUE) Οι τιμές ενός ψηφιακού σήματος μπορούν να αναπαριστούν με σειρά δυαδικών ψηφίων Στα ψηφιακά συστήματα, τα δυαδικά ψηφία αναπαριστούνται από σήματα ηλεκτρικής τάσης και ρεύματος. t ύψος 000 001 010 011 100
Αναπαράσταση Δυαδικών Ψηφίων Οι δύο δυαδικές τιμές (HIGH, LOW) ενός ψηφιακού σήματος αναπαριστάνονται από διαστήματα (ranges) τιμών τάσεως. Output Ranges: HIGH: 4.0 .. 5.5 V LOW: -0.5 .. 1.0 V Input Ranges: HIGH: 3.0 .. 5.5 V LOW: -0.5 .. 2.0 V HIGH (“1”): αν η τάση είναι μεγαλύτερη από ένα επίπεδο LOW (“0”): αν η τάση είναι μικρότερη από ένα χαμηλό επίπεδο
Αριθμητικά Συστήματα Αναπαράσταση αριθμών Βασίζονται πάνω σε μία “βάση” Μπορούμε να κάνουμε μετατροπή από μία βάση σε άλλη Για κάθε σύστημα υπάρχουν αριθμητικές πράξεις, όπως πρόσθεση, αφαίρεση, και πολλαπλασιασμός
Δεκαδικό Σύστημα Βάση = 10 Χρησιμοποιεί 10 ψηφία: 0, 1, … , 9 Η τιμή ενός ψηφίου εξαρτάται από την θέση που έχει το ψηφίο μέσα στον αριθμό (251,3)10 = 2102 + 5101 + 1100 + 310-1
Αριθμητικά Συστήματα – Γενικά “βάση” = r Αριθμός ψηφίων = r Η τιμή του αριθμού N = An-1 An-2 … A1 A0 . A-1 A-2 … A-m+1 A-m υπολογίζεται N = An-1 r n-1 + An-2r n-2 +… + A1r + A0 + A-1 r -1 + A-2r -2 +… + A-m r -m Most Significant Bit (MSB) Least Significant Bit (LSB)
Δυαδικό Σύστημα Βάση = 2 Χρησιμοποιεί 2 ψηφία: 0 και 1 Παραδείγματα (101101,10)2 = 125 + 024 + 123 + 122 +021 + 120 + 12-1 + 02-2 (δεκαδικό) = 32 + 0 + 8 + 4 + 0 + 1 + 0,5 + 0 = (45,5)10
Δυαδικό Σύστημα (1001,011)2 = 123 + 022 + 021 + 120 + 02-1 + 12-2 + 12-3 (δεκαδικό) = 8 + 1 + 0,25 + 0,125 = (9,375)10 Μετατροπή από το δυαδικό στο δεκαδικό σύστημα και αντίστροφα Το δυαδικό σύστημα χρησιμοποιείται από ψηφιακά συστήματα
Δυνάμεις του δύο Απομνημονεύστε μέχρι 216
Δυαδική Μέτρηση 0 0 1 1 Δυαδικός αριθμός με 3 ψηφία 2 10 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 Δυαδικός αριθμός με 3 ψηφία μπορούμε να αναπαραστήσουμε 8 δεκαδικούς αριθμούς: 0 – 710 Δυαδικός αριθμός με 4 ψηφία μπορούμε να αναπαραστήσουμε 16 δεκαδικούς αριθμούς: 0 – 1510 Δυαδικός αριθμός με 8 ψηφία μπορούμε να αναπαραστήσουμε 256 δεκαδικούς αριθμούς: 0 – 25510 …
Από Δεκαδικό σε Δυαδικό Αριθμό Για ένα δεκαδικό αριθμό Ν: i = 0. Νi = N. Βρες τον μεγαλύτερο αριθμό Κ = 2n που είναι δύναμη του 2 και είναι μικρότερος από το Νi. Βάλε 1 στο ψηφίο An Ni+1= Νi – Κ i = i + 1 Αν Νi = 0 σταμάτα, αλλιώς επανάλαβε από το βήμα 1 Συμπλήρωσε τα υπόλοιπα στοιχεία με 0.
Από Δεκαδικό σε Δυαδικό Αριθμό π.χ. N = (717)10 717 – 512 = 205 = N1 512 = 29 205 –128 = 77 = N2 128 = 27 77 – 64 = 13 = N3 64 = 26 13 – 8 = 5 = N4 8 = 23 5 – 4 = 1 = N5 4 = 22 1 – 1 = 0 = N6 1 = 20 (717)10 = 29 + 27 + 26 + 23 + 22 + 20 = ( 1 0 1 1 0 0 1 1 0 1)2 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 MSB LSB
Αλγόριθμος “Διαδοχικής Προσέγγισης ” Αλγόριθμος “Διαδοχικής Προσέγγισης ” V ε [0, Vmax] δεκαδικός αριθμός για μετατροπή M = αριθμός δυαδικών ψηφίων Α = Vmax / 2 και ΔΑ = Vmax / 4 for i = 1 to M if (V >= A) bM-i=1 A = A + ΔΑ else bM-i=0 A = A – ΔΑ end ΔΑ = ΔΑ / 2 το αποτέλεσμα είναι bM-I bM-2 bM-3 … b0 MSB LSB
Από Δεκαδικό σε Δυαδικό Αριθμό Όταν ο αριθμός είναι μικρότερος από το 1 Πολλαπλασίασε με την βάση, κράτα τον ακέραιο αριθμό και προχώρα μέχρι να φτάσεις σε διαφορά 0. π.χ. (0,78125)10 = ( ? )2 0,781252 = 1,5625 ακέραιος = 1 MSB 0,5625 2 = 1,125 ακέραιος = 1 0,125 * 2 = 0,25 ακέραιος = 0 0,25 * 2 = 0,5 ακέραιος = 0 0,5 * 2 = 1,0 ακέραιος = 1 LSB (0,78125)10 = (0,11001) 2 σταμάτα
Δυαδική Αριθμητική: Πρόσθεση Ακολούθα τους ίδιους κανόνες όπως με την δεκαδική πρόσθεση, με την διαφορά ότι όταν το άθροισμα είναι 2 τότε υπάρχει κρατούμενο ψηφίο Καινούριοι κανόνες για το κρατούμενο ψηφίο 0+0 = 0κ0 (άθροισμα 0 με κρατούμενο ψηφίο 0) 0+1 = 1+0 = 1κ0 1+1 = 0κ1 1+1+1 = 1κ1 Προσέξτε ότι (1+1)2 = (10)2 Κρατούμενο 1 Αυξητέος Προσθετέος Αποτέλεσμα
Δυαδική Αριθμητική: Αφαίρεση Καινούριοι κανόνες δανεισμού 0-0 = 1-1 = 0δ0 (αποτέλεσμα 0 με δανεισμό 0) 1-0 = 1δ0 0-1 = 1δ1 1-1-1 = 1δ1 Δανεισμός 1 Μειωτέος Αφαιρετέος Αποτέλεσμα
Δυαδική Αριθμητική: Πολλαπλασιασμός Αλγόριθμος “μετατόπισης και πρόσθεσης” όπως στο δεκαδικό σύστημα Επιβεβαίωσε ότι είναι σωστό: 13 * 6 = 78 Πολλαπλασιαστέος 1 Πολλαπλασιαστής (1) (2) (3) (1)+(2)+(3)
Προσημασμένοι Δυαδικοί Αριθμοί -7 = 1111 -6 = 1110 -5 = 1101 -4 = 1100 -3 = 1011 -2 = 1010 -1 = 1001 ; = 1000 0 = 0000 1 = 0001 2 = 0010 3 = 0011 4 = 0100 5 = 0101 6 = 0110 7 = 0111 Πως παριστάνουμε αρνητικούς αριθμούς; πρόσημο και αριθμός: - 7 Μπορεί να γίνει και στο δυαδικό σύστημα με το το πρώτο ψηφίο να καθορίζει το πρόσημο: 0 = θετικό πρόσημο (+) 1 = αρνητικό πρόσημο (-) Παράδειγμα με 4 ψηφία 3 ψηφία ορίζουν την τιμή του αριθμού μεγαλύτερη τιμή είναι 23 -1 = 7 Διάστημα τιμών -7 μέχρι 7 Πρόβλημα: Τι παριστάνει ο αριθμός 1000;
Προσημασμένοι Δυαδικοί Αριθμοί Ο τρόπος που χρησιμοποιείται λέγεται συμπλήρωμα αριθμού ως προς 2 (two’s compliment) (wxyz)2 = w(-23) + x22 +y21 +z20 Το πρώτο ψηφίο είναι το πρόσημο Για ένα δυαδικό αριθμό το two’s compliment βρίσκεται εύκολα: Κανόνας: άλλαξε όλα τα στοιχεία από 0 σε 1 και ανάποδα και μετά πρόσθεσε 1 στον αριθμό Παράδειγμα με 4 ψηφία: 0001 1110 + 1 = (1111)2 = -110 0000 1111 + 1 = 0000 = 0 1000 0111 + 1 = 1000 = - 8 Διάστημα τιμών -8 μέχρι 7 Προσέξετε ότι: -8 + 7 = -1 1000 + 0111 = 1111
Κώδικας ASCII Για την αναπαράσταση γραμμάτων και άλλων συμβόλων σε δυαδικά ψηφία αλφαριθμητικός κώδικας (alphanumeric code) ASCII = American Standard Code for Information Interchange ή Αμερικανικός πρότυπος κώδικας για την ανταλλαγή πληροφοριών Συμπεριλαμβάνει 128 αλφαριθμητικά στοιχεία: 94 στοιχεία που μπορούν να εκτυπωθούν (26 κεφαλαία and 26 μικρά γράμματα, 10 αριθμούς, 32 ειδικά σύμβολα) 34 στοιχεία που δεν μπορούν να εκτυπωθούν (χαρακτήρες που χρησιμοποιούνται στον έλεγχο υπολογιστών) Χρησιμοποιεί 7 δυαδικά ψηφία για την παρουσίαση των 128 αλφαριθμητικών στοιχείων
ASCII Table A6 A5 A4 A3 A2 A1 A0
ASCII με Δυαδικό Ψηφίο Ισοτιμίας Το δυαδικό ψηφίο ισοτιμίας (parity bit) χρησιμοποιείται για την ανίχνευση λαθών σε δεδομένα επικοινωνίας και υπολογισμού Δηλαδή προστίθεται ένα 8ο ψηφίο στον κώδικα ASCII Ζυγή (Περιττή) ισοτιμία: τοποθετείτε το ψηφίο ισοτιμίας έτσι ώστε ο συνολικός αριθμός των ψηφίων που έχουν την τιμή 1 μέσα στον οκταψήφιο κώδικα να είναι ζυγός (περιττός)
ASCII με Δυαδικό Ψηφίο Ισοτιμίας Παράδειγμα: Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με ζυγή ισοτιμία 11011011 Κάνε τον επταψήφιο κώδικα 1011011 σε οκταψήφιο κώδικα με περιττή ισοτιμία 01011011 Και στις δύο περιπτώσεις ο αριθμός των λαθών που μπορεί να ανιχνευθεί είναι περιττός!