ΗΜΥ-210: Λογικός Σχεδιασµός Εαρινό Εξάµηνο 2005 Σκοπός του µαθήµατος Λογικός Σχεδιασµός και Σχεδιασµός Η/Υ Κεφάλαιο 1: Υπολογιστές και Πληροφορία (1.1-1.2) Βασικές έννοιες & εργαλεία που χρησιµοποιούνται στον σχεδιασµό ψηφιακού υλικού (από ψηφιακά κυκλώµατα) Επιπρόσθετες έννοιες & εργαλεία που χρησιµοποιούνται στον σχεδιασµό Υπολογιστικών Συστηµάτων Σχεδιασµός Ψηφιακών Συστηµάτων Πανεπιστήµιο Κύπρου Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών MKM - 2 Περίληψη Ψηφιακοί Υπολογιστές Αριθµητικά Συστήµατα Αναπαραστάσεις Μετατροπές Ψηφιακά Συστήµατα Κύρια χαρακτηριστικά επεξεργασία διακριτών στοιχείων πληροφορίας (οποιοδήποτε σύνολο που περιορίζεται σε ένα πεπερασµένο αριθµό στοιχείων) π.χ 10 δεκαδικά ψηφία,, 26 γράµµατα ιακριτά στοιχεία ψηφιακά συστήµατα) µπορούν να αναπαρασταθούν από σήµατα (φυσικές οντότητες). Πιο κοινά σήµατα: ηλεκτρικά (voltage, current) MKM - 3 MKM - 4 Εύρος Τάσης (Voltage( Ranges) Οι 2 δυαδικές τιµές (HIGH, LOW) ενός ψηφιακού σήµατος αναπαρίστανται από εύρος τιµών τάσης Εύρος Εξόδου: HIGH: 4.0.. 5.5 V LOW: -0.5.. 1.0 V Εύρος Εισόδου: HIGH: 3.0.. 5.5 V LOW: -0.5.. 2.0 V Γιατί το εύρος των εισόδων είναι µεγαλύτερο? Για να ληφθεί υπόψη ο θόρυβος εισόδου Αναπαράσταση Πληροφοριών υαδικά σήµατα (2 διακριτές τιµές) 0 και 1 (LOW και HIGH, FALSE και TRUE) υαδική µονάδα: δυαδικό digit/bit Πληροφορίες: σύνολο από bits/words (µεγέθους:: 8, 16, 32, 64, ) Ψηφιακό Υλικό υπολογίζει δυαδικές συναρτήσεις από διάδικους αριθµούς: Συνδυαστικά (χωρίς µνήµη) Ακολουθιακά (µε µνήµη) MKM - 5 MKM - 6 (1.1-1.2) 1
Ελέγχει την ροή πληροφοριών σε όλες τις µονάδες Βασική οµή Η/Υ Αποθηκεύει προγρ., εδοµένα I/O, και ενδιάµεσα δεδοµένα Εκτελεί αριθµητικές και άλλες λειτουργίες επεξεργασίας δεδοµένων Μια πιο λεπτοµερής άποψη Επεξεργαστής: Πολύπλοκο κύκλωµα (αποτελείτε από εκατοµµύρια transistors) Μνήµη FPU CPU External Cache (κρυφή µνήµη - εξωτερική ) Internal Cache MMU RAM (µνήµη τυχαίας προσπέλασης) MKM - 7 MKM - 8 Αριθµητικά Συστήµατα Αναπαράσταση αριθµών Radix: η βάση, είναι η βασική µονάδα µιας οµάδας αριθµών, π.χ. για το δεκαδικό σύστηµα το radix=10 ( βάση βάση 10) Για κάθε σύστηµα χρειαζόµαστε αριθµητικές λειτουργίες (πρόσθεση, αφαίρεση, πολλαπλασιασµός) Ακόµα, µετατροπή από µια βάση σε άλλη Αριθµητικά Συστήµατα - εκαδικό βάση 10 (το( radix είναι 10) 10 ψηφία: : 0...9.9 (251.3) 10 = 2 10 2 + 5 10 1 + 1 1010 0 + 3 10-1 Σηµείωση:. ονοµάζεται η υποδιαστολή για το σύστηµα radix (υποδιαστολή για την βάση 10) MKM - 9 MKM - 10 Αριθµητικά Συστήµατα εκαδικό (συν.) Γενικά, ένας δεκαδικός αριθµός µε n ψηφία αριστερά (πριν) από την υποδιαστολή, και m ψηφία στα δεξιά (µετά) γράφεται ως ακολούθως: A n-1 A n-2 A 1 A 0. A -1 A -2 A -m+1 A -m το A i λέγεται συντελεστής (coefficient) και παίρνει τιµές µεταξύ 0...9,.9, ενώ το i δείχνει το βάρος (την τάξη) (=10 i ) του A i. Αριθµητικά Συστήµατα εκαδικό (συν.) Η τιµή του A n-1 A n-2 A 1 A 0. A -1 A -2 A -m+1 A -m υπολογίζεται από (A i 10 i ) + (A i 10 i ) i=n-1..0 i=-1.. 1..-m MKM - 11 MKM - 12 (1.1-1.2) 2
Αριθµητικά Συστήµατα Γενικά βάση r (radix r) r ψηφία N 10 = A n-1 r n-1 + A n-2 r n-2 + + A 1 r + A 0 + A -1 r -1 + A -2 r -2 + + A -m r -m Περισσότερο Σηµαντικό Ψηφίο (Most Significant Bit -MSB) Λιγότερο Σηµαντικό Ψηφίο (Least Significant Bit - LSB) Αριθµητικά Συστήµατα Γενικά (συν.) r = 6 (312.4) 6 = 3 6 2 + 1 6 1 + 1 6 0 + 4 6-1 = (116.66) 10 Μετατροπή από n-δικό (οποιοδήποτε σύστηµα µε radix n) σε δεκαδικό ακολουθεί παρόµοια διαδικασία όπως πιο πάνω MKM - 13 MKM - 14 Αριθµητικά Συστήµατα (συν.) Τα πιο κοινά αριθµητικά συστήµατα για Η/Υ: υαδικό (r = 2) (Binary) Οκταδικό (r = 8) (Octal) εκαεξαδικό (r = 16) (Hexadecimal) υαδικοί αριθµοί -- βάση 2 Οι Η/Υ αναπαριστούν όλα τα δεδοµένα σαν συµβολοσειρές bits, κάθε bit είναι 0 ή 1 βάση 2, µε 2 ψηφία: : 0 και 1 (101101.10) 2 = 1 2 5 + 0 20 4 + 1 2 3 + 1 2 2 + 0 20 1 + 1 2 0 + 1 2-1 + 0 2-2 δεκαδικό) ) = 32 + 0 + 8 + 4 + 0 + 1 + ½ + 0 = (45.5) 10 MKM - 15 MKM - 16 υαδικοί αριθµοί -- βάση 2 (συν.) υνάµεις του 2 (1001.011) 2 = 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 + 0 2-1 + 1 2-2 + 1 2-3 δεκαδικό) ) = 8 + 1 + 0.25 + 0.125 = (9.375) 10 MKM - 17 MKM - 18 (1.1-1.2) 3
Οκταδικοί αριθµοί (Octal)( - βάση 8 βάση 8, µε 8 ψηφία: : 0..7 (762) 8 = 7 8 2 + 6 86 1 + 2 8 0 δεκαδικό) ) = 448 + 48 + 2 = (498) 10 εκαεξαδικοί αριθµοί (Hex) - βάση 16 r = 16 Ψηφία (σύµβαση): 0..9, A, B, C, D, E, F A=10, B=11,, F = 15 (3FB) 16 = 3 1616 2 + 15 16 16 1 + 11 16 16 0 δεκαδικό) ) = 768 + 240 + 11 = (1019) 10 MKM - 19 MKM - 20 Μετατροπή Βάσεων Όποιαδίποτε βάση r δεκαδικό Εύκολο!! (Το( έχουµε δει, βλέπε διαφάνειες 13-14, 14, 16-17, 17, 19-20) εκαδικό υαδικό Οκταδικό υαδικό εκαεξαδικό υαδικό εκαδικό Όποια βάση r εκαδικό σε υαδικό N είναι ένας δεκαδικός αριθµός. a) Βρείτε τον µεγαλύτερο αριθµό που είναι δύναµη του 2 και όταν αφαιρείται από το N παράγει µια θετική διαφορά N 1 ( Ν = 2 x +Ν1 ) b) Βάλτε 1 στο MSB c) Εκτελέστε αναδροµικά το α), ξεκινώντας από το N 1 και βρίσκοντας την διαφορά N 2, βάζοντας 1 στα bit που αναλογούν στο x και 0 στα υπόλοιπα bit. Σταµάτησε όταν η διαφορά είναι 0. MKM - 21 MKM - 22 εκαδικό σε υαδικό (συν.) e.g. N = (717) 10 717 512 = 205 = N 1 512 = 2 9 (x = 9) 205 128 = 77 = N 2 128 = 2 7 (x = 7) 77 64 = 13 = N 3 64 = 2 6 (x = 6) 13 8 = 5 = N 4 8 = 2 3 (x = 3) 5 4 = 1 = N 5 4 = 2 2 (x = 2) 1 1 = 0 = N 6 1 = 2 0 (x = 0) (717) 10 = 2 9 + 2 7 + 2 6 + 2 3 + 2 2 + 2 0 = ( 1 0 1 1 0 0 1 1 0 1) 2 υαδικό σε Οκταδικό και εκαεξαδικό Οκταδικό: 8 = 2 3 κάθε 3 bits µεταφράζονται σε 1 οκταδικό εκαεξαδικό: 16 = 2 4 κάθε 4 bits µεταφράζονται σε 1 δεκαεξαδικό MKM - 23 MKM - 24 (1.1-1.2) 4
υαδικό Οκταδικό Οκταδικό εκαεξαδικό (011 010 101 000. 111 101 011 100) 2 ( 0110 1010 1000. 1111 0101 1100 ) 2 ( 3 2 5 0. 7 5 3 4 ) 8 ( 6 A 8. F 5 C ) 16 MKM - 25 MKM - 26 Οκταδικό εκαεξαδικό Μέσο δυαδικού! εκαεξαδικό υαδικό Οκταδικό Οκταδικό υαδικό εκαεξαδικό MKM - 27 Μετατροπή εκαδικών σε οποιαδήποτε βάση r Ακέραιο Μέρος: Αναδροµικά, διαιρέστε το ακέραιο µέρος µε την βάση, κρατώντας το υπόλοιπο µέχρι το ακέραιο µέρος να γίνει 0. (153) 10 = (? ) 8, r = 8 153 / 8 = 19 + 1/8 υπόλοιπο = 1 LSB 19 / 8 = 2 + 3/8 υπόλοιπο = 3 2 / 8 = 0 + 2/8 υπόλοιπο = 2 MSB τέλος (153) 10 = ( 231) 8 MKM - 28 Μετατροπή εκαδικών σε οποιαδήποτε βάση r Κλασµατικό Μέρος: Αναδροµικά, πολ/στε το κλασµατικό µέρος µε την βάση κρατώντας το ακέραιο µέρος µέχρι το κλασµατικό µέρος να γίνει 0. (0.78125) 10 = (? ) 16, r = 16 0.78125 16 = 12.5 ακέραιος = 12 = C MSB 0.5 16 = 8.0 ακέραιος = 8 = 8 LSB τέλος (0.78125) 10 = (0.C8) 16 MKM - 29 (1.1-1.2) 5