ΗΜΥ 210: Λογικός Σχεδιασμός Νοέμβριος 18 ΗΜΥ-210: Λογικός Σχεδιασμός Εαρινό Εξάμηνο 2005 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 – 1.7) Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Περίληψη Αριθμητικές Λειτουργίες Πρόσθεση Αφαίρεση Πολλαπλασιασμός Δεκαδικοί Κώδικες (BCD, πρόσθεση BCD) Κώδικες Gray Αλφαριθμητικοί Κώδικες (ASCII, Unicode) Bit ισοτιμίας (parity bit) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικές Αριθμητικές Πράξεις: Πρόσθεση Ακολούθησε τους ίδιους κανόνες όπως στην δεκαδική πρόσθεση με την διαφορά ότι όταν το άθροισμα είναι 2 (και όχι 10) έχουμε κρατούμενο Νέοι κανόνες κρατουμένου (carry) 0+0 = 0c0 (άθροισμα 0 με carry 0) 0+1 = 1+0 = 1c0 1+1 = 0c1 1+1+1 = 1c1 Κρατούμενο 1 Προσθετέος 1 Προσθετέος 2 Αποτέλεσμα Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικές Αριθμητικές Πράξεις: Πρόσθεση (συν.) “Ημιάθροισμα” (δεξιότερο bit, π.χ LSB): μόνο 2 bits προσθέτονται, με αποτέλεσμα ένα ψηφίο αθροίσματος και ένα κρατουμένου “Πλήρες Άθροισμα” (υπόλοιπες θέσεις): 3 bits προσθέτονται με αποτέλεσμα ένα άθροισμα (3 ψηφίων) και ένα κρατούμενο Σε μεταγενέστερο στάδιο, θα δούμε πολλές διαφορετικές υλοποιήσεις ημιαθροιστών (half-adders) και αθροιστών (full-adders). Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Υπερχείλιση (Overflow) Εάν το “μέγεθος λέξης μηχανής” (word size) είναι n bits και το αποτέλεσμα του αθροίσματος είναι (n+1) bits, έχουμε “υπερχείλιση” (overflow) το αποτέλεσμα δεν μπορεί να αναπαρασταθεί ορθά (πλήρως) με n bits Υπερχείλιση δεν συμβαίνει ποτέ στην αφαίρεση Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικές Αριθμητικές Πράξεις: Αφαίρεση Νέοι κανόνες δανεικού (borrow) 0-0 = 1-1 = 0b0 (αποτέλεσμα 0 με δανεικό 0) 1-0 = 1b0 0-1 = 1b1 … Δανεικό 1 Μειωτέος Αφαιρετέος Αποτέλεσμα Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Κλειδιά για επιτυχία Να θυμάστε να χρησιμοποιείτε τους αλγόριθμους που χρησιμοποιούσατε για να εκτελέσετε βάση-10 αριθμητικές λειτουργίες. Γενικεύσετε τους για την βάση που χρησιμοποιείτε (οι κανόνες carry, borrow αλλάζουν) Διατηρήστε την βάση! Στο δυαδικό, 1+1=10 Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικές Αριθμητικές Πράξεις: Πολ/σμός Ολίσθησε-και-πρόσθεσε (Shift-και-add) αλγόριθμος, όπως στην βάση 10 Επαλήθευση: 13 * 6 = 78 Πολλ/στής 1 Πολλ/στέος (1) (2) (3) Άθροισμα Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Κώδικες Αναπαράσταση αριθμών (συνόλων) αντιστοιχώντας μία κωδική λέξη (codeword) (μία δυαδική συμβολοσειρά ) για κάθε στοιχείο του συνόλου. n -bit δυαδικός κώδικας: μια ομάδα από n bits που κωδικοποιούν 2 n διακριτά στοιχεία π.χ. Ένα σύνολο από 4 διακριτούς αριθμούς μπορεί να αναπαρασταθεί με κώδικα 2-bit έτσι ώστε κάθε αριθμός του συνόλου να αντιστοιχεί ακριβώς σε ένα συνδυασμό στο σύνολο {00,01,10,11}. Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Κώδικες (συν.) Για την κωδικοποίηση m διακριτών στοιχείων με ένα κώδικα n-bit πρέπει: 2n >= m Σημείωση: Η κωδική λέξη που συσχετίζεται με κάθε αριθμό μπορεί να γίνει κωδικοποιώντας τον αριθμό και όχι με την μετατροπή του αριθμού σε δυαδικό. Θα δούμε: BCD, Gray, ASCII, Unicode Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικά Κωδικοποιημένοι Δεκαδικοί (BCD) Ένας δεκαδικός κώδικας: Δεκαδικοί αριθμοί (0..9) κωδικοποιούνται χρησιμοποιώντας 4-bit διακριτές δυαδικές λέξεις Παρατήρησε ότι οι 1010 .. 1111 (δεκαδικοί 10..15) δεν αναπαρίστανται (άκυρες λέξεις BCD) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Δυαδικά Κωδικοποιημένοι Δεκαδικοί (συν.) Για την κωδικοποίηση αριθμών με n δεκαδικά ψηφία, χρειαζόμαστε 4n bits στο BCD π.χ. (365)10 = (0011 0110 0101)BCD Αυτό είναι διαφορετικό από την μετατροπή σε δυαδικό όπου (365)10 = (101101101)2 Ξεκάθαρα, το BCD χρειάζεται περισσότερα bits. Αλλά είναι πιο εύκολο στην ανάγνωση/ερμηνεία. Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) BCD Πρόσθεση Όταν 2 BCD κωδικοί προστίθενται: Εάν το δυαδικό άθροισμα είναι μικρότερο από 1010 (10 σε δεκαδικό), το αντίστοιχο BCD ψηφίο αθροίσματος είναι ορθό Εάν το δυαδικό άθροισμα είναι ίσο ή μεγαλύτερο από 1010, τότε προσθέτουμε 0110 (6 σε δεκαδικό) στο αντίστοιχο BCD ψηφίο αθροίσματος έτσι ώστε να παραχθεί το σωστό κρατούμενο στο αριστερό ψηφίο Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) BCD Πρόσθεση (συν.) Παράδειγμα: Πρόσθεση 448 & 489 σε BCD. 0100 0100 1000 (448 σε BCD) 0100 1000 1001 (489 σε BCD) 10001 ( > 9, πρόσθεσε 6) 1 0111 (κρατούμενο 1 στο μεσαίο ψηφίο) 1101 ( > 9, πρόσθεσε 6) 1001 1 0011 (κρατούμενο 1 στο αριστερότερο ψηφίο) 1001 0011 0111 (η BCD κωδικοποίηση του 93710) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κώδικας Χαρακτήρων ASCII Χρειαζόμαστε αναπαράσταση γραμμάτων και άλλων συμβόλων αλφαριθμητικοί κωδικοί ASCII = American Standard Code for Information Interchange. Γνωστό σαν «Western European» Περιέχει 128 χαρακτήρες: 94 εκτυπώσιμους ( 26 κεφαλαία και 26 μικρά γράμματα, 10 ψηφία, 32 ειδικά σύμβολα) 34 μη εκτυπώσιμους (για πράξεις ελέγχου) Χρησιμοποιεί δυαδικό κώδικα 7-bit για να αναπαραστήσει κάθε ένα από τους 128 χαρ/ρες. Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Πίνακας ASCII (εκτυπώσιμοι) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Κώδικας Unicode Καθορισμένο Πρότυπο (Established Standard) Αλφαριθμητικός κώδικας 16-bit για διεθνείς σύνολα χαρακτήρων Αφού είναι 16-bit, έχει 65,536 κωδικές λέξεις Αναπαρίσταται από 4 Δεκαεξαδικά (Hex) ψηφία Οι ASCII χαρακτήρες αντιστοιχούν στις τιμές 000016 έως 007B16 Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Πίνακας Unicode (191 πρώτοι χαρακτήρες) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7) Bit ισοτιμίας ASCII Η κωδικοποίηση με ισοτιμία (parity) χρησιμοποιείται για να εντοπίζονται λάθη σε λειτουργίες επικοινωνίας και υπολογισμού δεδομένων Ένα 8ο bit προστίθεται στο 7-bit ΄κώδικα ASCII Άρτια (περιττή) ισοτιμία: όρισε το bit ισοτιμία έτσι ώστε ο # των 1 στην 8-bit λέξη να είναι άρτιος (περιττός) Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)
Bit ισοτιμίας ASCII (συν.) Για παράδειγμα: Μετάτρεψε την 7-bit λέξη 1011011 σε 8-bit λέξη άρτιας ισοτιμίας 11011011 Μετάτρεψε την 7-bit λέξη 1011011 σε 8-bit λέξη περιττής ισοτιμίας 01011011 Και οι 2 κώδικες ισοτιμίας μπορούν να ανιχνεύσουν περιττό αριθμό λαθών. Ένας άρτιος αριθμός λαθών δεν εντοπίζεται. Νοέμβριος 18 Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.3 - 1.7)