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

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

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

Transcript

1 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) Μ.Στεφανιδάκης

2 Εκτέλεση πράξεων υπολογιστικό σύστημα ρολόι (clock) μονάδα ελέγχου πρόγραμμα ελέγχου ; Ποιες κατηγορίες πράξεων; Επεξεργασία: ψηφιακά δυαδικά κυκλώματα τμήμα επεξεργασίας δεδομένων δεδομένα εισόδου δεδομένα εξόδου Μνήμη Εκτελούν πράξεις μεταξύ σειρών και οι οποίες αναπαριστούν δυαδικούς αριθμούς Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 2

3 Πράξεις με δυαδικούς αριθμούς Ο υπολογιστής μπορεί να εκτελέσει Λογικές πράξεις (δυαδικής λογικής) Αριθμητικές πράξεις Οι πράξεις εκτελούνται Σε ομάδες bits: δυαδικούς αριθμούς Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 3

4 Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική Δυαδική λογική Η δυαδική λογική ταιριάζει με την τεχνολογία του τρανζίστορ 2 καταστάσεις: ON-OFF, - Ψηφιακά ηλεκτρονικά (2 στάθμες) Δυαδική άλγεβρα Boole Λογική άλγεβρα Συσχέτιση με διακοπτικά κυκλώματα Η εργασία του Shannon (938) C.E.Shannon Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 4

5 Ποσότητες Δυαδικής Λογικής Δυαδική λογική Στη δυαδική λογική άλγεβρα Υπάρχουν 2 ποσότητες (σύμβολα): Αληθές ή ή ΝΑΙ Ψευδές ή ή ΟΧΙ Ένα δυαδικό ψηφίο (bit) έχει τιμή ή Στα ψηφιακά ηλεκτρονικά κυκλώματα: ή χαμηλή τάση ή η μια φορά ρεύματος ή υψηλή τάση ή η άλλη φορά ρεύματος Ανάλογα με την τεχνολογία, ένα bit αναπαρίσταται με αντίστοιχη κατάσταση σε ένα ηλεκτρονικό κύκλωμα Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 5

6 Bits & Bytes Δυαδική λογική Bit H μικρότερη λογική ποσότητα - η μικρότερη μονάδα δεδομένων - ή. Byte Ομάδα 8 bits Η ελάχιστη ποσότητα που μπορεί να χειριστεί ο υπολογιστής κατά την εκτέλεση μιας πράξης Μια σειρά από bytes αναπαριστά έναν δυαδικό αριθμό Αποθήκευση: σε καταχωρητές ή στη μνήμη Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 6

7 Η ανατομία ενός byte Δυαδική λογική το περισσότερο σημαντικό bit το λιγότερο σημαντικό bit bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit bit Γιατί είναι αυτή η σειρά των bits; Γιατί το λιγότερο σημαντικό bit είναι δεξιά και το περισσότερο σημαντικό αριστερά; Θα φανεί όταν μιλήσουμε για αριθμητικές πράξεις Προς το παρόν, το byte είναι απλώς μια οκτάδα bits Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 7

8 Πράξεις Δυαδικής Λογικής Δυαδική λογική Στη δυαδική λογική άλγεβρα Καθορίζονται λογικές πράξεις μεταξύ των λογικών ποσοτήτων και (bits) Στα ψηφιακά ηλεκτρονικά κυκλώματα: Κύκλωμα δέχεται ως είσοδο την ηλεκτρική αναπαράσταση των και Και παράγει στην έξοδό του την ηλεκτρική αναπαράσταση του αποτελέσματος μιας λογικής πράξης Το κύκλωμα υλοποίησης της λογικής πράξης ονομάζεται πύλη (gate). Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 8

9 Λογικές πράξεις με bits Δυαδική λογική είσοδος ( bit) μονομελής πράξη (unary) έξοδος ( bit) είσοδος Α ( bit) είσοδος Β ( bit) διμελής πράξη (binary) έξοδος ( bit) Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 9

