ΥΠΟΛΟΓΙΣΤΙΚΆ ΣΥΣΤΉΜΑΤΑ ΨΗΦΙΑΚΉ ΑΝΑΠΑΡΆΣΤΑΣΗ ΠΛΗΡΟΦΟΡΊΑΣ ΔΙΔΆΣΚΟΝΤΕΣ: ΔΡ. ΕΥΓΕΝΊΑ ΑΔΑΜΟΠΟΎΛΟΥ, ΔΡ. ΚΏΣΤΑΣ ΔΕΜΈΣΤΙΧΑΣ ΔΠΜΣ «Τεχνο- Οικονομικά Συστήματα» Τεχνολογία Πληροφορίας και Τηλεπικοινωνιών
Ιστοσελίδα Μαθήματος 2 http://people.cn.ntua.gr/jenny/index.php/courses e-mail επικοινωνίας: eadam@cn.ntua.gr cdemest@cn.ntua.gr
Δομή μαθήματος 3 Αριθμητικά συστήματα αναπαράστασης Παράσταση προσημασμένων αριθμών Λογική σχεδίαση Αρχιτεκτονική Η/Υ Συμβολική γλώσσα Αναπαράσταση Επεξεργασία Πληροφορία Ιεραρχία μνήμης Φυσικά μέσα αποθήκευσης Συστήματα αρχείων Βάσεις δεδομένων Αποθήκευση Μετάδοση Δίκτυα υπολογιστών Πρωτόκολλα επικοινωνίας (στρώμα εφαρμογής, μετάδοσης) Ομότιμα δίκτυα
Ενδεικτική Βιβλιογραφία 4 Γ. Παπακωνσταντίνου, Π. Τσανάκα, Γ. Φραγκάκη, Αρχιτεκτονική Υπολογιστών, εκδ. Συμμετρία Ν. Κοζύρης, Μ. Αθανασάκη, Ε. Αθανασάκη, Σημειώσεις στα Συστήματα Αρίθμησης - Δυαδική Παράσταση Αριθμών, Εισαγωγή στην Επιστήμη των Υπολογιστών
Υπολογιστικό σύστημα 5 Κάθε υπολογιστικό σύστημα αποτελείται από το υλικό (hardware) και το λογισμικό (software) Υλικό: σύνολο των συσκευών που απαρτίζουν το υπολογιστικό σύστημα Λογισμικό: σύνολο των προγραμμάτων που μπορούν να εκτελεσθούν από το υπολογιστικό σύστημα Υπολογιστικό Σύστημα Υλικό Επεξεργαστής, Μνήμες, Δίσκοι, Εκτυπωτές, Οθόνη, Πληκτρολόγιο, Άλλες συσκευές... Λογισμικό Λογισμικό συστήματος, Λογισμικό εφαρμογών
Ιεραρχική οργάνωση των υπολογιστικών συστημάτων 6 6 5 4 3 Επίπεδο προγραμμάτων εφαρμογής (π.χ. Επεξεργαστές κειμένου, Πλοηγοί Ιστού, ΒΔ) Επίπεδο γλωσσών προγραμματισμού υψηλού επιπέδου (π.χ. C, C++, Java) Επίπεδο λειτουργικού συστήματος (Έλεγχος εκτέλεσης προγράμματος, Έλεγχος λειτουργιών Εισόδου/Εξόδου) Επίπεδο γλώσσας μηχανής (Ανάκληση εκτέλεση γλώσσας μηχανής) 2 Επίπεδο μικρολειτουργιών (Μικρολειτουργίες, Μικροπρογραμματισμός) 1 Επίπεδο πυλών (Καταχωρητές, Μνήμες, Ελεγκτές)
Ολοκληρωμένα κυκλώματα 7 Τη δεκαετία του 1950 δύο ανακαλύψεις έδωσαν σπουδαία ώθηση στην ηλεκτρονική και έφεραν την επανάσταση στο χώρο των υπολογιστικών συστημάτων Η αντικατάσταση της λυχνίας κενού (που είχαν μεγάλο μέγεθος και υπερθερμαίνονταν κατά τη λειτουργία) από την κρυσταλλοτρίοδο (τρανζίστορ) Στοιχείο ηλεκτρονικού κυκλώματος κατασκευασμένο από ημιαγώγιμο υλικό, που μπορεί να χρησιμοποιηθεί ως ηλεκτρονικός ενισχυτής ή διακόπτης) Η κατασκευή ολοκληρωμένων κυκλωμάτων (integrated circuits), που αντικατέστησε τη μέθοδο των κολλήσεων δίνοντας λύση στον τρόπο διασύνδεσης των τρανζίστορ μεταξύ τους Συλλογές από κρυσταλλοδιόδους, κρυσταλλοτριόδους, πυκνωτές, αντιστάτες, κ.λπ., καθώς και οι συνδέσεις αυτών, κατασκευασμένες επί ενός μικρού τεμαχίου ημιαγωγού (π.χ. πυριτίου) διαστάσεων μερικών τετραγωνικών χιλιοστών Η όλη κατασκευή τοποθετείται σε μεταλλική ή πλαστική συσκευασία, που ονομάζεται ψηφίδα (chip) Τα στοιχεία των ηλεκτρονικών κυκλωμάτων που περιέχονται στις ψηφίδες συνδυάζονται για να σχηματίσουν πύλες (gates)
8 Ιστορική εξέλιξη των υπολογιστικών συστημάτων Μηχανικοί υπολογιστές Μηχανισμός (αστρολάβος) των Αντικυθήρων (150-100 π.χ.): Μηχανικός υπολογιστής και όργανο αστρονομικών παρατηρήσεων Τεχνολογία οδοντωτών τροχών Αντίστοιχοι μηχανισμοί βρέθηκαν αργότερα στο Βυζάντιο και στον αραβικό κόσμο Pascal (1623-62): Σχεδιαστής μηχανικού υπολογιστή (Pascaline) βασισμένου σε οδοντωτούς τροχούς για την εκτέλεση πρόσθεσης και αφαίρεσης Από τότε αρκετοί επιστήμονες καταπιάστηκαν με την ιδέα της κατασκευής ενός μηχανικού υπολογιστικού συστήματος... Αστρολάβος των Αντικυθήρων Μηχανή Pascal (1623-62) Μηχανή Leibnitz (1646-1716) Μηχανή Babbage (1792-1872) Μηχανή Burroughs (1855-98)
9 Ιστορική εξέλιξη των υπολογιστικών συστημάτων Θεμελιωτές ηλεκτρονικών υπολογιστών Hollerith (1860-1929): Κατασκευή ηλεκτρο- μηχανικού πινακοποιητή βασισμένου στις διάτρητες κάρτες (punched-card tabulator) που λειτουργούσε με ηλεκτρισμό Ίδρυση της IBM Aiken (1900-73): Κατασκευή του Η/Υ Harvard Mark I με χρήση διακοπτών (relays) Οι Eckert και Mauchly κατασκεύασαν το 1946 τον ENIAC, που θεωρείται ο πρώτος Η/Υ, με χρήση 18000 λυχνιών κενού Atanasoff είχε κατασκευάσει έναν παρόμοιο εξειδικευμένο υπολογιστή το 1941 και κατέθεσε μήνυση κατά των κατασκευαστών του ENIAC για την οποία και δικαιώθηκε Von Neumann: Διατύπωσε τις έννοιες του αποθηκευμένου προγράμματος (stored program) και του μετρητή προγράμματος (program counter) (1945) Alan Turing (1912-1954): Μεγάλη συνεισφορά στη θεωρία υπολογισμού και στην τεχνητή νοημοσύνη Προσέδωσε στην άτυπη έννοια του αλγορίθμου μία επίσημη, αυστηρή μαθηματική διατύπωση μέσω της λεγόμενης Μηχανής Turing (πρόκειται για αφηρημένο μοντέλο και όχι πραγματικό υπολογιστή)
Ιστορική εξέλιξη των υπολογιστικών συστημάτων Γενιές 10 1. Συστήματα 1 ης Γενιάς (1946-58) Χρήση ηλεκτρονικών λυχνιών (λυχνίες κενού) Χρήση γλώσσας μηχανής και συμβολικής γλώσσας (assembly) 2. Συστήματα 2 ης Γενιάς (1959-64) Χρήση τρανζίστορ Χρήση γλωσσών προγραμματισμού υψηλού επιπέδου 3. Συστήματα 3 ης Γενιάς (1965-71) Χρήση ολοκληρωμένων κυκλωμάτων SSI και MSI Χρήση γλωσσών προγραμματισμού υψηλού επιπέδου 4. Συστήματα 4 ης Γενιάς (1971- ) Χρήση ολοκληρωμένων κυκλωμάτων LSI, VLSI και ανώτερης κλίμακας Εμφάνιση προσωπικών υπολογιστών (PC) Εμφάνιση λειτουργικών συστημάτων μεγάλων δυνατοτήτων και εύχρηστων εφαρμογών
Διάκριση ολοκληρωμένων κυκλωμάτων 11 Πλήθος τρανζίστορ Κλίμακα ολοκλήρωσης 2-50 Small SSI Ακρωνύμιο Παράδειγμα 50-5.000 Medium MSI CDC-7600, IBM 360/91, Illiac IV 5.000-100.000 Large LSI Intel 8086 (29.000) 100.000-10 εκ. Very Large VLSI Pentium (3 εκ.) 10 εκ. 1.000 εκ. Ultra Large ULSI Pentium III (30 εκ.) 1.000 εκ. Super Large SLSI 6core i7 (Gulftown), 8core AMD Bulldozer 8core AMD Jaguar 3 ης γενιάς υπ. συστ. 4 ης γενιάς υπ. συστ.
Μονάδες πληροφορίας 12 Στο σύνολο των σύγχρονων υπολογιστών η βασική μονάδα πληροφορίας είναι το δυαδικό ψηφίο (binary digit, bit) Για την παράστασή της χρησιμοποιούνται δίτιμα στοιχεία (transistors, μαγνητικοί δακτύλιοι, κτλ.) Η μνήμη κάθε υπολογιστή είναι οργανωμένη σε λέξεις (words), δηλαδή ομάδες των n bits. Το μήκος n κάθε λέξης καθορίζεται από οικονομικούς και τεχνολογικούς παράγοντες.
Τύποι πληροφοριών 13 Πληροφορίες Εντολές Δεδομένα Διευθύνσεις Αριθμοί Χαρακτήρες Σταθερής υποδιαστολής Κινητής υποδιαστολής
Αριθμητικά Συστήματα 14 Κάθε αριθμός Ν μπορεί να γραφεί με τη μορφή όπου ακέραιο μέρος κλασματικό μέρος β η βάση του αριθμητικού συστήματος στην οποία εκφράζεται ο αριθμός α i τα ψηφία του αριθμού, με 0 α i <β m το πλήθος ψηφίων του ακέραιου μέρους n το πλήθος ψηφίων του κλασματικού μέρους
Αριθμητικά Συστήματα - Παράδειγμα 15 Ο δεκαδικός αριθμός 12,624 γράφεται ως 1 10 1 + 2 10 0 +6 10-1 + 2 10-2 + 4 10-3 δηλαδή α 1 = 1, α 0 = 2, α - 1 = 6, α - 2 = 2, α - 3 = 4 Ο δεκαδικός αριθμός 13 γράφεται στο δυαδικό σύστημα ως 1101 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 8+4+0+1 = 13 Το πιο αριστερό ψηφίο του αριθμού ονομάζεται MSB (Most Significant Bit) γιατί πολλαπλασιάζεται με το μεγαλύτερο συντελεστή Το δεξιότερο ψηφίο του αριθμού ονομάζεται LSB (Least Significant Bit) γιατί πολλαπλασιάζεται με το χαμηλότερο συντελεστή
Πλήθος αναπαραστώμενων αριθμών 16 Ένα αριθμητικό σύστημα με βάση β χρειάζεται β διαφορετικά ψηφία που παίρνουν τιμές από 0 έως β- 1 Ερ.: Πόσες διαφορετικές τιμές μπορεί να πάρει ένας φυσικός αριθμός με m ψηφία στο σύστημα αυτό; Απ.: Μπορεί να πάρει β m διαφορετικές τιμές, από 0 έως β m -1
Επιλογή συστήματος 17 Όπως είδαμε, σε ένα αριθμητικό σύστημα με βάση β στο οποίο διατίθενται m ψηφία υπάρχει η δυνατότητα για την παράσταση β m αριθμών Δεδομένου ότι για κάθε ψηφίο απαιτούνται β σύμβολα ο δείκτης Ε = m. β ορίζει ένα μέτρο για την «αποτελεσματικότητα» της αποθήκευσης. Έτσι προκύπτει το πρόβλημα της ελαχιστοποίησης του Ε, με τον περιορισμό ότι το πλήθος Α των αριθμών που μπορούν να αναπαρασταθούν είναι σταθερό δηλαδή Α = β m = σταθερό Έτσι έχουμε m = lna/lnβ και αντικαθιστώντας στον ορισμό του Ε παίρνουμε Ε = βlna/lnβ Παραγωγίζοντας την προηγούμενη σχέση καταλήγουμε εύκολα στο συμπέρασμα ότι η αποτελεσματικότητα Ε παίρνει την ελάχιστη τιμή όταν β=e=2.17 Δεδομένου ότι β ακέραιος, συμπεραίνουμε ότι η βάση β=3 οδηγεί σε ελαφρώς αποτελεσματικότερη αποθήκευση από ό,τι η βάση β=2 (3/ln3 < 2/ln2) Για τεχνολογικούς λόγους όμως, καθώς υπάρχουν εύκολα υλοποιήσιμα στοιχεία δύο καταστάσεων, έχει επικρατήσει το δυαδικό σύστημα σε όλα σχεδόν τα υπολογιστικά συστήματα
Συνηθέστερα αριθμητικά συστήματα 18 Δεκαδικό σύστημα (β=10) Δυαδικό σύστημα (β=2) 426 (10) = 426D = 4*10 2 + 2*10 1 + 6*10 0 Οκταδικό σύστημα (β=8) 426 (8) = 426O = 4*8 2 + 2*8 1 + 6*8 0 = 278 (10) 426 (16) = 426H = 0x426 = 4*16 2 + 2*16 1 + 6*16 0 = 1062 (10) Δεκαεξαδικό σύστημα (β=16) 0 5 0 0 4 0 8 1 6 1 1 5 1 9 2 7 2 6 2 Α 3 8 3 7 3 Β 4 9 4 C 5 D 6 E 7 F
Μετατροπή αριθμών από ένα σύστημα στο δεκαδικό 19 Η μετατροπή ενός αριθμού από ένα αριθμητικό σύστημα με βάση β στο δεκαδικό σύστημα είναι, όπως είδαμε πολύ απλή, καθώς υπολογίζουμε την τιμή της παράστασης 11001 (2) = 1 2 4 + 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 = 25 (10) 112,32 (8) = 1 8 2 + 1 8 1 + 2 8 0 + 3 8-1 + 2 8-2 = 72,40625 (10)
Μετατροπή αριθμών από το δεκαδικό σε ένα σύστημα με βάση β 20 Αρχή Α = Ακέραιο μέρος του Ν i = 0 α i = υπόλοιπο διαίρεσης Α/β Α = πηλίκο i = i+1 Μετατροπή αριθμού Ν σε σύστημα με βάση β, χρησιμοποιώντας m και n ψηφία για το ακέραιο και το κλασματικό μέρος αντίστοιχα Αρχή Κ = Κλασματικό μέρος του Ν i = - 1 α i = ακέραιο μέρος του (β επί Κ) Κ = κλασματικό μέρος του( β επί Κ) i = i- 1 ΟΧΙ i = m ΝΑΙ ΟΧΙ i = - n-1 ΝΑΙ Τέλος Τέλος
Παράδειγμα 21 Θέλουμε να μετατρέψουμε τον αριθμό Ν (10) = 53,625 στο δυαδικό σύστημα Επειδή 2 5 < 53 < 2 6, το πλήθος m των ψηφίων του ακέραιου μέρους πρέπει να είναι τουλάχιστον 6 Το πλήθος n των ψηφίων του κλασματικού μέρους εξαρτάται από την ακρίβεια που επιθυμούμε Ας θεωρήσουμε εδώ m=6 και n=4 Εργαζόμαστε χωριστά πρώτα για το ακέραιο και κατόπιν για το κλασματικό μέρος
Παράδειγμα Ακέραιο μέρος 22 Α Υ Χ 53 - - Διαιρούμε το 53 με το 2 à 26 1 1 26 - - Διαιρούμε το 26 με το 2 à 13 0 01 13 - - Διαιρούμε το 13 με το 2 à 6 1 101 6 - - Διαιρούμε το 6 με το 2 à 3 0 0101 3 - - Διαιρούμε το 3 με το 2 à 1 1 10101 1 - - Διαιρούμε το 1 με το 2 à 0 1 110101 0 à 53 (10) = 110101 (2)
Παράδειγμα Κλασματικό μέρος 23 0,625 - - Πολλαπλασιάζουμε 0,625x2=1,25 à Ακέραιο μέρος = 1, Κ=0,25 0,25 - - Πολλαπλασιάζουμε 0,25x2=0,5 à Ακέραιο μέρος = 0, Κ=0,5 0,5 - - Πολλαπλασιάζουμε 0,5x2=1 à Ακέραιο μέρος = 1, Κ=0 0 - - Πολλαπλασιάζουμε 0x2=0 à Ακέραιο μέρος = 0, Κ=0 i = -4-1 à 0,625 (10) = 0,1010 (2) 53,625 (10) = 110101,1010 (2) Ερ.: Τι γίνεται όταν σταματάμε τον υπολογισμό μετά από n κλασματικά ψηφία;
24 Μετατροπή από δυαδικό σε δεκαεξαδικό ή οκταδικό & αντίστροφα Πρόκειται για τις πιο εύκολες περιπτώσεις μετατροπών Από δυαδικό σε δεκαεξαδικό: Χωρίζουμε τα ψηφία σε τετράδες, ξεκινώντας από την υποδιαστολή και προχωρώντας προς τα άκρα Συμπληρώνουμε με μηδενικά αν είναι απαραίτητο 0111001011, 110101 à 0001 1100 1011, 1101 0100 1 C B, D 4
Μετατροπή από δυαδικό σε δεκαεξαδικό ή οκταδικό & αντίστροφα 25 Από δεκαεξαδικό σε δυαδικό Αντικαθιστούμε κάθε δεκαεξαδικό ψηφίο με την αντίστοιχη τετράδα δυαδικών ψηφίων 3D8, AE à 0011 1101 1000, 1010 1110 Από δυαδικό σε οκταδικό Παρόμοια με την περίπτωση δυαδικού à δεκαεξαδικό, μόνο που αντί για τετράδες χωρίζουμε σε τριάδες Από οκταδικό σε δυαδικό Αντικαθιστούμε οκταδικό ψηφίο με την αντίστοιχη τριάδα δυαδικών ψηφίων
Πράξεις θετικών ακέραιων αριθμών στο δυαδικό σύστημα 26 x + y = z x - y = z 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 και 1 κρατούμενο για την ανώτερη δυαδική τάξη 0-0 = 0 1-0 = 1 1-1 = 0 0-1 = 1 και δανεικό 1 από την ανώτερη δυαδική τάξη
Πρόσθεση/Αφαίρεση δυαδικών αριθμών 27 x n x n-1 x i x 1 y n y n-1 y i y 1 x i y i K i-1 ή Δ i-1 x i + y i + K i-1 K i x i y i - Δ i-1 Δ i 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1 1 1 1
Παραδείγματα Πρόσθεση 28 46 (10) + 26 (10) = 72 (10) 1 0 1 1 1 0 + + + + + + 0 1 1 0 1 0 1 0 0 1 0 0 0
Παραδείγματα Αφαίρεση 29 38 (10) - 26 (10) = 12 (10) 1 0 0 1 1 0 - - - - - - 0 1 1 0 1 0 0 0 1 1 0 0
Πολλαπλασιασμός - Διαίρεση 30 Ο πολλαπλασιασμός και η διαίρεση μεταξύ θετικών δυαδικών αριθμών γίνεται με διαδοχικές προσθέσεις και αφαιρέσεις αντίστοιχα Πρέπει να σημειωθεί ότι στον πολλαπλασιασμό εκτελούμε κάθε φορά τα επιμέρους αθροίσματα, ώστε να μην προκύπτουν κρατούμενα που πρέπει να μεταφερθούν στις μεθεπόμενες βαθμίδες
Παραδείγματα - Πολλαπλασιασμός 31 20 (10) 10100 X 14 (10) 80 + 20 280 X 1110 00000 + 10100 101000 + 10100 1111000 10100 100011000
Παραδείγματα - Διαίρεση 32 280 (10) 20 (10) 20 14 (10) 80 80 00 100011000 10100 10100 01110 0011110 10100 010100 10100 000000
Παράσταση αριθμών 33 Όπως είδαμε, με n δυαδικά ψηφία μπορούμε να παραστήσουμε 2 n διαφορετικούς αριθμούς Στην περίπτωση που θέλουμε να παραστήσουμε προσημασμένους αριθμούς, τότε εκμεταλλευόμαστε το MSB του αριθμού για να κωδικοποιήσουμε το πρόσημο Αν MSB = 0, τότε ο αριθμός είναι θετικός Αν MSB = 1, τότε ο αριθμός είναι αρνητικός Με τα υπόλοιπα n-1 δυαδικά ψηφία κωδικοποιούμε την απόλυτη τιμή του αριθμού ή αλλιώς το μέτρο του Πρόσημο 1bit Αριθμός n-1 bits
Κωδικοποίηση αρνητικών προσημασμένων αριθμών 34 Υπάρχουν 3 τρόποι για την παράσταση των προσημασμένων αριθμών Η παράσταση μέτρου Η παράσταση συμπληρώματος ως προς 1 Η παράσταση συμπληρώματος ως προς 2
Παράσταση μέτρου 35 Στην παράσταση αυτή το MSB παίρνει την τιμή 0 εάν πρόκειται για θετικό αριθμό και την τιμή 1 αν αντίστοιχα πρόκειται για αρνητικό αριθμό Τα υπόλοιπα n-1 bits χρησιμοποιούνται για την τιμή του αριθμού Μέγιστος αριθμός * : 2 n-1-1 à 0111.11 Ελάχιστος αριθμός: - (2 n-1-1) à 1111 11 Μηδέν: 2 τρόποι: 0000...00 ή 1000...00 Παράδειγμα 28 (10) = 011100 (2) - 28 (10) = 111100 (2) * που μπορεί να παρασταθεί με n bits
Παράσταση συμπληρώματος ως προς 1 36 Στην παράσταση συμπληρώματος ως προς 1 Αν MSB = 0, ο αριθμός είναι θετικός και το μέτρο του δίνεται από τα υπόλοιπα n-1 ψηφία Αν MSB = 1, ο αριθμός είναι αρνητικός και το μέτρο δίνεται από το συμπλήρωμα ως προς 1 των υπολοίπων n-1 ψηφίων του Το συμπλήρωμα ως προς 1 ενός δυαδικού αριθμού βρίσκεται αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0, και όλα τα 0 με 1 1 0 1 1 0 0 0 1 0 0 1 1
Παράσταση συμπληρώματος ως προς 1 37 Μέγιστος αριθμός : 2 n-1-1 à 0111.11 Ελάχιστος αριθμός: - (2 n-1-1) à 1000.00 Μηδέν: 2 τρόποι: 0000...00 ή 1111.11 Όλοι οι μη αρνητικοί (θετικοί και μηδέν) έως 2 n-1-1 παριστάνονται όπως ακριβώς στο σύστημα παράστασης μέτρου Οι αριθμοί από - (2 n-1-1) έως 0 παριστάνονται με το συμπλήρωμα ως προς 1 της απόλυτης τιμής τους!προσοχή: Οι έννοιες «συμπλήρωμα ως προς 1» και «παράσταση συμπληρώματος ως προς 1» είναι διαφορετικές. Το συμπλήρωμα ως προς 1 ενός αριθμού είναι το αποτέλεσμα της αντιστροφής των ψηφίων του. Η παράσταση συμπληρώματος ως προς 1 χρησιμοποιεί το συμπλήρωμα ως προς 1 για να παραστήσει τους αρνητικούς αριθμούς
Παράσταση συμπληρώματος ως προς 1 - Παράδειγμα 38 12 (10) à 001100 Παράσταση συμπληρώματος ως προς 1 του - 12 (10) à 110011
Παράσταση συμπληρώματος ως προς 2 39 Στην παράσταση συμπληρώματος ως προς 2 Αν MSB = 0, ο αριθμός είναι θετικός και το μέτρο του δίνεται από τα υπόλοιπα n-1 ψηφία Αν MSB = 1, ο αριθμός είναι αρνητικός και το μέτρο δίνεται από το συμπλήρωμα ως προς 2 του συνόλου των ψηφίων του Το συμπλήρωμα ως προς 2 ενός δυαδικού αριθμού βρίσκεται αν αντικαταστήσουμε όλα τα 1 του αριθμού με 0, και όλα τα 0 με 1 (συμπλήρωμα ως προς 1) και προσθέσουμε 1
Παράσταση συμπληρώματος ως προς 2 40 1 0 1 1 0 0 0 1 0 0 1 1 1 Μέτρο: 0 1 0 1 0 0 Άρα ο 101100 σε παράσταση συμπληρώματος ως προς 2 παριστά τον αριθμό...
Παράσταση συμπληρώματος ως προς 2 41 Μέγιστος αριθμός : 2 n-1-1 à 0111.11 Ελάχιστος αριθμός: - 2 n-1 à 1000.00 Μηδέν: 1 τρόπος: 0000...00 Όλοι οι μη αρνητικοί (θετικοί και μηδέν) έως 2 n-1-1 παριστάνονται όπως ακριβώς στο σύστημα παράστασης μέτρου Οι αρνητικοί αριθμοί παριστάνονται με το συμπλήρωμα ως προς 2 και των n ψηφίων!με την παράσταση συμπληρώματος ως προς 2 ο ελάχιστος αριθμός που μπορούμε να παραστήσουμε έχει μεγαλύτερη απόλυτη τιμή από τον μέγιστο αριθμό.
Πράξεις προσημασμένων αριθμών 42 Το αλγεβρικό άθροισμα δυο προσημασμένων ακεραίων στη μορφή παραστάσεως συμπληρώματος ως προς 1 ή στη μορφή παραστάσεως συμπληρώματος ως προς 2 βρίσκεται εάν προστεθούν οι παραστάσεις των αριθμών συμπεριλαμβανομένου και του ψηφίου προσήμου. Εάν υπάρξει κρατούμενο από την πρόσθεση των MSB τότε αυτό αγνοείται στην περίπτωση παράστασης συμπληρώματος ως προς 2 προστίθεται στο αποτέλεσμα στην περίπτωση παραστάσεως συμπληρώματος ως προς 1 Το αποτέλεσμα που προκύπτει είναι εκφρασμένο αμέσως στην αντίστοιχη μορφή παραστάσεως συμπληρώματος
Παραδείγματα 43-2 - 5-7 - 4-4 - 8 Παράσταση συμπληρώματος ως προς 1 Παράσταση συμπληρώματος ως προς 2 1101 + 1010 0111 + 1 1000 1011 + 1011 0110 + 1 0111 Αγνοείται Αγνοείται Overflow 1110 + 1011 1 1001 1001 1100 + 1100 1 1000 1000
Περίπτωση υπερχείλισης 44 Προσοχή πρέπει να δίνεται πάντα για το αν το αποτέλεσμα που προκύπτει βρίσκεται εντός της περιοχής των αριθμών που μπορούν να παρασταθούν με δεδομένο μήκος λέξης n και για συγκεκριμένη παράσταση Στην περίπτωση που το πλήθος των bits δεν επαρκεί για την παράσταση του αποτελέσματος μιας πράξης λέμε ότι έχουμε υπερχείλιση (overflow). Οι υπολογιστές διαθέτουν εσωτερικούς μηχανισμούς ώστε να εντοπίζουν τις περιπτώσεις υπερχείλισης
Σύγκριση παραστάσεων 45 Παράσταση μέτρου Πλεονέκτημα: Προκύπτει εύκολα Μειονέκτημα: Δύσκολη εκτέλεση πράξεων Παράσταση συμπληρώματος ως προς 1 Πλεονεκτήματα: Προκύπτει εύκολα - Οι πράξεις μεταξύ των αριθμών γίνονται απευθείας, χωρίς μετατροπή, ανεξάρτητα με το πρόσημο Μειονεκτήματα: Απαιτείται πρόσθεση του κρατούμενου που τυχόν προκύπτει - 2 παραστάσεις για το 0 Παράσταση συμπληρώματος ως προς 2 Πλεονεκτήματα: Αγνοείται το κρατούμενο που τυχόν προκύπτει - Οι πράξεις μεταξύ των αριθμών γίνονται απευθείας, χωρίς μετατροπή, ανεξάρτητα με το πρόσημο 1 παράσταση για το 0 Μειονεκτήματα: Προκύπτει πιο δύσκολα από το συμπλήρωμα ως προς 1
Παράσταση πραγματικών αριθμών 46 Παράσταση σταθερής υποδιαστολής (fixed point) Παράσταση κινητής υποδιαστολής (floating point)
Παράσταση πραγματικών αριθμών - Παράσταση σταθερής υποδιαστολής 47 Παράσταση σταθερής υποδιαστολής (fixed point) Στην παράσταση σταθερής υποδιαστολής θεωρούμε ότι από τα n bits μιας λέξης τα n 1 bits χρησιμοποιούνται για το ακέραιο μέρος του αριθμού και τα υπόλοιπα n 2 bits για το κλασματικό μέρος (n=n 1 +n 2 ) Το πρόσημο του αριθμού θα κωδικοποιείται σαν και τα n ψηφία του αριθμού να παρίσταναν έναν ακέραιο, προσθέτοντας τη μονάδα στο δεξιότερο κλασματικό ψηφίο
Παράσταση σταθερής υποδιαστολής 48 Π.χ.: Έστω ότι έχουμε μήκος λέξης 8 bits από τα οποία 6 bits χρησιμοποιούνται για το ακέραιο και 2 bits για το κλασματικό μέρος, ενώ χρησιμοποιούμε παράσταση συμπληρώματος ως προς 2 για την παράσταση προσημασμένων αριθμών Ο μέγιστος αριθμός που μπορούμε να παραστήσουμε σε αυτήν την περίπτωση είναι ο 011111,11 και είναι ο 31,75 (10) Ο ελάχιστος αριθμός που μπορούμε να παραστήσουμε είναι ο 100000,00 και είναι ο - 32 (10) Οι πλησιέστεροι αριθμοί στο 0 που μπορούμε να παραστήσουμε είναι n ο 000000,01 = 0,25 (10) για τους θετικούς n ο 111111,11 = - 0,25 (10) για τους αρνητικούς Σημαντικό μειονέκτημα της παράστασης σταθερής υποδιαστολής είναι ότι το διάστημα των αριθμών που μπορούν να παρασταθούν είναι σχετικά μικρό
Παράσταση πραγματικών αριθμών - Παράσταση κινητής υποδιαστολής 49 Παράσταση κινητής υποδιαστολής (floating point) Στην παράσταση αυτή ο δυαδικός αριθμός Ν εκφράζεται αρχικά σε εκθετική μορφή ως εξής: Ν = ±σ. 2 ε n Ο αριθμός σ καλείται συντελεστής (mantissa) n Ο αριθμός ε καλείται εκθέτης (exponent) Για την παράσταση των αριθμών αφιερώνονται n 1 ψηφία στον εκθέτη, n 2 ψηφία στο συντελεστή και ένα ψηφίο για το πρόσημο n (n = n 1 + n 2 +1) πρόσημ ο n 1 ψηφία εκθέτη n 2 ψηφία συντελεστή
Παράσταση κινητής υποδιαστολής 50 πρόσημ ο n 1 ψηφία εκθέτη Παράδειγμα: Ο αριθμός 0101,1101 μπορεί να γραφεί ως 0,01011101. 2 0100 1,011101. 2 0010 n 2 ψηφία συντελεστή 0,1011101. 2 0011 με τους συντελεστές και τους εκθέτες να είναι εκφρασμένοι στο δυαδικό σύστημα Το MSB του αριθμού έχει το ρόλο του προσήμου. Αν είναι 0 ο αριθμός είναι θετικός, αλλιώς είναι αρνητικός Ο εκθέτης μπορεί να είναι αρνητικός, οπότε έχει το δικό του πρόσημο
Παράσταση κινητής υποδιαστολής 51 Όπως είδαμε υπάρχουν πολλοί τρόποι για να γραφεί εκθετικά ένας αριθμός Η παράσταση εκείνη για την οποία ισχύει ½ σ<1 ονομάζεται κανονική μορφή Παράδειγμα: Η κανονική μορφή του αριθμού 101,110 είναι 0,101110. 2 011 δηλαδή το ακέραιο μέρος πρέπει να είναι 0 και το πρώτο κλασματικό ψηφίο 1 Η κανονική μορφή είναι επιθυμητή γιατί επιτρέπει την καταγραφή περισσότερων ψηφίων του συντελεστή, αυξάνοντας την ακρίβεια της παράστασης. Επίσης, επιτρέπει την παράσταση με ένα και μοναδικό τρόπο. Ερ:. Ποιος αριθμός δεν έχει κανονική μορφή;
Παράσταση κινητής υποδιαστολής 52 Μπορούμε να χρησιμοποιήσουμε οποιαδήποτε από τις τρεις μεθόδους που μελετήσαμε για τους προσημασμένους ακέραιους. Π.χ. για την παράσταση ενός αρνητικού πραγματικού αριθμού σε παράσταση συμπληρώματος ως προς 1 παίρνουμε το μέτρο του, βρίσκουμε την κανονική του μορφή, γράφουμε τον εκθέτη και το συντελεστή στα αντίστοιχα πεδία και τέλος παίρνουμε συμπλήρωμα ως προς 1 λαμβάνοντας υπόψη και τα n ψηφία
Πράξεις πραγματικών αριθμών 53 Για να προσθέσουμε δύο αριθμούς: 1. Αρχικά τους μετατρέπουμε (με αντίστοιχη ολίσθηση) ώστε να έχουν τον ίδιο εκθέτη Ερ.: Ποιες είναι οι επιπτώσεις της ολίσθησης; 2. Προσθέτουμε τους συντελεστές των αριθμών 3. Γράφουμε το αποτέλεσμα στην κανονική μορφή Προσοχή: Το πλήθος ψηφίων του συντελεστή μένει πάντα σταθερό
Πολλαπλασιασμός Διαίρεση πραγματικών αριθμών 54 Ο πολλαπλασιασμός και η διαίρεση πραγματικών αριθμών κινητής υποδιαστολής γίνονται αρκετά εύκολα Πολλαπλασιασμός Διαίρεση
Ακρίβεια και εύρος 55 Το πλήθος των ψηφίων που χρησιμοποιούνται για το συντελεστή καθορίζει την ακρίβεια παραστάσεως των αριθμών Τον κοντινότερο στο 0 θετικό και τον κοντινότερο στο 0 αρνητικό αριθμό Το πλήθος των ψηφίων που χρησιμοποιούνται για τον εκθέτη καθορίζει το εύρος των αριθμών που μπορούν να παρασταθούν Τον μεγαλύτερο και μικρότερο αριθμό που μπορεί να παρασταθεί
Παράσταση χαρακτήρων 56 Στα υπολογιστικά συστήματα, εκτός από αριθμούς υπάρχει και η ανάγκη παράσταση διάφορων συμβόλων όπως οι αλφαβητικοί χαρακτήρες, τα σημεία στίξης, κτλ. Η αντιστοιχία μεταξύ των προαναφερθέντων συμβόλων με δυαδικά ψηφία καλείται κώδικας Μια ευρέως αποδεκτή αντιστοίχιση χαρακτήρων- δυαδικών ψηφίων (καθορισμένη συνήθως από κάποιο διεθνή οργανισμό πιστοποίησης) ονομάζεται σύνολο χαρακτήρων
Κώδικας ASCII 57 Αρχικά 7 bits
ISO 8859-7 - Ελληνικά 58 8 bits
Unicode 59 Ελληνικά: Από 0x370 έως 0x3CF 16 bits
Άλγεβρα Boole 60 Ορίζεται στο σύνολο Α = {0,1} Οι μεταβλητές παίρνουν μόνο τις τιμές 0 και 1 Αποτελεί τη βάση για το σχεδιασμό λογικών κυκλωμάτων Ισχύουν η σχέση της ισότητας (=) η πράξη λογικό H (OR) (+ ή ) η πράξη λογικό ΚΑΙ (AND) ( ή ) η πράξη της αντιστροφής (NOT) ( ή - )
Αξιώματα και θεωρήματα Άλγεβρας Boole 61 Αξιώματα a+b = b+a, a b = b a a(b+c) = ab+ac (a+b)(a+c) = a+bc 0+a = a, a 1 = a a + a = 1, a a = 0 Θεωρήματα a+1=1, a+0 = a, a 1 = a, a 0 = 0 a+a = a, a a = a (a ) =a (a+b) = a b, (ab) = a + b
Λογικές συναρτήσεις 62 Σε κάθε αληθή λογική πρόταση δίνουμε την τιμή 1 και σε κάθε ψευδή πρόταση την τιμή 0 Ορίζονται λογικές συναρτήσεις f(x 1, x 2, x n ) με x 1, x 2, x n boolean μεταβλητές Α Β Ζ = ΑΒ Ζ = Α+Β Ζ= Α 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0
Πίνακες αληθείας 63 Πίνακας αληθείας ονομάζεται ο πίνακας που περιλαμβάνει όλους τους δυνατούς συνδυασμούς τιμών των μεταβλητών μιας λογικής συνάρτησης και την αντίστοιχη τιμή για κάθε συνδυασμό Συνάρτηση NAND Z = A B +A B+AB A B Z = (AB) 0 0 1 0 1 1 1 0 1 1 1 0
Απλοποίηση λογικών συναρτήσεων 64 Εφαρμογή των θεωρημάτων άλγεβρας Boole Χάρτης Karnaugh Κατασκευάζουμε πίνακα με 2 n τετράγωνα (n ο αριθμός των μεταβλητών της λογικής συνάρτησης) Τοποθετούμε στα τετράγωνα την τιμή της λογικής συνάρτησης για κάθε συνδυασμό μεταβλητών Σχηματίζουμε ομάδες από όσο δυνατόν περισσότερα γειτονικά «1» (ο αριθμός τους πρέπει να είναι δύναμη του 2) Κάθε «1» πρέπει να ληφθεί τουλάχιστον μια φορά
Χάρτης Karnaugh - Παράδειγμα 65 Θέλουμε να απλοποιήσουμε τη συνάρτηση Ζ = f (A,B,C) = A B C +A B+ABC +AC ή αλλιώς
Λογικές πύλες 66 Ηλεκτρονικά λογικά κυκλώματα που υλοποιούν τις βασικές πράξεις της άλγεβρας Boole
67 Ευχαριστώ για την προσοχή σας!