Άλγεβρα Boole...

32
Άλγεβρα Boole και Υλικό Υπολογιστή

Transcript of Άλγεβρα Boole...

Page 1: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Άλγεβρα Boole και ΥλικόΥπολογιστή

Page 2: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

• Άλγεβρα Boole– Η σχέση της άλγεβρας Boole με την δομή τωνυπολογιστών και με τον προγραμματισμό.

• Υλικό υπολογιστή– Οργάνωση Κεντρικής Μονάδας Επεξεργασίας, μνήμη, είσοδος - έξοδος

Page 3: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Άλγεβρα Boole• Η τεχνολογία των υπολογιστών (ολοκληρωμένα κυκλώματα, τρανζίστορ, κ.λπ, υπαγορεύει την χρήση του δυαδικού συστήματοςγια την αναπαράσταση της πληροφορίας με δυο καταστάσεις: {0,1}.

• Η άλγεβρα των λογικών σχέσεων• Ιδιαίτερα χρήσιμη για τον σχεδιασμό και την ανάλυση τωνηλεκτρονικών κυκλωμάτων που υλοποιούν τις λειτουργίες τωνυπολογιστών

• Αναφέρεται σε μεταβλητές που παίρνουν δύο τιμές, {αληθές, ψευδές}, {0,1}, κ.λπ. και ονομάζονται λογικές μεταβλητές.

• Ορίζονται οι τελεστές AND, OR και ΝΟΤ.• Ο ορισμός των παραπάνω σχέσεων και τελεστών γίνεται με βάσητους παρακάτω πίνακες αλήθειας.

Page 4: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Σημασία λογικών τελεστών: Πίνακεςαλήθειας

Πράξη AND

111001010000

A AND Bή AB

BA

Πράξη OR

111101110000

A OR Bή A+B

BA

Πράξη NOT

0110

NOT Aή Ā

A

Page 5: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Λογικές πύλες

Πύλη AND

Πύλη OR

Πύλη NOT

Page 6: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μαθηματικός ορισμός της άλγεβρας Boole

• Η δίτιμη άλγεβρα Boole– ορίζεται σε ένα σύνολο {1,0} – περιέχει τους δυαδικούς τελεστές AND, OR και τονμοναδιαίο τελεστή NOT

• Αντί για A AND B γράφουμε ΑΒ• Αντί για Α ΟR B γράφουμε Α+Β• Αντί για NOT A γράφουμε Α΄ ή Ā

έτσι ώστε για οποιαδήποτε στοιχεία A, B, C ∊ {0,1} να ισχύουν τα παρακάτω αξιώματα:

Page 7: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Αξιώματα άλγεβρας Boole1. Αντιμεταθετικότητα

AB = BA και A+B = B+A2. Προσεταιριστικότητα

(ΑΒ)C = A(BC) και (Α+Β)+C = A + (B+C)3. Επιμεριστικότητα

Α(Β+C) = (AB)+(AC) και A+(BC) = (A+B) (A+C)4. Απορροφητικό στοιχείο

(Α+Β)Α = Α και (AB)+A=A5. Συμπληρώματα

Α + Α' =1 και ΑΑ' = 06. Ουδέτερο στοιχείο

A+0 =A και Α1=Α7. Κλειστότητα του συνόλου {0,1} ως προς τους τελεστές AND, OR, NOT.

Page 8: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Παράδειγμα λογικού κυκλώματοςΜια παράσταση στην άλγεβρα Boole παριστάνεταιαπό ένα κύκλωμα με χρήση λογικών πυλών.

Το παρακάτω κύκλωμα υλοποιεί την λογικήσυνάρτηση F = AB + A 'B '.

Page 9: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Ένα πιο σύνθετο παράδειγμα

ABC’+A’B’+A’BC’ΑΒC

W

Page 10: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Πίνακας αλήθειας λογικής συνάρτησης

• Να βρεθεί ο πίνακας αλήθειας για την παρακάτωλογική συνάρτηση:

W=ABC'+Α΄Β΄+ A'BC'

00000100

A'BC'

00001111A'

00110011B'

01010101C'

01000000

ABC'

00000011

A'B'

01111011010100010110101011001000WCBA

Page 11: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μορφή αθροίσματος γινομένων

0111

1011

1101

0001

1110

0010

0100

1000

WCBA

W = A'B'C' + A’BC + ABC' + AB'C

Για την περιγραφή μιας συνάρτησης σε μορφήαθροίσματος γινομένων με δεδομένο τον πίνακααλήθειας της συνάρτησης:

1. Κάνουμε τον πίνακα αλήθειας σε σχέση με τιςμεταβλητές της παράστασης

2. Για κάθε ‘1’ προσθέτουμε τον αντίστοιχο όρο στηνπαράσταση ως εξής:

1. Προστίθεται η αντίστοιχη μεταβλητή ως έχει ανέχει την τιμή 1

2. Προστίθεται η άρνησή της, αν έχει την τιμή 0 στον πίνακα αλήθειας.

Page 12: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Να γίνει το κύκλωμα της προηγούμενηςδιαφάνειας

• Υλοποίηση της συνάρτησηςW = A'B'C' + A’BC + ABC' + AB'C

A B C

A’B’C’

A’BC

ABC’

AB’C

W

Page 13: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Παράδειγμα: Σχεδίαση αθροιστή• Ένα κύκλωμααθροιστή υλοποιείτην πρόσθεση ενόςbit με κρατούμενο

• Ο πίνακαςαλήθειας δίνεταιστον διπλανόπίνακα

• Χρησιμοποιείται γιατην υλοποίηση τηςπρόσθεσηςαριθμών n bit. Αθροιστής 1 bit

ΧΥΚι-1 Α=Χ+Υ

Κi

Page 14: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Υλοποίηση αθροιστή

• Η συνάρτηση Boole για το άθροισμα είναι– Α = X’Y’Ki-1 + XY’Ki-1’ + XYKi-1’ + XYKi-1

• Η συνάρτηση Boole για το υπόλοιπο είναι– Κi = X’YKi-1 + XY’Ki-1 + X’YKi-1’ + XYKi-1

• Η σχεδίαση του κυκλώματος αφήνεται ωςάσκηση…

Page 15: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Απλοποίηση παράστασης

• Μια έκφραση που πρόκειται να υλοποιηθεί ως ένακύκλωμα είναι σκόπιμο να απλοποιηθεί, καθώς έτσι θαπροκύψουν κυκλώματα με μικρότερο αριθμό πυλών καισυνδέσεων.

• Η απλοποίηση γίνεται– Αλγεβρικά

• Απαιτεί ιδιαίτερη εξοικείωση με την άλγεβρα Boole

– Με χρήση των χαρτών Karnaugh• Εύκολη, σχετικά, τεχνική

Page 16: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Απλοποίηση παράστασης

• Αλγεβρική απλοποίηση: Έστω η παράσταση W=ABC + ABC'. ΙσχύειΑΒC + ABC' = AB(C+C')

= AB1= AB

• Αυτή η τεχνική είναι δύσκολη για σύνθετεςεκφράσεις.

• Εναλλακτική τεχνική: Χάρτες Karnaugh.

Page 17: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Συνδυαστικά και ακολουθιακά κυκλώματα

• Στα συνδυαστικά κυκλώματα η τιμή της εξόδουεξαρτάται από τις τιμές των εισόδων

• Στα ακολουθιακά κυκλώματα η τιμή εξόδουεξαρτάται από τις τιμές των εισόδων καθώς και τιςπροηγούμενες τιμές εισόδου, δηλαδή από τηντρέχουσα κατάσταση του κυκλώματος– Χρονισμός– Τα ακολουθιακά κυκλώματα διαθέτουν μνήμη.– Τέτοια κυκλώματα χρησιμοποιούνται για την υλοποίησητης μνήμης και των καταχωρητών σε ένα υπολογιστικόσύστημα.

Page 18: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Δείτε περισσότερα

• William Stallings, Οργάνωση και ΑρχιτεκτονικήΥπολογιστών, 6η έκδοση, εκδόσεις Τζιόλα, 2003.

• Andrew S. Tanenbaum, Η Αρχιτεκτονική τωνΥπολογιστών, 4η Αμερικανική έκδοση, εκδόσειςΚλειδάριθμος, 2000.

• M. Morris Mano, Ψηφιακή Σχεδίαση, 2η έκδοση, ΕκδόσειςΠαπασωτηρίου,

• http://webster.cs.ucr.edu/AoA/Windows/HTML/DigitalDesign.html

Page 19: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Δομή και λειτουργία ενός απλούυπολογιστή

Page 20: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

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

……

ΔεδομέναΔεδομέναΔεδομένα

……

ΕντολήΕντολήΕντολή……

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

Μονάδα Εισόδου/Εξόδου

PC

IR

Μνήμη Ε/Ε (buffers)

ΒΑALU

Δίαυλος

τουσυστήματος

Page 21: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μελέτη του υλικού ενός απλού, υποθετικού εκπαιδευτικού υπολογιστή

Εκπαιδευτικός υπολογιστής (ΕΚΥ)

http://www.cslab.ntua.gr/courses/csintro/EKY/

Page 22: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Κεντρική Μονάδα Επεξεργασίας ΕΚΥ• Αριθμητική και λογικήμονάδα– Καταχωρητής Α

(συσσωρευτής) (16 bit)– Βοηθητικός καταχωρητής– Εκτέλεση αριθμητικών καιλογικών πράξεων με χρήσηκατάλληλων κυκλωμάτων

• Μονάδα ελέγχου– Μετρητής προγράμματος

(PC) (12 bit)– Καταχωρητής εντολών (IR)

(16 bit)

Το περιεχόμενο του Α σε δεκαδικήαναπαράσταση

Page 23: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μονάδα μνήμης ΕΚΥ• Καταχωρητής δεδομένωνμνήμης – MDR (16 bit)

• Καταχωρητής διευθύνσεωνμνήμης –MAR (12 bit)

• Λειτουργίες– Ανάγνωση (από τον MDR)– Εγγραφή (στον MDR)

• Κάθε φορά διαβάζονται ήεγγράφονται δεδομένα στηδιεύθυνση που είναικαταχωρημένη στονκαταχωρητή διευθύνσεων

Page 24: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μονάδα εισόδου/εξόδου ΕΚΥ

Σε έναν πραγματικόυπολογιστή η μονάδαεισόδου/εξόδου ελέγχεισυσκευές όπως:•Πληκτρολόγιο•Οθόνη•Ποντίκι•…

Page 25: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Λειτουργία ΕΚΥ1. Κύκλος ανάκτησης εντολής

1. Το περιεχόμενο του PC διαβάζεται από τη μνήμη στον IR (μέσω των MAR και MDR)

2. Το περιεχόμενο του PC αυξάνεται κατά 1, ώστε να δείχνει στηνδιεύθυνση της επόμενης εντολής

2. Κύκλος εκτέλεσης εντολήςΗ εντολή που βρίσκεται στον IR αποκωδικοποιείται και

στη συνέχεια εκτελείται

Κατά τη φάση εκτέλεσης είναι δυνατόν να ξαναδιαβαστεί η μνήμηγια τη λήψη πρόσθετων δεδομένων.

Page 26: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Συμβολική γλώσσα του ΕΚΥ

• Κάθε υπολογιστής εκτελεί εντολές. • Οι εντολές δίνονται στον υπολογιστή:

– απευθείας σε δυαδική (ή δεκαεξαδική) αναπαράσταση: γλώσσα μηχανής ή

– σε κατάλληλη μορφή κειμένου η οποία είναι δυνατόν ναμεταφραστεί άμεσα σε γλώσσα μηχανής (συμβολικήγλώσσα – assembly).

• Μια εντολή του ΕΚΥ παριστάνεται με μια λέξη τουυπολογιστή, με 16 bit.

Page 27: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Μορφή εντολής ΕΚΥ

Page 28: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Εντολές αναφοράς στη μνήμη• LDA XXX Κωδικός εντολής: 0001

– Μεταφορά στον συσσωρευτή του περιεχομένου της θέσης μνήμης ΧΧΧ• STA XXX Κωδικός εντολής: 0010

– Μεταφορά του περιεχομένου του συσσωρευτή στη θέση μνήμης ΧΧΧ• ADA XXX Κωδικός εντολής: 0011

– Πρόσθεση στον συσσωρευτή του περιεχομένου της θέσης μνήμης ΧΧΧ• SBA XXX Κωδικός εντολής: 0100

– Αφαίρεση από τον συσσωρευτή του περιεχομένου της θέσης μνήμης ΧΧΧ• MLA XXX Κωδικός εντολής: 0101

– Πολ/μός του περιεχομένου του συσσωρευτή με το περιεχόμενο της θέσης μνήμης ΧΧΧ• DVA ΧΧΧ Κωδικός εντολής: 0110

– Ακέραια διαίρεση του περιεχομένου του συσσωρευτή με το περιεχόμενο της θέσηςμνήμης ΧΧΧ. Το υπόλοιπο αγνοείται

Page 29: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Παράδειγμα

1001000000001100

Η παραπάνω εντολή σε συμβολική μορφή (assembly) αναπαρίσταται ως

ΑDA 9

Και σημαίνει: πρόσθεσε στον συσσωρευτή το περιεχόμενο της θέσης μνήμης 9. Έστω ότι μετά τη φάση ανάκλησης ο IR περιέχει την παραπάνω εντολή. Η φάση

εκτέλεσης, μετά την αποκωδικοποίηση της εντολής, περιλαμβάνει τα παρακάτωβήματα:1. Δώσε στον MAR την τιμή 92. Αντίγραψε το περιεχόμενο της θέσης μνήμης 9 στον MDR3. Αντίγραψε το περιεχόμενο του MDR στον βοηθητικό καταχωρητή4. Πρόσθεσε το περιεχόμενο του βοηθητικού καταχωρητή στον συσσωρευτή

Page 30: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

Πρόγραμμα σε γλώσσα μηχανής στημνήμη του ΕΚΥ

Page 31: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

μνήμηςΠεριεχόμενα

Εντολή(assembly)

Θέσημνήμης

765

0000010000110001

987

206105

4000000000000hlt3000000000111sta2000000000110ada1000000000101lda0

Page 32: Άλγεβρα Boole καιΥλικό Υπολογιστή · PDF fileΆλγεβραBoole • Ητεχνολογίατωνυπολογιστών(ολοκληρωμένακυκλώματα,

• Περισσότερα για τη δομή και τη λειτουργία τουΕΚΥ δείτε στοhttp://www.cslab.ntua.gr/courses/csintro/files/eky-assembly-2005.pdf