10 Λογικές πράξεις με bits Δυαδική λογική Μονομελής λογική πράξη NOT (αντιστροφή) Διμελείς λογικές πράξεις AND (λογικό-και) OR (λογικό-η) XOR (αποκλειστικό-η) Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς

11 Βασικές Λογικές Πράξεις Δυαδική λογική Αντιστροφή (NOT) Αντιστροφή ενός bit είσοδος Α έξοδος ΝΟΤ (Α) ή Α' ή Α A Y πιθανές τιμές εισόδου αντίστοιχες τιμές εξόδου Πίνακας Αλήθειας Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς

12 Πώς υλοποιείται μια πύλη NOT; Δυαδική λογική Από το προηγούμενο μάθημα: πύλη (gate) καταβόθρα πηγή (source) καταβόθρα (drain) πύλη PMOS: άγει όταν στην πύλη εφαρμόζεται n υπόστρωμα (body) n p κανάλι (channel) πηγή σύμβολο NMOS: άγει όταν στην πύλη εφαρμόζεται Το τρανζίστορ NMOSN Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 2

13 Δυαδική Λογική Από το προηγούμενο μάθημα: ποια η λειτουργία του; V+ ( ) A Υ V- ( ) Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 3

14 Η πύλη NOT (αντιστροφέας) Δυαδική Λογική V+ ( ) A Y A Υ = NOT A V- ( ) A NOT A ο κύκλος συμβολίζει την αντιστροφή σύμβολο πύλης NOT Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 4

15 Βασικές Λογικές Πράξεις Δυαδική Λογική Λογικό ΚΑΙ (AND) το αποτέλεσμα είναι, μόνο όταν και το Χ και το Υ είναι AND X = X AND = AND X = X AND = X Πίνακας Αλήθειας X Y AND X Y σύμβολο πύλης AND X AND Y ή X Y Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 5

16 Παράδειγμα υλοποίησης: η πύλη NAND Δυαδική Λογική A B Y A A V+ ( ) B Υ = (AB)! Πίνακας Αλήθειας NAND B NAND = NOT- AND A V- ( ) Υλοποίηση πύλης AND: χρησιμοποι- ώντας μια πύλη NAND και μια πύλη NOT Β Υ σύμβολο πύλης NAND Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 6

17 Φραγή AND: για να θέσουμε σήμα στο Δυαδική Λογική data in AND data out data in control control = : η έξοδος data_out είναι πάντα control = : η έξοδος data_out ισούται με το data_in AND X = AND X = X control data out Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 7

18 Βασικές Λογικές Πράξεις Δυαδική Λογική Λογικό Ή (OR) το αποτέλεσμα είναι, όταν το Χ ή το Υ ή και τα δύο είναι OR X = X OR = OR X = X OR = X Πίνακας Αλήθειας X Y OR X Y σύμβολο πύλης OR X OR Y ή X + Y Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 8

19 Παράδειγμα υλοποίησης: η πύλη NOR Δυαδική Λογική V+ ( ) A B Y A! NOR = NOT-OR Πίνακας Αλήθειας NOR B A B V- ( ) (A+B) Υλοποίηση πύλης OR: χρησιμοποι- ώντας μια πύλη NOR και μια πύλη NOT σύμβολο πύλης NOR Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 9

20 Συγκέντρωση σημάτων με OR Δυαδική Λογική a OR y b OR X = X OR X = a b Προσοχή! Ποτέ δεν συνδέουμε εξόδους πυλών μαζί! y Θα πρέπει ανά πάσα στιγμή όλα τα σήματα πλην ενός να είναι! Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 2

21 Βασικές Λογικές Πράξεις Δυαδική Λογική Αποκλειστικό Ή (XOR) το αποτέλεσμα είναι, όταν μόνο το Χ ή μόνο το Υ είναι XOR X = X XOR = NOT X XOR X = X XOR = X X XOR Y = A B' + A' B X Πίνακας Αλήθειας Y XOR X Y X XOR Y ή X + Y σύμβολο πύλης XOR Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 2

