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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πράξη AND

111001010000

A AND Bή AB

BA

Πράξη OR

111101110000

A OR Bή A+B

BA

Πράξη NOT

0110

NOT Aή Ā

A

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

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

Πύλη AND

Πύλη OR

Πύλη NOT

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

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

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

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

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

Page 7: Άλγεβρα 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 και Υλικό Υπολογιστή

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

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

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

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

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

W

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

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

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

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

00000100

A'BC'

00001111A'

00110011B'

01010101C'

01000000

ABC'

00000011

A'B'

01111011010100010110101011001000WCBA

Page 11: Άλγεβρα 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 και Υλικό Υπολογιστή

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

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

A B C

A’B’C’

A’BC

ABC’

AB’C

W

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

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

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

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

ΧΥΚι-1 Α=Χ+Υ

Κi

Page 14: Άλγεβρα 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 και Υλικό Υπολογιστή

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

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

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

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

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

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

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

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

= AB1= AB

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

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

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

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

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

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

Page 18: Άλγεβρα 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 και Υλικό Υπολογιστή

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

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

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

……

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

……

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

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

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

PC

IR

Μνήμη Ε/Ε (buffers)

ΒΑALU

Δίαυλος

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

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

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

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

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

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

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

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

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

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

(16 bit)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Παράδειγμα

1001000000001100

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

ΑDA 9

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

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

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

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

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

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

Εντολή(assembly)

Θέσημνήμης

765

0000010000110001

987

206105

4000000000000hlt3000000000111sta2000000000110ada1000000000101lda0

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

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