Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 26-7 Ψηφιακή Λογική και Σχεδίαση (σχεδίαση συνδυαστικών κυκλωμάτων) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης
Το τρανζίστορ MOS(FET) πύλη (gate) πηγή (source) καταβόθρα (drain) n n i p Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. υπόστρωμα (body) κανάλι (channel) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2
Λειτουργία του τρανζίστορ MOS(FET) V+ n - n p V- V+ ; Τι συμβαίνει στο τρανζίστορ PMOS; n ρεύμα n p V- Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 3
Τρανζίστορ NMOS και PMOS NMOS: άγει όταν στην πύλη εφαρμόζεται Περνά ισχυρό i Η πλειοψηφία των σημερινών κυκλωμάτων χρησιμοποιεί και τα δύο είδη τρανζίστορ (τεχνολογία CMOS) PMOS: άγει όταν στην πύλη εφαρμόζεται Περνά ισχυρό σύμβολα Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 4
Ψηφιακά Ηλεκτρονικά: Ιεραρχία σχεδίασης σύστημα σε chip MUX σύνθετο τμήμα λογική πύλη κύκλωμα φυσικό επίπεδο Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 5
Ψηφιακά Ηλεκτρονικά και Δυαδική λογική Η δυαδική λογική ταιριάζει με την τεχνολογία του τρανζίστορ 2 καταστάσεις: ON-OFF, - Ψηφιακά ηλεκτρονικά (2 στάθμες) Δυαδική άλγεβρα oole Λογική άλγεβρα Συσχέτιση με διακοπτικά Η εργασία του Shannon (938) C.E.Shannon Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 6
Άλγεβρα oole: επανάληψη Α + Β (Α OR ) (ή απλά ΑΒ, ND ) Α (NOT ) Α + = Α και Α = Α Α + = και Α = Α + = και Α = Α + = + και Α = +(+C)=(+)+C και (C)=()C Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 7
Άλγεβρα oole: επανάληψη (+C) = ()+(ΑC) και Α+(ΒC) = (+)(+C) (+) = και ( ) = + (DeMorgan) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 8
Απλές λογικές πύλες V+ ( ) είσοδοι Α..Α N Ανύψωση σε (PMOS) έξοδος είσοδοι Α..Α N Καταβύθιση σε (NMOS) Στατική τεχνολογία CMOS V- ( ) Αναστρέφουσες συναρτήσεις NOT, NND, NOR Αξιόπιστη λειτουργία, εύκολη σχεδίαση Όχι πάντα η αποδοτικότερη λύση Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 9
Η πύλη NOT V+ ( ) Y NOT V- ( ) NOT σύμβολο πύλης NOT ο κύκλος συμβολίζει την αντιστροφή Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση
Η πύλη NND Y V+ ( ) () V- ( ) σύμβολο πύλης NND Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση
Η πύλη NOR Y V+ ( ) (+) V- ( ) σύμβολο πύλης NOR Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2
Άλλες λογικές πύλες ND OR XOR Ως συνδυασμός των βασικών πυλών NOT, NND, NOR Υπάρχουν και εναλλακτικές μέθοδοι σχεδίασης! Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 3
Συνδυαστική Λογική Συνδυαστική Λογική είσοδοι Α..Α N Λογικό Μπλοκ (συναρτήσεις) έξοδοι Υ..Υ Μ Μπλοκ λογικών συναρτήσεων Οι έξοδοι εξαρτώνται αποκλειστικά από την τρέχουσα τιμή των εισόδων Δεν υπάρχει μνήμη προηγούμενων καταστάσεων Αλλαγή των εισόδων θα επηρεάσει τις εξόδους μετά από χρονικό διάστημα (καθυστέρηση διάδοσης) Η συνάρτηση που υλοποιεί το μπλοκ μπορεί να εκφραστεί με έναν πίνακα αλήθειας Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 4
Υλοποίηση συναρτήσεων Συνδυαστική Λογική! Πάντοτε προσπαθούμε να απλοποιήσουμε τις συναρτήσεις (πίνακες Karnaugh ή άλλες υπολογιστικές μέθοδοι) Α Β C Y Ελαχιστόροι a b c a b c a bc a bc ab c ab c abc abc Μεγιστόροι a+b+c a+b+c a+b +c a+b +c a +b+c a +b+c a +b +c a +b +c Y = a b c + a bc + abc + abc Y = (a+b+c )(a+b +c)(a +b+c)(a +b+c ) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 5
Βασικά συνδυαστικά τμήματα Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα Αποκωδικοποιητής (decoder)( Ν είσοδοι ενεργοποιούν από 2 Ν εξόδους Πολυπλέκτης (multiplexer)( Ν είσοδοι επιλέγουν από 2 Ν εισόδους Αθροιστής (adder)( Αριθμητική πρόσθεση δυαδικών ψηφίων Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 6
Αποκωδικοποιητής (decoder) Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα ; Α Β Αποκωδικοποιητής (enable) Υ Υ Υ2 Υ3 Υ Υ Υ 2 Υ 3 Πώς υλοποιείται ένας αποκωδικοποιητής; Αποκωδικοποιητής Ν-σε-2 Ν Ν είσοδοι ενεργοποιούν μία από 2 Ν εξόδους Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 7
Πολυπλέκτης (multiplexer) Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα ; C D Πολυπλέκτης S S Y S S Υ C D Πώς υλοποιείται ένας πολυπλέκτης; Πολυπλέκτης 2 Ν γραμμών σε Επιλογή μίας από 2 Ν εισόδους με τη βοήθεια Ν σημάτων ελέγχου Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 8
Ημιαθροιστής (half-adder) Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα άθροισμα (SUM) S C ; κρατούμενο (CRRY) Αν απαιτείται πρόσθεση αριθμών με περισσότερα bits; Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 9
Πλήρης αθροιστής (full-adder) Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα Cin Πλήρης αθροιστής 2 2 Cin S Cout Πλήρης αθροιστής S2 Cout ; Πώς υλοποιείται ένας πλήρης αθροιστής; Πολλαπλά τμήματα πλήρη αθροιστή Όμως: πόσο γρήγορα διαδίδεται το κρατούμενο; (ripple carry) Τεχνικές πρόβλεψης κρατουμένου (carry lookahead) Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2
Πέρα από τη συνδυαστική λογική... Συνδυαστική Λογική Βασικά Συνδυαστικά Τμήματα Στο επόμενο μάθημα... Πώς εισάγω την έννοια της κατάστασης ενός λογικού τμήματος; Που φυλάσσεται η κατάσταση; Πότε ενημερώνεται; Πώς συγχρονίζονται τα διάφορα τμήματα λογικής; Αρχιτεκτονική Υπολογιστών Ψηφιακή Λογική και Σχεδίαση 2