Ελίνα Μακρή elmak@unipi.gr
Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D, T, SR, JK)
Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D, T, SR, JK)
Πράξεις στα Αριθμητικά Συστήματα
Αναπαράσταση Ακέραιων Αριθμών Προσημασμένο Μέτρο Πρόσημο Αριθμός 1 bit n-1 bits n bits όπου n είναι το μήκος λέξης και συνήθως είναι πολλαπλάσιο του 8. Συμπλήρωμα ως προς 1 Το συμπλήρωμα ως προς 1 ενός δυαδικού αριθμού προκύπτει αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1. Συμπλήρωμα ως προς 2 Το συμπλήρωμα ως προς 2 ενός δυαδικού αριθμού προκύπτει αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1 και στη συνέχεια να προσθέσουμε μια μονάδα.
Αναπαράσταση Ακέραιων Αριθμών
Αναπαράσταση Ακέραιων Αριθμών Αναπαράσταση Αριθμού: Μέτρο ΜΕΤΡΟ Αριθμός προς Αναπαράσταση + 13-13 Αναπαράσταση Αριθμού 1101 1101 Μέτρο Αριθμού (απόλυτη τιμή) 13 13 Τρόπος Υπολογισμού Όταν μας ζητείται να βρούμε το μέτρο ενός αριθμού δεν μας ενδιαφέρει το πρόσημο. Υπολογίζουμε την δυαδική αναπαράσταση του αριθμού όπως ξέρουμε.
Αναπαράσταση Ακέραιων Αριθμών Αναπαράσταση Αριθμού: Προσημασμένο Μέτρο ΠΡΟΣΗΜΑΣΜΕΝΟ ΜΕΤΡΟ Αριθμός προς Αναπαράσταση + 13-13 Αναπαράσταση Αριθμού 01101 11101 Τρόπος Υπολογισμού Όταν μας ζητείται να βρούμε το προσημασμένο μέτρο ενός θετικού ή αρνητικού αριθμού βρίσκουμε το μέτρο του αριθμού σαν να μην υπήρχε το πρόσημο. Στη συνέχεια, αν ο αριθμός είναι θετικός προσθέτουμε στα αριστερά του αριθμού μηδέν, ενώ αν ο αριθμός είναι αρνητικός προσθέτουμε στα αριστερά του αριθμού τη μονάδα. Επεκτείνοντας τον αριθμό, δηλώνουμε ότι ο αριθμός είναι θετικός ή αρνητικός αντίστοιχα για κάθε περίπτωση.
Αναπαράσταση Ακέραιων Αριθμών Αναπαράσταση Αριθμού: Συμπλήρωμα ως προς 1 ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 1 Αριθμός προς Αναπαράσταση Αναπαράσταση Αριθμού Τρόπος Υπολογισμού + 13-13 01101 01101 10010 Όταν μας ζητείται να βρούμε το συμπλήρωμα ως προς 1 ενός θετικού αριθμού βρίσκουμε το μέτρο του αριθμού. Στη συνέχεια, επειδή ο αριθμός είναι θετικός προσθέτουμε στα αριστερά του αριθμού μηδέν. Αυτό συμβαίνει γιατί οι θετικοί αριθμοί είναι ίδιοι σε όλες τις αναπαραστάσεις αριθμών (αυτό φαίνεται και στο πινακάκι της διαφάνειας 6 πιο πριν). (Προσημασμένος Θετικός Αριθμός: +13) 10010 (Συμπλήρωμα ως προς 1) Όταν μας ζητείται να βρούμε το συμπλήρωμα ως προς 1 ενός αρνητικού αριθμού αρχικά βρίσκουμε το προσημασμένο μέτρο του θετικού αριθμού του (+13). Στη συνέχεια, θα πρέπει να συμπληρώσουμε ως προς 1 τον προσημασμένο θετικό αριθμό που βρήκαμε, δηλαδή να αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1. Ο αριθμός που προέκυψε είναι αρνητικός επειδή έχει μπροστά τη μονάδα. Αυτό συμβαίνει γιατί οι αρνητικοί αριθμοί δεν είναι ίδιοι σε όλες τις αναπαραστάσεις αριθμών και θα πρέπει να τους υπολογίσουμε (αυτό φαίνεται και στο πινακάκι της διαφάνειας 6 πιο πριν).
Αναπαράσταση Ακέραιων Αριθμών Αναπαράσταση Αριθμού: Συμπλήρωμα ως προς 2 ΣΥΜΠΛΗΡΩΜΑ ΩΣ ΠΡΟΣ 2 Αριθμός προς Αναπαράσταση Αναπαράσταση Αριθμού Τρόπος Υπολογισμού + 13-13 01101 01101 10010 1 Όταν μας ζητείται να βρούμε το συμπλήρωμα ως προς 2 ενός θετικού αριθμού βρίσκουμε το μέτρο του αριθμού. Στη συνέχεια, επειδή ο αριθμός είναι θετικός προσθέτουμε στα αριστερά του αριθμού μηδέν. Αυτό συμβαίνει γιατί οι θετικοί αριθμοί είναι ίδιοι σε όλες τις αναπαραστάσεις αριθμών (αυτό φαίνεται και στο πινακάκι της διαφάνειας 6 πιο πριν). (Προσημασμένος Θετικός Αριθμός: +13) 10011 10011 (Συμπλήρωμα ως προς 2) Όταν μας ζητείται να βρούμε το συμπλήρωμα ως προς 2 ενός αρνητικού αριθμού αρχικά βρίσκουμε το προσημασμένο μέτρο του θετικού αριθμού του (+13). Στη συνέχεια, θα πρέπει να συμπληρώσουμε ως προς 2 τον προσημασμένο θετικό αριθμό που βρήκαμε, δηλαδή να αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1 και να προσθέσουμε μια μονάδα. Ο αριθμός που προέκυψε είναι αρνητικός επειδή έχει μπροστά τη μονάδα. Αυτό συμβαίνει γιατί οι αρνητικοί αριθμοί δεν είναι ίδιοι σε όλες τις αναπαραστάσεις αριθμών και θα πρέπει να τους υπολογίσουμε (αυτό φαίνεται και στο πινακάκι της διαφάνειας 6 πιο πριν).
Πρόσθεση στο Δυαδικό Σύστημα Τα ψηφία στο δυαδικό σύστημα είναι 2 (0,1). Επομένως, υπάρχουν 2*2=4 πιθανοί συνδυασμοί πρόσθεσης στο δυαδικό σύστημα: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Στην τελευταία περίπτωση το «1» είναι το κρατούμενο εξόδου.
Πρόσθεση στο Δυαδικό Σύστημα Αν οι αριθμοί που θέλουμε να προσθέσουμε έχουν διαφορετικό μήκος, εισάγουμε μηδενικά στο αριστερό μέρος του αριθμού με το μικρότερο μήκος. Παράδειγμα Αν έχουμε να εκτελέσουμε την πράξη [111010] 2 + [11011] 2, θα γράψουμε τον δεύτερο αριθμό ως εξής: [011011] 2.
Πρόσθεση στο Δυαδικό Σύστημα Παράδειγμα 1 1011 1001 10100 Παράδειγμα 2 101010 001011 110101 κρατούμενο εξόδου
Πρόσθεση στο Δυαδικό Σύστημα Άσκηση 1 Άσκηση 2 101 010??? 101 001???
Πρόσθεση στο Δυαδικό Σύστημα Άσκηση 1 Λύση Άσκηση 2 - Λύση 101 010 111 101 001 110
Άσκηση 3 Να βρεθεί το παρακάτω άθροισμα και το αποτέλεσμα να είναι εκφρασμένο στο οκταδικό σύστημα: [4] 10 + [3] 8
Άσκηση 3 Λύση Να υπολογιστεί το άθροισμα [4] 10 + [3] 8 στο οκταδικό σύστημα. Για να γίνει η πράξη πρέπει οι αριθμοί να μετατραπούν στο ίδιο σύστημα, γιατί ο ένας είναι στο δεκαδικό και ο άλλος στο οκταδικό. Η μετατροπή θα γίνει μέσω του δυαδικού συστήματος. Μετατροπή του δεκαδικού αριθμού [4] 10 στο δυαδικό σύστημα: Αριθμός Διαίρεση Πηλίκο Υπόλοιπο Χ 4 Διαιρούμε με το 2 (4/2) 2 0 0 2 Διαιρούμε με το 2 (2/2) 1 0 00 1 Διαιρούμε με το 2 (1/2) 0 1 100 0 [4] 10 = [100] 2
Άσκηση 3 Λύση Μετατροπή του οκταδικού αριθμού [3] 8 στο δυαδικό σύστημα: [3] 8 3 011 [011] 2
Άσκηση 3 Λύση Η πρόσθεση θα γίνει στο δυαδικό σύστημα και στη συνέχεια θα γίνει η μετατροπή στο οκταδικό εφόσον θέλουμε το αποτέλεσμα να είναι εκφρασμένο σε αυτό. 100 011 111 Άρα στο δυαδικό σύστημα έχουμε: [100] 2 + [011] 2 = [111] 2
Άσκηση 3 Λύση Μετατροπή του αποτελέσματος στο οκταδικό σύστημα. [111] 2 111 Άρα το αποτέλεσμα στο οκταδικό σύστημα είναι [4] 10 + [3] 8 = [7] 8 7 [7] 8
Άσκηση 4 1. Να μετατραπούν οι αριθμοί της παρακάτω πρόσθεσης από το δεκαδικό σύστημα στο δυαδικό σύστημα. [4,25] 10 + [3] 10 2. Να εκτελέσετε την πρόσθεση, χρησιμοποιώντας τους δυαδικούς αριθμούς που βρήκατε στο ερώτημα 1. Το αποτέλεσμα της πρόσθεσης θα πρέπει να είναι εκφρασμένο στο δυαδικό σύστημα.
Άσκηση 4 Ερώτημα 1 Λύση Μετατροπή του δεκαδικού αριθμού [4,25] 10 στο δυαδικό σύστημα (β=2): Χωρίζουμε τον παραπάνω δεκαδικό αριθμό σε ακέραιο και κλασματικό μέρος και υπολογίζουμε αντίστοιχα τους δυαδικούς αριθμούς για το κάθε μέρος: 4,25 = 4 + 0,25 Ακέραιο Μέρος: Μετατροπή του δεκαδικού αριθμού [4] 10 στο δυαδικό σύστημα (β=2): Αριθμός Διαίρεση Πηλίκο Υπόλοιπο Χ 4 Διαιρούμε με το 2 (4/2) 2 0 0 2 Διαιρούμε με το 2 (2/2) 1 0 00 1 Διαιρούμε με το 2 (1/2) 0 1 100 0 [4] 10 = [100] 2
Άσκηση 4 Ερώτημα 1 Λύση Κλασματικό Μέρος: Μετατροπή του δεκαδικού αριθμού [0,25] 10 στο δυαδικό σύστημα (β=2): Αριθμός Πολλαπλασιασμός Ακέραιο Μέρος Ο αριθμός που θέλουμε να υπολογίσουμε είναι το [4,25] 10. Άρα προσθέτουμε τους δυαδικούς αριθμούς που βρήκαμε: [4] 10 100,00 [0,25] 10 000,01 [4,25] 10 100,01 Κλασματικό Μέρος 0,25 Πολ/με με το 2 (0,25*2=0,5) 0 0, 5 0,0 0,5 Πολ/με με το 2 (0,5*2=1) 1 0 0,01 0 [0,25] 10 = [0,01] 2 Υ
Άσκηση 4 Ερώτημα 1 Λύση Ακέραιο Μέρος: Μετατροπή του δεκαδικού αριθμού [3] 10 στο δυαδικό σύστημα (β=2): Αριθμός Διαίρεση Πηλίκο Υπόλοιπο Χ 3 Διαιρούμε με το 2 (3/2) 1 1 1 1 Διαιρούμε με το 2 (1/2) 0 1 11 0 [3] 10 = [11] 2 Αποτέλεσμα: [4,25] 10 => [100,01] 2 [3] 10 => [11] 2
Άσκηση 4 Ερώτημα 2 Λύση Χρησιμοποιώντας τους δυαδικούς αριθμούς που υπολογίσαμε στο ερώτημα 1, τους προσθέτουμε. Εφόσον, θέλουμε το αποτέλεσμα να είναι εκφρασμένο στο δυαδικό σύστημα, κάνουμε την πρόσθεση στο δυαδικό: 100,01 011,00 111,01 Το αποτέλεσμα της πρόσθεσης είναι: [111,01] 2
Αφαίρεση στο Δυαδικό Σύστημα Η αφαίρεση δυο δυαδικών αριθμών μετατρέπεται σε πρόσθεση. Αυτό γίνεται χρησιμοποιώντας συμπληρώματα: Συμπλήρωμα ως προς 1: Χρησιμοποιείται σαν ενδιάμεσο στάδιο για να υπολογίσουμε το συμπλήρωμα ως προς 2. Συμπλήρωμα ως προς 2
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 1 Το συμπλήρωμα ως προς 1 ενός δυαδικού αριθμού προκύπτει αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1. Παράδειγμα Υπολογισμός των δυαδικών αριθμών με χρήση συμπληρώματος ως προς 1: Α = [1010100] 2 [0101011] 2 Β = [1000011] 2 [0111100] 2
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Το συμπλήρωμα ως προς 2 ενός δυαδικού αριθμού προκύπτει αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0 και όλα τα 0 με 1 και στη συνέχεια να προσθέσουμε μια μονάδα. Παράδειγμα 1 Έστω οτι θέλουμε να αφαιρέσουμε τους δυαδικούς αριθμούς Α-Β: Συμπλήρωμα ως Α = [1010100]2 προς 1 του Β Β = [1000011]2 Αναπαράσταση του Β = [0111100]2 + 1 = [0111101]2 Το κρατούμενο εξόδου της θέσης του bit προσήμου απορρίπτεται!!! 1010100 0111101 10010001 0010001 Συμπλήρωμα ως προς 2 του Β Άρα το αποτέλεσμα είναι [0010001]2
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Παράδειγμα 2 Έστω οτι θέλουμε να αφαιρέσουμε τους δυαδικούς αριθμούς Α-Β: Α = [1000011] 2 Συμπλήρωμα ως προς 1 του Β Β = [1010100] 2 Αναπαράσταση του Β = [0101011] 2 + 1 = [0101100] 2 Κρατούμενο εξόδου ΔΕΝ υπάρχει!!! 1000011 0101100 1101111 Συμπλήρωμα ως προς 2 του Β Άρα το αποτέλεσμα είναι [1101111] 2
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Παράδειγμα 2 - Συνέχεια Για να βρούμε το μέτρο του [1101111] 2 πρέπει να το υπολογίσουμε μέσω του συμπληρώματος ως προς 2: Γ = [1101111] 2 Συμπλήρωμα ως προς 1 του Γ = [0010000] 2 Προσθέτουμε στο συμπλήρωμα τη μονάδα: 0010000 1 0010001 Άρα το αποτέλεσμα είναι αρνητικός αριθμός και το μέτρο του αριθμού είναι [0010001] 2.
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Άσκηση 1 Να εκτελεστεί η αφαίρεση των αριθμών 7-5 (=7+(-5)) χρησιμοποιώντας την αναπαράσταση του συμπληρώματος ως προς 2 με παραστάσεις αριθμών 8 bits. Α Β = 7-5 = 7 + (-5) =???
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Άσκηση 1 - Λύση Να εκτελεστεί η αφαίρεση των αριθμών 7-5 (=7+(-5)) χρησιμοποιώντας την αναπαράσταση του συμπληρώματος ως προς 2 με παραστάσεις αριθμών 8 bits: Συμπλήρωμα ως Α = 7 = [00000111]2 προς 1 του 5 Β = 5 = [00000101]2 Αναπαράσταση του Β = -5 = [11111010]2 + 1 = [11111011]2 Το κρατούμενο εξόδου της θέσης του bit προσήμου απορρίπτεται!!! 00000111 11111011 100000010 00000010 Συμπλήρωμα ως προς 2 του Β Άρα το αποτέλεσμα είναι [00000010]2
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Άσκηση 2 Να εκτελεστεί η αφαίρεση των αριθμών 5-7 (=5+(-7)) χρησιμοποιώντας την αναπαράσταση του συμπληρώματος ως προς 2 με παραστάσεις αριθμών 4 bits. Α Β = 5-7 = 5 + (-7) =???
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Άσκηση 2 - Λύση Να εκτελεστεί η αφαίρεση των αριθμών 5-7 (=5+(-7)) χρησιμοποιώντας την αναπαράσταση του συμπληρώματος ως προς 2 με παραστάσεις αριθμών 4 bits: Α = 5 = [0101] 2 Β = 7 = [0111] 2 Αναπαράσταση του Β = -7 = [1000] 2 + 1 = [1001] 2 Συμπλήρωμα ως προς 1 του 7 Κρατούμενο εξόδου ΔΕΝ υπάρχει!!! 0101 1001 1110 Συμπλήρωμα ως προς 2 του Β 1110
Αφαίρεση στο Δυαδικό Σύστημα Χρήση Συμπληρώματος ως προς 2 Άσκηση 2 Λύση - Συνέχεια Για να βρούμε το μέτρο του [1110] 2 πρέπει να το υπολογίσουμε μέσω του συμπληρώματος ως προς 2: Γ = [1110] 2 Συμπλήρωμα ως προς 1 του Γ = [0001] 2 Προσθέτουμε στο συμπλήρωμα τη μονάδα: 0001 1 0010 Άρα το αποτέλεσμα είναι αρνητικός αριθμός και το μέτρο του αριθμού είναι [0010] 2.
Υπερχείλιση (Overflow) Χρήση Συμπληρώματος ως προς 2 Στην εκτέλεση των πράξεων χρειάζεται προσοχή όταν το αποτέλεσμα της πράξης (πρόσθεση ομόσημων αριθμών) είναι πολύ μεγάλο και δεν μπορεί να παρασταθεί με το πλήθος των bits που έχουμε στη διάθεση μας. Τότε λέμε ότι η πράξη προκάλεσε υπερχείλιση (overflow). Παράδειγμα: (-3) 1101 (+5) 0101 (-7) 1001 (+4) 0100 (-10) 1 0110 (+9) 1001 αγνοείται +6-3 (και όχι το -10) (και όχι το +9) Συμπλήρωμα ως προς 2 του αποτελέσματος για να δούμε ποιος αριθμός προκύπτει: 0110+1=0111 (+7) Άρα υπερχείλιση έχουμε όταν προσθέτουμε 2 ομόσημους αριθμούς και το αποτέλεσμα έχει διαφορετικό πρόσημο.
Σχεδίαση Ψηφιακών Κυκλωμάτων
Αξιώματα
Θεωρήματα
Άσκηση 1 Να απλοποιήσετε τις λογικές συναρτήσεις: 1. AB C + A BC + BC 2. AB C + AB C + ABC 3. AB C + AC + ABC
Άσκηση 1 - Λύσεις Άσκηση 1.1 Λύση Συνάρτηση Αξίωμα/Θεώρημα AB C + A BC + BC = Επιμεριστική Ιδιότητα AB C + (A + 1) BC = A + 1 = 1 AB C + BC = Επιμεριστική Ιδιότητα (AB + B) C = AB + B = A + B (A + B) C = Επιμεριστική Ιδιότητα AC + BC
Άσκηση 1 - Λύσεις Άσκηση 1.2 Λύση Συνάρτηση AB C + AB C + ABC = AB C + ABC = Α (B C + BC ) = Α (Β C) Αξίωμα/Θεώρημα AB C + AB C = AB C Επιμεριστική Ιδιότητα Β C = XOR
Άσκηση 1 - Λύσεις Άσκηση 1.3 Λύση Συνάρτηση Αξίωμα/Θεώρημα AB C + AC + ABC = Επιμεριστική Ιδιότητα (B + 1) AC + ABC = B + 1 = 1 AC + ABC = Επιμεριστική Ιδιότητα A (C + BC ) = C + BC = C + B A (C + B) = Επιμεριστική Ιδιότητα AC + AB