22 Βασικές Λογικές Πράξεις Δυαδική Λογική! Υλοποίηση πύλης XNOR: χρησιμοποιώντας συνδυασμούς άλλων πυλών X xnor Y = XY+X'Y' XNOR: Η συμπληρωματική συνάρτηση της XOR το αποτέλεσμα είναι, όταν τα Χ και Υ είναι όμοια συνάρτηση ισοδυναμίας Πίνακας Αλήθειας X Y XΝOR Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 22

23 Λογικές πράξεις σε ομάδες bits Λογικές Πράξεις Ο υπολογιστής μπορεί να εφαρμόσει λογικές πράξεις στα δεδομένα μας Δεδομένα = σειρές από και Όχι όμως σε μεμονωμένα bits!! Αλλά: σε ομάδες των 8, 6, 32 ή 64 bits ταυτόχρονα A n.. A i.. A 2 A A op (=AND, OR,XOR) B n.. B i.. B 2 B B Y n.. Y i.. Y 2 Y Y Y = A op B i i i Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 23

24 Ο τελεστής NOT σε δυαδικούς αριθμούς Λογικές πράξεις! Η μέθοδος του υλικού (hardware): πολλαπλές ίδιες μονάδες εκτελούν την ίδια λειτουργία παράλληλα NOT H έξοδος Y i εξαρτάται μόνο από την είσοδο A i Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 24

25 Ο τελεστής AND σε δυαδικούς αριθμούς Λογικές πράξεις AND Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 25

26 Ο τελεστής OR σε δυαδικούς αριθμούς Λογικές πράξεις OR Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 26

27 Μάσκες Λογικές Πράξεις Για να αλλάξουμε την τιμή μεμονωμένων bits μέσα σε μια ομάδα Για να θέσουμε επιλεγμένα bits σε Για να θέσουμε επιλεγμένα bits σε Για να αντιστρέψουμε επιλεγμένα bits Χωρίς να επηρεάζουμε τα υπόλοιπα! αυτά διατηρούν την τιμή τους, είτε είτε Μάσκα: σειρά bits, επιλεγμένη ώστε: Bits Εισόδου op Μάσκα Νέα ομάδα bits op = AND, OR ή XOR Νέα ομάδα περιέχει το επιθυμητό αποτέλεσμα Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 27

28 Μάσκα AND: για να θέσουμε bits στο Λογικές πράξεις Ζητούμενο: σε λέξη των 8 bits να τεθούν σε τα 3 λιγότερο σημαντικά bits. Λέξη: AND Μάσκα: Νέα: Η AND μάσκα περιέχει: στα bits που θα γίνουν AND X = AND X = X στα bits που θα παραμείνουν ως έχουν Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 28

29 Μάσκα OR: για να θέσουμε bits στο Λογικές πράξεις Ζητούμενο: σε λέξη των 8 bits να τεθούν σε τα bits,4 και 5. Λέξη: OR Μάσκα: Νέα: Η OR μάσκα περιέχει: στα bits που θα γίνουν OR X = X OR X = στα bits που θα παραμείνουν ως έχουν Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 29

30 Μάσκα XOR: για να αντιστρέψουμε bits Λογικές πράξεις Ζητούμενο: σε λέξη των 8 bits να αντιστραφούν τα bits 3,6 και 7. Λέξη: XOR Μάσκα: Νέα: Η XOR μάσκα περιέχει: στα bits που θα αντιστραφούν στα bits που θα παραμείνουν ως έχουν Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 3

31 Ολίσθηση (Shift) Λογικές πράξεις Ολίσθηση a b c d e f g h a b c d e f g h b c d e f g h αριστερή ολίσθηση a b c d e f g δεξιά ολίσθηση Εισαγωγή στην Επιστήμη των Υπολογιστών Πράξεις με δυαδικούς αριθμούς 3