Παράσταση αριθμών «κινητής υποδιαστολής» floating point Με n bits μπορούμε να παραστήσουμε 2n διαφορετικούς αριθμούς π.χ. με n=32 μπορούμε να παραστήσουμε τους αριθμούς από 0 έως 232= 4,294,967,296 4 δισεκατ., ή από –231= - 2,147,483,648 έως 231-1= 2,147,483,647. Για την παράσταση μεγαλύτερων αριθμών χρησιμοποιείται η μέθοδος της κινητής υποδιαστολής (floating point): Ένας αριθμός R μπορεί να παρασταθεί και ως εξής: R = Μ Β±Ε όπου Μ = μέτρο (mantissa) Β = βάση (base), συνηθως υπονοειται (2, 8, 10, 16...) και Ε = έκθετης (exponent)
Παράσταση αριθμών «κινητής υποδιαστολής» floating point Με n = 32 bits μπορω να εχω την ακολουθη παρασταση οπου S = προσημο, 0=> (+) 1=> (-), Ε = εκθετης μηκους 8 bits, πολωμενος με +127 (παριστανει τιμες απο το –127 =00000000 εως το 128 = 11111111), Μ= μετρο στην μορφη 1.f1f2…f23 οπου fi τα bits στο πεδιο Μ Ο αριθμος που παριστανεται ειναι ο R = (-1)S 2E-127 (1.M) Παραδειγμα: Να παρασταθει ο –3/16 σε μορφη f.p. 3/16 = 0.0011 = 1.1. 2-3 Αρα: S=1, E=-3+127=01111100, M=10…0 => -3/16 = S E M 0 1 8 9 31 01111100 1 100000000000000000000000
Παράσταση αριθμών «κινητής υποδιαστολής» floating point Με την μεθοδο της κινητης υποδιαστολης παριστανονται οι αριθμοι -231 = 2,147,483,648 0 231-1 = 2,147,483,647 -(1-2-24) 2128 -0.5 2-127 0.5 2-127 (1-2-24) 2128 -0.111...111 2128 0.00...01 2-127 0.11...11 2128
Κωδικες ανιχνευσης λαθων Μεταδοση αριθμων κωδικοποιημενων κατα BCD Για την ανιχνευση των απλων σφαλματων προσθετουμε στην κωδικη λεξη BCD ενα bit ισοτιμιας (parity bit) το οποιο υπολογιζεται ετσι ωστε ο συνολικος αριθμος ασσων σε καθε 5 bit κωδικη λεξη να ειναι περιττος (odd parity) Πομπος Καναλι Δεκτης 1 5 3 2 1 5 7 2 0001 0101 0011 0010 0001 0101 0111 0010 Σφαλμα Καναλι 1 5 3 2 1 5 ? 2 00010 01011 00111 00100 00010 01011 01111 00100 bit περιττης ισοτιμιας Σφαλμα
Κωδικες Διορθωσης Λαθων Καναλι d0 d1 d2 d3 P1 P2 P3 Γεννητρια ισοτιμιας δ0 δ1 δ2 δ3 Π1 Π2 Π3 Γεννητρια ισοτιμιας C1 C2 C3 P1 = parity(d0d2d3) P2 = parity(d0d1d3) P3 = parity(d0d1d2) Ci=1 αν Πi Pi
Κωδικες Διορθωσης Λαθων (2) Υπολογισμος των bits ισοτιμιας Pi ODD Parity P1 = parity(d0d2d3) P2 = parity(d0d1d3) P3 = parity(d0d1d2) d1 P2 P3 d0 d2 d3 P1 Αν συμβει λαθος στα: {C1 C2 C3} το σφαλμα ειναι στο bit P1 και P2 1 1 0 δ3 P1 και P3 1 0 1 δ2 P3 και P2 0 1 1 δ1 P1 , P2 και P3 1 1 1 δ0 P1 1 0 0 P1 P2 0 1 0 P2 P3 0 0 1 P3
Κωδικες Διορθωσης Λαθων Καναλι d0 d1 d2 d3 P1 P2 P3 Γεννητρια ισοτιμιας δ0 δ1 1 δ2 0 δ3 0 1 Γεννητρια ισοτιμιας 1 C1 0 1 C2 1 1 C3 1 P1 = parity(d0d2d3) P2 = parity(d0d1d3) P3 = parity(d0d1d2) Ci=1 αν Πi Pi
Διακοπτης δυο καταστασεων x = x = 1 (a) Δυο καταστασεις ενος διακοπτη S x (b) Συμβολο του ελεγχομενου διακοπτη Διακοπτης δυο καταστασεων
Μια λαμπα ελεγχομενη απο ενα διακοπτη S Μπαταρια L Λαμπα Αναβει οταν x=1 x (a) Απλη συνδεση σε μπαταρια L(x) = x S Τροφοδοτικο L x (b) Χρηση της γειωσης για αγωγο επιστροφης Μια λαμπα ελεγχομενη απο ενα διακοπτη
Δυο βασικες συναρτησεις L(x) = x1• x2 S S Τροφοδοτικο x x L Λαμπα Αναβει οταν και το x1 = 1 και το x2 = 1 1 2 (a) Η λογικη συναρτηση AND (εν σειρα συνδεση) S L(x) = x1+ x2 x 1 Τροφοδοτικο L Λαμπα αναβει οταν ενα απο τα xi = 1 ή και τα δυο S x 2 (b) Η λογικη συναρτηση OR (παραλληλη συνδεση) Δυο βασικες συναρτησεις
Μια συνδεση εν σειρα και εν παραλληλω S x 1 S Τροφοδοτικο x L Λαμπα S 3 x 2 L(x) = x3 • ( x1 + x2) Μια συνδεση εν σειρα και εν παραλληλω
Ενα κυκλωμα αντιστροφης (συμπληρωματος) R Τροφοδοτικο Αναβει οταν x=0 x S L L(x) = x Ενα κυκλωμα αντιστροφης (συμπληρωματος)
Ο Πινακας αληθείας για τις συναρτησεις AND και OR
Συναρτησεις AND και OR τριων εισοδων
Οι Βασικες πυλες × × × ¼ × ¼ x x x x x x x x x x (a) AND πυλες x x x x 1 x 2 x 1 x × x x × x × ¼ × x 1 2 1 2 n x 2 x n (a) AND πυλες x 1 x 2 x 1 x + x x + x + ¼ + x x 1 2 1 2 n 2 x n (b) OR πυλες x x Οι Βασικες πυλες (c) NOT πυλη
L(x) = x3 • ( x1 + x2) S x S x L Λαμπα S x Μια συναρτηση OR-AND 1 3 2 f = ( x + x ) × x x 1 2 3 3 Μια συναρτηση OR-AND
(a) Κυκλωμα που υλοποιει την ® ® 1 ® 1 1 ® 1 ® ® x 1 A 1 ® 1 ® ® 1 f ® ® ® 1 B ® 1 ® ® 1 x 2 (a) Κυκλωμα που υλοποιει την f = x + x × x 1 1 2 x 1 2 f , ( ) (b) Πινακας της Ενα λογικο κυκλωμα
Λογικο κυκλωμα 1 x 1 1 x 2 1 A 1 B 1 f χρονος (c) Διαγραμμα χρονισμου 1 x 2 1 A 1 B 1 f χρονος (c) Διαγραμμα χρονισμου ® ® 1 ® 1 1 ® 1 ® ® x 1 1 ® 1 ® ® 1 ® 1 ® ® 1 g x 2 (d) κυκλωμα που υλοποιει την g = x + x 1 2 Λογικο κυκλωμα
ΑΛΓΕΒΡΑ BOOLE Ειναι ενα επαγωγικο μαθηματικο συστημα. Εισηχθη το 1849 απο τον George Boole για την αλγεβρικη περιγραφη λογικων προτασεων και συλλογισμων. Το 1938 (σχεδον 100 χρονια αργοτερα) ο Claude Shannon εδειξε οτι η Αλγεβρα Boole ειναι ενα αποτελεσματικο εργαλειο για την περιγραφη των διακοπτικων κυκλωματων και κατα συνεπειαν και των λογικων κυκλωματων. Η Αλγεβρα Boole ειναι ενα ισχυρο μαθηματικο εργαλειο για την αναλυση και την σχεδιαση των ψηφιακων κυκλωματων. Οπως καθε αλγεβρα η Αλγεβρα Boole βασιζεται σε ενα συνολο κανονων που εξαγονται απο ενα μικρο αριθμο βασικων παραδοχων που ονομαζονται αξιωματα.
ΑΛΓΕΒΡΑ BOOLE (2) Ορισμοι ιδιοτητων πραξεων αλγεβρας με συνολο στοιχειων Α και τελεστες *, + και ´ Κλειστοτητα x,y Α x*y A Προσεταιριστικοτητα (x*y)*z = x*(y*z) = x*y*z Αντιμεταθετικοτητα x*y = y*x Ουδετερο στοιχειο e e*x = x*e = x, x A Αντιστροφο στοιχειο x´ x*x´ = e, x A Επιμεριστικοτητα x*(y+z) =(x*y) + (x*z)
ΑΛΓΕΒΡΑ BOOLE (3) Ορισμος Αλγεβρας BOOLE: > Συνολο στοιχειων Α > Πραξεις +, * > Αξιωματα Huntington (1904) Κλειστη ως προς τις δυο πραξεις + και * 0 = ουδετερο στοιχειο της + => x+0=0+x=x 1 = ουδετερο στοιχειο της * => x*1=1*x=x Αντιμεταθετικες και οι δυο πραξεις: x+y=y+x και x*y=y*x Επιμεριστικοτητα + ως προς * και * ως προς + δηλαδη: x+(y*z) =(x+y)*(x+z) και x*(y+z)=(x*y)+(x*z) Υπαρξη συμπληρωματος στοιχειου: x A x´ x+x´= 1 και x*x´=0 (x´=συμπληρωμα του x) 6. Υπαρχουν δυο τουλαχιστον στοιχεια στο Α (το 0 και το 1)
Διτιμη Αλγεβρα Booloe Αλγεβρα με > Συνολο στοιχειων Α={0,1} Αλγεβρα με > Συνολο στοιχειων Α={0,1} > Συνολο τελεστων {+,*, ´} Ορισμος τελεστων: + 0 1 * 0 1 x x´ 0 0 1 0 0 0 0 1 1 1 0 1 0 1 1 0 OR AND NOT 0 = ουδετερο στοιχειο ως προς + (OR) 1 = ουδετερο στοιχειο ως προς * (AND) Aποδεικνυεται οτι αυτη η αλγεβρα ειναι Αλγεβρα Boole (ικανοποιει τα αξιωματα Huntington)
Βασικα Θεωρηματα Αλγεβρας Boole Δυϊσμος (duality). Αν οι τελεστες και τα ουδετερα στοιχεια εναλλαχθουν σε μια εξισωση της αλγεβρας Boole αυτη παραμενει αληθης. Προκυπτει εκ του οτι τα αξιωματα του Huntington ισχυουν αν γινει αυτη η εναλλαγη. x+x=x Αποδειξη: x+x = (x+x)*1 = (x+x)*(x+x´) = x+(x*x´) = x+0 = x x*x=x x*x = x*x+0 = x*x +x*x´ = x*(x+x´) = x*1 = x x+1=1 x+1 = 1*(x+1) = (x+x´)*(x+1) = x+x´*1=x+x´=1 x*0=0 x*0=0+(x*0)=x*x´+x*0=x*(x´+0)=x*x´=0 (x´)´=x -- x*x´=0 και x+x´=1 εκ της μοναδικοτητας του συμπληρωματος => x = (x´)´
Βασικα Θεωρηματα Αλγεβρας Boole (2) Θεωρημα De Morgan: (x*y)´ = x´ + y´ και (x+y)´ = x´ * y´ Αποδειξη με τον πινακα αληθείας: x y x+y x*y x´ y´ (x+y)´ (x*y)´ x´+ y´ x´*y´ 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 (x´*y´) +(x+y) = x´*y´ +x+y + x´*y = x´*(y´ + y) +x +y = x´+x+y = 1 (x´*y´)*(x+y)= x´*y´*x + x´*y´*y = 0 + 0 =0 Απο τις πιο πανω σχεσεις και απο την μοναδικοτητα του συμπληρωματος προκυπτει οτι (x+y)´ = (x´*y´)
Βασικα Θεωρηματα Αλγεβρας Boole (3) Θεωρημα απορρόφησης: x+x*y =x x+x*y = x*(1+y) =x*1 = x x*(x+y) = x x*(x+y) = x*x + x*y = x+x*y = x x*(x+y) = (x+0)*(x+y) = x+0*y = x+0 = x x+x´*y = x+y x+x´*y = (x+x´)*(x+y) = 1*(x+y) = x+y x´+x*y = x´+y x*y + x*y´= x x*y +x*y´ = x*(y+y´) = x*1 = x a*b+a´*c+b*c = a*b + a´*c a*b+a´*c+b*c = a*b + a´*c + (a+a´)*b*c = a*b + a´*c + a*b*c + a´*b*c = = a*b*(1+c) + a´*c*(1+b) = a*b*1 + a´*c*1 = a*b + a´*c