Πληροφορική και Θεολογία 2. Αναπαράσταση δεδομένων και υλικό υπολογιστή Διδάσκοντες 2018-2019: - Χρήστος Κατσάνος (σημερινή διάλεξη) - Παναγιώτης Κατσαρός - Απόστολος Παπαδόπουλος - Θρασύβουλος-Κωνσταντίνος Τσιάτσος
Υπολογιστικά συστήματα: Στρώματα
Τύποι δεδομένων Τα δεδομένα μπορούν να είναι πολλών τύπων Κείμενο Αριθμοί Εικόνες Ήχος Βίντεο Ζητείται μία μέθοδος αναπαράστασης για όλους αυτούς τους τύπους δεδομένων σε έναν Η/Υ που κατανοεί 2 μόνο καταστάσεις Ψηφιοποίηση Η διαδικασία μετατροπής δεδομένων όπως κείμενου, εικόνας ή σήματος από αναλογική σε ψηφιακή μορφή ώστε να μπορέσουν να αποθηκευτούν και να γίνουν αντικείμενο επεξεργασίας ενός υπολογιστικού συστήματος
Bit (1/3) Ένα ηλεκτρονικό κύκλωμα στο εσωτερικό του Η/Υ μπορεί να βρίσκεται σε μία από δύο καταστάσεις κλειστό ανοικτό Η στοιχειώδης αυτή μονάδα δεδομένων του Η/Υ ονομάζεται bit (binary digit = δυαδικό ψηφίο) και παίρνει τιμές 0 ή 1
Bit (2/3) Ένα bit μπορεί να αναπαραστήσει κάτι που έχει 2 διαφορετικές τιμές κλπ το πρόσημο ενός αριθμού (θετικό ή αρνητικό) τον τύπο ενός γράμματος (κεφαλαίο ή πεζό) τον τονισμό ενός φωνήεντος (άτονο ή τονισμένο) Τι γίνεται όμως με δεδομένα που μπορούν να έχουν περισσότερες από δύο τιμές; π.χ. έστω ότι το αλφάβητο στο πληκτρολόγιο μας μπορεί να είναι ελληνικό, αγγλικό, γαλλικό ή γερμανικό. Πώς αναπαρίσταται η τρέχουσα επιλογή; Απάντηση: χρησιμοποιώ δύο bit 1 bit 2 bit αλφάβητο 0 0 Ελληνικό 0 1 Αγγλικό 1 0 Γαλλικό 1 1 Γερμανικό
Bit (3/3) Γενικότερα Ομαδοποιώ ένα πλήθος από bit (σχήμα bit) και χρησιμοποιώ την ακολουθία αυτή ως ομάδα για να αναπαραστήσω κάτι Ακολουθία από 8 bit ονομάζεται byte (1 byte = 8 bit) Παράδειγμα: Πόσα bit χρειάζομαι για να αναπαραστήσω τις ημέρες της εβδομάδας; Έχω 7 ημέρες (Δεύτερα έως Κυριακή) Με 1 bit => 2 καταστάσεις < 7 Με 2 bit => 4 καταστάσεις < 7 Με 3 bit => 8 καταστάσεις 000 001 010 011 100 101 110 111 Δευτέρα Τρίτη Τετάρτη Πέμπτη Παρασκευή Σάββατο Κυριακή Με n bit μπορώ να αναπαραστήσω 2 n καταστάσεις
Πολλαπλάσια του byte T byte (B) είναι βασική μονάδα μέτρησης (χώρου και πληροφορίας) στα υπολογιστικά συστήματα Πολλαπλάσια του byte
Αναπαράσταση κειμένου Αλγόριθμος αναπαράστασης κειμένου Βήμα 1: Διαιρώ το κείμενο σε σύμβολα (σύμβολο = γράμμα, ψηφίο, σημείο στίξης, κενό κλπ) Βήμα 2: Αναπαριστώ τα διαφορετικά σύμβολα με διαφορετικά σχήματα bit με ίδιο μήκος π.χ. 1000001 Α, 1100001 α, 0110011 3, 0101110 τελεία, 0100000 κενό (space) κλπ Βήμα 3: Συνενώνω τα σχήματα bit των συμβόλων για να πάρω ένα σχήμα bit για το κείμενο 1001000 1100101 1101100 1101100 1101111 H e l l
Αναπαράσταση κειμένου: ASCII ASCII: American Standard Cde fr Infrmatin Interchange Αναπαράσταση συμβόλων με σχήμα μπιτ μήκους 7 Άρα αναπαριστά 2 7 = 128 σύμβολα Ερώτηση: από ποιο σχήμα bit αναπαρίσταται το J; Απάντηση: - στήλη = 100 - γραμμή = 1010 Άρα 1001010 Ερώτηση: ποιο σύμβολο αναπαριστά το 1100101; Απάντηση: - στήλη = 110 - γραμμή = 0101 Άρα e
Αναπαράσταση κειμένου: Extended ASCII Αναπαράσταση συμβόλων με σχήμα μπιτ μήκους 8 (1 byte) Άρα αναπαριστά 2 8 = 256 σύμβολα Δημιουργήθηκε για να εξυπηρετηθούν πρόσθετες ανάγκες: Γραφικά (σύμβολα για γραμμές) Άλλες γλώσσες (π.χ. σύμβολα για γαλλικά, γερμανικά, ελληνικά κλπ) Αποτελεί υπερσύνολο του ASCII Τα πρώτα 128 σύμβολα ταυτίζονται
Αναπαράσταση κειμένου: Unicde Δημιουργήθηκε για να εξυπηρετηθούν όλες οι πρόσθετες ανάγκες με έναν ενιαίο κώδικα για όλα τα σύμβολα (γλώσσες, μαθηματικά, γραφικά κλπ) UTF-8 => 2 8 = 256 σύμβολα UTF-16 => 2 16 = 65.536 σύμβολα UTF-32 => 2 32 = 4.294.967.296 σύμβολα (~4,3 δισεκατομμύρια) Αποτελεί επίσης υπερσύνολο του ASCII Τα πρώτα 128 σύμβολα του Unicde ταυτίζονται με το ASCII
Αναπαράσταση εικόνας Δύο βασικές μέθοδοι για τη ψηφιακή αναπαράσταση εικόνας: Ψηφιογραφική αναπαράσταση (bitmap ή raster graphics) Διανυσματική αναπαράσταση (vectr graphics) Ψηφιογραφική αναπαράσταση Διανυσματική αναπαράσταση
Αναπαράσταση εικόνας: Ψηφιογραφικά (1/4) Αλγόριθμος αναπαράστασης εικόνας ψηφιογραφικά Βήμα 1: Διαιρώ την εικόνα σε μικρά τετράγωνα που λέγονται pixel (picture element = εικονοστοιχείο) Βήμα 2: Αναπαριστώ κάθε pixel με ένα σχήμα bit (π.χ. για ασπρόμαυρη εικόνα θέλω 1bit: 0 = μαύρο, 1 = άσπρο) Βήμα 3: Συνενώνω τα σχήματα bit όλων των pixel για να πάρω ένα μεγάλο σχήμα bit για την εικόνα pixel 0110000001111 0100010011010
Αναπαράσταση εικόνας: Ψηφιογραφικά (2/4) Ερώτηση: Αν η ανάλυση είναι 20x20 pixel τότε πόσα bit χρειάζομαι για την αναπαράστασή μιας ασπρόμαυρης εικόνας (μόνο άσπρο και μαύρο); Απάντηση: Έχω 20 x 20 = 400 pixel. Κάθε pixel θέλει 1 bit (άσπρο, μαύρο) άρα θέλω 400 bit Και αν είναι η εικόνα μου δεν είναι πλήρως ασπρόμαυρη, δηλαδή έχει αποχρώσεις του γκρι; Αναπαριστώ κάθε pixel με σχήμα πολλών μπιτ Παράδειγμα: Εικόνα ανάλυσης 20x20 pixel με 8 επίπεδα του γκρι 20x20 = 400 pixel 8 επίπεδα γκρι = 2 3 => 3 bit ανά pixel Άρα συνολικά 400 x 3 = 1200 bit
Αναπαράσταση εικόνας: Ψηφιογραφικά (3/4) Και αν είναι η εικόνα μου είναι έγχρωμη; Αναπαριστώ κάθε pixel με 3 σχήματα μπιτ, ένα για κάθε χρώμα από τα χρώματα κόκκινο, πράσινο και μπλε (RGB, Red Green Blue) Παράδειγμα: Εικόνα ανάλυσης 20x20 pixel με 8 επίπεδα για καθένα από τα 3 χρώματα 20x20 = 400 pixel 8 επίπεδα κόκκινου = 2 3 => 3 bit 8 επίπεδα πράσινου = 2 3 => 3 bit 8 επίπεδα μπλε = 2 3 => 3 bit Άρα 3 + 3 + 3 = 9 bit ανά pixel Άρα συνολικά 400 x 9 = 3600 bit
Αναπαράσταση εικόνας: Ψηφιογραφικά (4/4) Είναι σημαντικό η ανάλυση της εικόνας να είναι κατάλληλη Μεγάλη ανάλυση => καλή ποιότητα αλλά και μεγάλο μέγεθος (αριθμός bit) Μικρή ανάλυση => κακή ποιότητα αλλά και μικρό μέγεθος (αριθμός bit)
Αναπαράσταση εικόνας: Διαυνυσματικά Η εικόνα αποτελείται από αντικείμενα (π.χ. γραμμή, καμπύλη, τετράγωνο κλπ). Κάθε κάθε αντικείμενο περιγράφεται αναλυτικά (με παραμέτρους, εξισώσεις, κλπ) και ζωγραφίζεται εκ νέου όποτε αναπαράγεται η εικόνα Βασικά χαρακτηριστικά (+) Μικρό συνολικό πλήθος bit => Μικρό μέγεθος εικόνας (+) Εύκολη μεγέθυνση/σμίκρυνση χωρίς αλλοίωση της ποιότητας της εικόνας ( ) Ακατάλληλη αναπαράσταση για εικόνες του πραγματικού κόσμου
Αναπαράσταση ήχου (1/2) Τι είναι ο ήχος; Ταλάντωση συνεχώς μεταβαλλόμενου πλάτος Ταλάντωση φωνητικής χορδής => μορίων αέρα (=> μεμβράνης μικροφώνου => έντασης ρεύματος => μεμβράνης μεγαφώνου =>) μορίων αέρα => τυμπάνου αυτιού Αλγόριθμος αναπαράστασης ήχου Βήμα 1: Διαιρώ τον ήχο σε δείγματα (δείγμα = πλάτος ταλάντωσης μιας χρονικής στιγμής) Βήμα 2: Αναπαριστώ κάθε διαφορετικό δείγμα με ένα διαφορετικό σχήμα bit π.χ. 0000000 πλάτος -50, 0000001 πλάτος -49 1100100 πλάτος 49, 1100101 πλάτος 50 κλπ Βήμα 3: Συνενώνω τα bit όλων των δειγμάτων για να πάρω τον ήχο
Αναπαράσταση ήχου (2/2) Ερώτηση: Αν έχω ήχο 5 δευτερολέπτων, παίρνω 1000 δείγματα / δευτερόλεπτο και υπάρχουν 128 επίπεδα πλάτους, πόσα bit χρειάζομαι για την αναπαράστασή τους; 5 δευτερόλεπτα x 1000 δείγματα/δευτερόλεπτο = 5000 δείγματα 128 επίπεδα πλάτους => 2 7 = 7 bit / δείγμα Άρα συνολικά 5000 x 7 = 35000 bit Ποιότητα ήχου και μέγεθος Μεγάλος αριθμός δειγμάτων => καλύτερη ποιότητα ήχου αλλά μεγαλύτερο μέγεθος Περισσότερα επίπεδα πλάτους => πιστότερη αναπαράσταση ήχου αλλά μεγαλύτερο μέγεθος Υπάρχει ένα όριο κάτω από το οποίο δεν μπορώ να αναπαράγω το αρχικό αναλογικό σήμα (βλέπε θεώρημα δειγματοληψίας Nyquist-Shannn)
Αναπαράσταση βίντεο Βίντεο = ακολουθία από αντικείμενα τύπου {Εικόνα + Ήχος} Χρειάζεται να έχω έναν ελάχιστο ρυθμό μετάδοσης προκείμενου να δίνεται η αίσθηση της συνέχειας στο ανθρώπινο μάτι Πειραματισμός με frames per secnd (fps)
Σύντομη αναπαράσταση μεγάλων σχημάτων bit Έχουμε συζητήσει για την αναπαράσταση των εξής τύπων δεδομένων Κείμενο Αριθμοί Εικόνες Ήχος Βίντεο Πριν συζητήσουμε για την αναπαράσταση αριθμών, ας δούμε πώς μπορούμε να παρουσιάσουμε πιο σύντομα μεγάλα σχήματα bit Είναι δύσκολος για τον άνθρωπο ο χειρισμός μεγάλων σχημάτων bit (π.χ. 011001011011100101010010011001001) Για τη διευκόλυνσή μας χρησιμοποιούμε συστήματα συντομεύσεων π.χ. οκταδικό σύστημα και δεκαεξαδικό σύστημα
Οκταδικό σύστημα Αλγόριθμος μετατροπής σχήματος bit στο οκταδικό σύστημα Βήμα 1: Διαιρώ το σχήμα bit σε τριάδες (από το τέλος προς την αρχή) Βήμα 2: Αντικαθιστώ τις τριάδες με τα σύμβολα 0 7 ως εξής: 000 001 010 011 100 101 110 111 0 1 2 3 4 5 6 7 Παράδειγμα Δυαδικό σύστημα: 011001011011100101010010011001001 2 Οκταδικό σύστημα: 011 001 011 011 100 101 010 010 011 001 001 => 3 1 3 3 4 5 2 2 3 1 => 31334522311 8
Δεκαεξαδικό σύστημα Αλγόριθμος μετατροπής σχήματος bit στο δεκαεξαδικό σύστημα Βήμα 1: Διαιρώ το σχήμα bit σε τετράδες (από το τέλος προς την αρχή) Βήμα 2: Αντικαθιστώ τις τριάδες με τα σύμβολα 0 9, A F ως εξής: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F Παράδειγμα Δυαδικό σύστημα: 011001011011100101010010011001001 2 Δεκαεξαδικό σύστημα: (000)0 1100 1011 0111 0010 1010 0100 1100 1001 => 0 C B 7 2 A 4 C 9 => 0CB72A4C9 16 = CB72A4C9 16
Αναπαράσταση αριθμών Είδη αριθμών Φυσικοί: 0, 1, 2, 3,, 1000,, 1231231 Ακέραιοι:, -2300132,, -239,, -2, -1, 0, 1, 2,, 239, 2300132, Πραγματικοί: 0, 1, -1, 2.3, π, -2e, 2 Ζητείται μία μέθοδος αναπαράστασης για τους αριθμούς που να είναι οικονομική και να διευκολύνει την εκτέλεση αριθμητικών πράξεων
Αναπαράσταση φυσικών αριθμών (1/7) Ας δοκιμάσουμε την ίδια ιδέα όπως και με τους άλλους τύπους δεδομένων: 123 Ούτε οικονομική είναι Ούτε διευκολύνει τις πράξεις Βήμα 1 Βήμα 2 1 2 3 0001 0010 0011 Βήμα 3 000100100011
Αναπαράσταση φυσικών αριθμών (2/7) Ας θυμηθούμε τι σημαίνει η αναπαράσταση 123 Πρακτικά σημαίνει 123 10, δηλαδή στο δεκαδικό σύστημα αναπαράστασης 123 100 20 3 1x100 2x10 3x1 1x10 2 2x10 1 3x10 0 Πρόκειται δηλαδή για ένα σύστημα με βάση το 10 Γιατί το 10; => Δέκα δάκτυλα
Αναπαράσταση φυσικών αριθμών (3/7) Ας εφαρμόσουμε την ίδια ιδέα στο δυαδικό σύστημα Θα αναλύσουμε τον δεκαδικό αριθμό σε επιμέρους αριθμούς με βάση το 2 123 = 1x64 + 1x32 + 1x16 + 1x8 + 0x4 + 1x2 + 1x1 1x2 6 1x2 5 1x2 4 1x2 3 0x2 2 1x2 1 1x2 0 1 1 1 1 0 1 1 123 10 = 1111011 2
Αναπαράσταση φυσικών αριθμών (4/7) Αλγόριθμος μετατροπής από το δυαδικό στο δεκαδικό σύστημα Βήμα 1: Πολλαπλασιάζω κάθε ψηφίο του αριθμού με δύναμη του 2 που προκύπτει από τη θέση του ψηφίου. Ξεκινώντας από τα δεξιά η πρώτη θέση έχει δύναμη 0, η δεύτερη 1, η τρίτη 2 Βήμα 2: Αθροίζω το γινόμενα Παράδειγμα 1010 2 = (?) 10 Θέση 3 Θέση 2 Θέση 1 Θέση 0 1 0 1 0 Βήμα 1 1x2 3 0x2 2 1x2 1 0x2 0 Βήμα 2 8 + 0 + 2 + 0 = 10 10
Αναπαράσταση φυσικών αριθμών (5/7) Άσκηση: Μετατρέψτε τους αριθμούς από το δυαδικό στα άλλα συστήματα αρίθμησης (οκταδικό, δεκαεξαδικό, δεκαδικό) 100 2 10111 2 10101010 2 11111111 2 Δυαδικό Οκταδικό Δεκαεξαδικό Δεκαδικό 100 2 100 = 4 8 100 = 4 16 4 10 10111 2 10 111 = 27 8 1 0111 = 17 16 16+4+2+1 = 23 10 10101010 2 10 101 010 = 252 8 1010 1010 = AA 16 128+32+8 +2 = 170 10 11111111 2 11 111 111 = 377 8 1111 1111 = FF 16 128+64+32+16+8+4+2+1=255 Σημείωση: αν θέλω να μετατρέψω απευθείας από το οκταδικό ή το δεκαεξαδικό στο δεκαδικό πολλαπλασιάζω κάθε ψηφίο του αριθμού που δίνεται (σε κάποιο σύστημα) με τη βάση του ίδιου του συστήματος υψωμένη σε δύναμη που προσδιορίζεται από τη θέση του ψηφίου στον αριθμό
Αναπαράσταση φυσικών αριθμών (6/7) Αλγόριθμος μετατροπής από το δεκαδικό στο δυαδικό σύστημα Βήμα 1: Διαιρώ συνεχώς δια του δύο μέχρι να βρω πηλίκο 0. Καταγράφω το υπόλοιπο Βήμα 2: Τοποθετώ τα υπόλοιπα που βρήκα ξεκινώντας από το τελευταίο προς το πρώτο και έτσι σχηματίζεται ο δυαδικός του αριθμός Παράδειγμα 37 10 = (?) 2 Διαίρεση Υπόλοιπο Θέση 37 / 2 = 18 1 5 η (Μονάδες) 18 / 2 = 9 0 4 η (Δυάδες) 9 / 2 = 4 1 3 η (Τετράδες) 4 / 2 = 2 0 2 η (Οκτάδες) Προσοχή: παίρνω τα υπόλοιπα από κάτω προς τα πάνω 2 / 2 = 1 0 1 η (Δεκαεξάδες) 1 / 2 = 0 1 0 η (Τριανταδυάδες) = (100101) 2
Αναπαράσταση φυσικών αριθμών (7/7) Άσκηση: Μετατρέψτε τον αριθμό 187 10 από το δεκαδικό στα άλλα συστήματα αρίθμησης (δυαδικό, οκταδικό, δεκαεξαδικό) 187 / 2 = 93 και υπόλοιπο 1 93 / 2 = 46 και υπόλοιπο 1 46 / 2 = 23 και υπόλοιπο 0 23 / 2 = 11 και υπόλοιπο 1 11 / 2 = 5 και υπόλοιπο 1 5 / 2 = 2 και υπόλοιπο 1 2 / 2 = 1 και υπόλοιπο 0 1 / 2 = 0 και υπόλοιπο 1 Ο αριθμός είναι ο (10111011) 2 Άρα 10 111 011 = 273 8 Άρα 1011 1011 = ΒΒ 16 Σημείωση: εναλλακτικά μπορώ να διαιρέσω με τη βάση του συστήματος (8 ή 16) για να πάω απευθείας από το δεκαδικό στο οκταδικό ή στο δεκαεξαδικό
Πράξεις με bit: Αριθμητικές πράξεις Πρόσθεση (οι άλλες υλοποιούνται με κάποιον τρόπο μέσω πρόσθεσης) Κανόνες της πρόσθεσης στο δυαδικό (μοιάζει με το δεκαδικό) Παράδειγμα: 1ος Προσθετέος 0 0 1 1 1 (7) 10 2ος Προσθετέος : 0 1 0 1 0 (10) 10 Άθροισμα : 1 0 0 0 1 (17) 10 Κρατούμενο : 0 1 1 1 0
Πράξεις με bit: Λογικές πράξεις Λογική πράξη Πράξη που χειρίζεται μία ή περισσότερες τιμές τύπου αληθές (1) και ψευδές (0) Οι βασικοί λογικοί (ή Blean) τελεστές που χρησιμοποιούνται είναι οι: AND: Λογικός πολ/σμός (σύζευξη) Έκφραση: A B OR: Λογική πρόσθεση (διάζευξη) Έκφραση: A + B NOT: Λογική αντιστροφή Έκφραση: Ā ή ~A ή Α'
Υπολογιστικά συστήματα: Στρώματα
Πύλες Μια συσκευή που υπολογίζει μια λογική πράξη Συχνά υλοποιούνται ως (μικρά) ηλεκτρονικά κυκλώματα Παρέχουν τα δομικά στοιχεία από τα οποία κατασκευάζονται οι υπολογιστές Πύλη AND Έξοδος = 1 μόνο εάν και οι δύο είσοδοι =1 Πύλη OR Έξοδος = 1 εάν κάποια είσοδος = 1 Πύλη NOT Έξοδος αντίστροφη της εισόδου Λογική Πύλη A B A B A B A + B A ~Α A B A B A B A + B A ~Α Πίνακας αληθείας 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 1 1 1 1 1
Συνδυασμός πυλών: Άσκηση Βρείτε τον πίνακα αληθείας του παρακάτω κυκλώματος ~Α ~Α Β C = ~Α Β + Α ~Β ~Β Α ~Β A B ~A ~B ~Α Β Α ~Β C = ~Α Β+Α ~Β 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 0
Αρχιτεκτονική vn Neumann (1/2) Πως λειτουργούμε ως άνθρωποι όταν εκτελούμε μια συστηματική εργασία;
Αρχιτεκτονική vn Neumann (2/2) Πως λειτουργεί ο Η/Υ;
Κεντρική μονάδα επεξεργασίας Κεντρική μονάδα επεξεργασίας (ΚΜΕ, Central Prcessing Unit, CPU) Καθοδηγεί τη λειτουργία του Η/Υ: ποια εντολή πρέπει να εκτελεστεί ανά πάσα στιγμή Εκτελεί τις πράξεις στα δεδομένα: εκτελεί την κάθε εντολή στα κατάλληλα δεδομένα Η ΚΜΕ αποτελείται από δύο υπο-μονάδες Μονάδα ελέγχου (ΜΕ, cntrl unit) Αριθμητική και λογική μονάδα (ΑΛΜ, Arithmetic and Lgic Unit, ALU) Κάθε υπο-μονάδα έχει ένα μικρό πλήθος από καταχωρητές (registers) Καταχωρητής = θέση όπου μπορεί να αποθηκεύεται και να προσπελάζεται ταχύτατα μικρός όγκος δεδομένων
ΚΜΕ: Μονάδα ελέγχου (ΜΕ) Η ΜΕ είναι το οργανωτικό κέντρο του Η/Υ Περιλαμβάνει 2 καταχωρητές Instructin Register (IR): Εντολή που εκτελείται αυτήν τη στιγμή Prgram Cunter (PC): Διεύθυνση στη μνήμη της εντολής που θα εκτελεστεί μετά Βασική αλγοριθμική λογική της ΜΕ 1. Φέρε μου από την μνήμη τη εντολή που μου λέει ο PC 2. Τοποθέτησε την εντολή στον IR 3. Στείλε σήματα (προς την ΑΛΜ, τη μνήμη, τις συσκευές εισόδου/εξόδου) προκείμενου να εκτελεστεί η εντολή 4. Αύξησε τον PC κατά 1
ΚΜΕ: Αριθμητική και λογική μονάδα (ΑΛΜ) Η ΑΛΜ εκτελεί κάθε αριθμητική πράξη (+, -, /, *) και λογική πράξη (AND, OR, NOT ) που απαιτείται Όσα πρέπει να ξέρει κάθε φορά τα παρέχει η ΜΕ Ποια πράξη να εκτελεστεί Από πού να πάρει τα δεδομένα Που να αφήσει το αποτέλεσμα Παράδειγμα Θα κάνεις πρόσθεση Θα προσθέσεις τα δεδομένα που βρίσκονται στους R1 και R3 Θα αποθηκεύσεις το αποτέλεσμα στον R2
Κύρια μνήμη (1/2) Κύρια μνήμη = συλλογή θέσεων αποθήκευσης (αποκαλούνται λέξεις) Κάθε λέξη περιέχει μία ακολουθία bit ίδιου μήκους (8, 16, 32 ή 64) Κάθε λέξη έχει μία μοναδική διεύθυνση Οι διευθύνσεις επιτρέπουν την ανάγνωση και εγγραφή μεμονωμένων λέξεων διευθύνσεις
Κύρια μνήμη (2/2) Κύρια μνήμη ανάγνωση Η ΚΜΕ στέλνει κωδικό για πράξη ανάγνωσης και διεύθυνση λέξης που θέλει Η μνήμη επιστρέφει τα bit της λέξης Κύρια μνήμη εγγραφή Η ΚΜΕ στέλνει κωδικό για πράξη εγγραφής, τη διεύθυνση της λέξης όπου θέλει να γράψει και τα μπιτ που θέλει να γράψει Η μνήμη εκτελεί την αλλαγή
Σύνδεση ΚΜΕ και Κύριας μνήμης (1/2) Διάυλος ελέγχου (cntrl bus): κωδικός της πράξης (ανάγνωση ή εγγραφή) Διαύλος διευθύνσεων (adress bus): διεύθυνση λέξης προς ανάγνωση ή εγγραφή Διάυλος δεδομένων (data bus): λέξη που αναγνώστηκε ή προς εγγραφή
Σύνδεση ΚΜΕ και Κύριας μνήμης (2/2) Ένα καλώδιο μεταφέρει ένα bit. Πόσα καλώδια έχουν οι δίαυλοι; Όσα μπιτ περιέχει και η λέξη της κύριας μνήμης (π.χ. 16) Όσα μπιτ περιέχει κάθε διεύθυνση μνήμης (π.χ. 32) Ένα καλώδιο είναι αρκετό (ανάγνωση, εγγραφή)
Ο κύκλος μηχανής Για να εκτελέσουν ένα πρόγραμμα η ΚΜΕ και η κύρια μνήμη επαναλαμβάνουν διαρκώς τον λεγόμενο κύκλο μηχανής (machine cycle) που έχει τα εξής 2 στάδια: Φέρε: η επόμενη προς εκτέλεση εντολή (όπως υποδεικνύει ο PC) μεταφέρεται από τη μνήμη στην ΜΕ Εκτέλεσε: η ΜΕ στέλνει τα σήματα που απαιτούνται (στην μνήμη, στην ΑΛΜ και στις συσκευές εισόδου/εξόδου) για την εκτέλεση αυτής της εντολής
RAM και ROM Η κύρια μνήμη: Είναι όλη τυχαίας προσπέλασης (Randm Access Memry, RAM), δηλαδή επιτρέπει την προσπέλαση στις λέξεις με οποιαδήποτε σειρά Το μεγαλύτερο τμήμα της είναι πτητικό (τα περιεχόμενα χάνονται όταν διακοπεί το ρεύμα) Ένα μικρό τμήμα της είναι μη-πτητικό και δεν επιτρέπει εγγραφές (Read-nly Memry, ROM). H ROM περιέχει εντολές και δεδομένα που είναι απαραίτητα για την έναρξη ty H/Y
Κρυφή μνήμη Στην πράξη, οι χώροι αποθήκευσης για την ΚΜΕ είναι: Οι καταχωρητές: πάρα πολύ μεγάλη ταχύτητα, πολύ μικρός χώρος Η κρυφή μνήμη (cache): πολύ μεγάλη ταχύτητα, μικρός χώρος Η κύρια μνήμη: μεγάλη ταχύτητα, μεγάλος χώρος Η κρυφή μνήμη τηρεί αντίγραφα θέσεων της κύριας μνήμης με στόχο να επιταχύνει τον κύκλο μηχανής
Δευτερεύουσα μνήμη Η κύρια μνήμη είναι περιορισμένη και πτητική στο εγγράψιμο τμήμα της) Θέλω κάποιον τρόπο να αποθηκεύω εντολές και δεδομένα όσο ο Η/Υ δεν λειτουργεί ή όσο αυτά δεν επεξεργάζονται (και άρα δεν είναι στην κύρια μνήμη) Η δευτερεύουσα μνήμη (ή αποθηκευτικά συστήματα) εξυπηρετεί ακριβώς αυτόν τον στόχο Τυπικά πολύ πιο αργή και πολύ μεγαλύτερης χωρητικότητας από την κύρια μνήμη Είδη αποθηκευτικών συστημάτων Μαγνητικά: Ταινίες, Δίσκοι Οπτικά: CD, DVD Μονάδες φλας
Δευτερεύουσα μνήμη: Μαγνητική ταινία Τα μπιτ αναπαρίστανται πάνω σε μαγνητικό υλικό που καλύπτει την επιφάνεια μιας πλαστικής ταινίας Για την προσπέλαση του σημείου της επιφάνειας απαιτείται: περιστροφή της ταινίας μέχρι το ζητούμενο σημείο έτσι ώστε να βρεθεί κάτω από την σταθερή κεφαλή εγγραφής/ανάγνωσης Βασικά χαρακτηριστικά (+) μικρό κόστος ( ) μικρή ταχύτητα (σειριακή προσπέλαση) Πρόκειται για το πρώτο αποθηκευτικό σύστημα Σήμερα χρησιμοποιείται κυρίως για αποθήκευση αντιγράφων ασφαλείας (backup)
Δευτερεύουσα μνήμη: Μαγνητικός Δίσκος Το μαγνητικό υλικό καλύπτει έναν δίσκο Για την προσπέλαση του σημείου της επιφάνειας απαιτείται: περιστροφή του δίσκου μετατόπιση της κινούμενης κεφαλής Εύκαμπτος δίσκος (flppy disk) Έχει έναν μόνο μαγνητικό δίσκο Σκληρός δίσκος (hard disk) Πολλοί μαγνητικοί δίσκοι ο ένας πάνω στον άλλον
Δευτερεύουσα μνήμη: Οπτικοί δίσκοι Τα μπιτ αναπαριστώνται μέσω των εσοχών και εξοχών της επιφάνειας του δίσκου Η κεφαλή ανάγνωσης εκπέμπει δέσμη λέιζερ και ανιχνεύει τις διαφορές στην ανακλασμένη ακτίνα Είδη οπτικών δίσκων CD (Cmpact Disk), CD-ROM, CD-R (Recrdable), CD-RW (Rewritable) DVD (Digital Versatile Disk), DVD-ROM, DVD-R, DVD-RW
Πως μοιάζουν όλα αυτά σε έναν Η/Υ; Desktp Laptp
Συσκευές εισόδου Συσκευή εισόδου = οποιαδήποτε περιφερειακή μονάδα μέσω της οποίας δεδομένα εισάγονται από τον έξω κόσμο στον Η/Υ
Πληκτρολόγιο διάταξης QWERTY Tο όνομα προκύπτει από τη δεύτερη σειρά πλήκτρων Η πιο διαδεδομένη διάταξη πλήκτρων σε πληκτρολόγιο Που στηρίζεται αυτός ο σχεδιασμός; Κληρονομιά από μηχανική γραφομηχανή (1878) Σχεδιάστηκε για τη μηχανή, δηλαδή να καθυστερεί επαρκώς τους χρήστες έτσι ώστε να μην μπλοκάρουν τη γραφομηχανή! Δεν μπορεί να είναι η μοναδική διάταξη! Γιατί δεν υιοθετήσαμε άλλες;
Φορητά πληκτρολόγια: Πληκτρολόγια μικρών διαστάσεων Πληκτρολόγια μικρού μεγέθους τα οποία είναι ενσωματωμένα στη συσκευή ή ξεχωριστές συσκευές Μικρά πλήκτρα => πιο δύσκολη η πληκτρολόγηση Ενσωματωμένο μικρό πληκτρολόγιο QWERTY (BlackBerry Key2) Ενσωματωμένο μικρό πληκτρολόγιο ABCDE 12 πλήκτρων Ανεξάρτητο μικρό πληκτρολόγιο QWERTY (RII 66-key Mini Bluetth Keybard)
Φορητά πληκτρολόγια: Αναδιπλούμενα ή εύκαμπτα πληκτρολόγια Πληκτρολόγια κανονικού μεγέθους πλήκτρων (συνήθως διάταξης QWERTY) τα οποία σχεδιάζονται για υψηλή μεταφερσιμότητα Αναδιπλούμενο πληκτρολόγιο Εύκαμπτο πληκτρολόγιο (Micr Innvatins)
Φορητά πληκτρολόγια: Εικονικά πληκτρολόγια Δύο τύποι: Προβολή στην οθόνη (n screen keybard) Προβολή σε επιφάνεια (prjectin keybard) Πληκτρολόγιο οθόνης (Gbard) Πληκτρολόγιο προβαλλόμενο σε επιφάνεια
Φορητά πληκτρολόγια: Φορετά (wearable) πληκτρολόγια Πληκτρολόγηση χωρίς πληκτρολόγιο Σε αρχικά βήματα ακόμη Φορετό πληκτρολόγιο (πρωτότυπο) (AirType) Βίντεο [nline] Φορετό πληκτρολόγιο (prduct) (Tap Strap) Βίντεο [nline]
Ποντίκι (1/2) Από ενσύρματο μηχανικό ποντίκι σε ενσύρματο οπτικό ποντίκι σε ασύρματο οπτικό ποντίκι Eφεύρεση του 1968 από τον D. Engelbart
Ποντίκι (2/2) Δύο βασικοί μηχανισμοί λειτουργίας Μηχανικός Οπτικός Μηχανικός μηχανισμός Οπτικός μηχανισμός
Συσκευές εξόδου Συσκευή εξόδου = οποιαδήποτε περιφερειακή μονάδα μέσω της οποίας δεδομένα εξάγονται από τον Η/Υ στον έξω κόσμο
Οθόνη Δύο βασικές κατηγορίες: Καθοδικών ακτίνων (Cathd Ray Tube, CRT): Παλαιότερη τεχνολογία, μεγάλο μέγεθος/βάρος, μεγάλη κατανάλωση ενέργειας Υγρών κρυστάλλων (Liquid Crystal Display, LCD): καλύτερη ποιότητα εικόνας, μικρό μέγεθος/βάρος, υψηλότερο κόστος Οθόνη CRT Οθόνη LCD
Εκτυπωτής Τρεις βασικές κατηγορίες: Κρουστικοί (dt-matrix): Παλιά τεχνολογία, σαν γραφομηχανή. Χαμηλό κόστος και χαμηλή ποιότητα Έκχυσης μελάνης (inkjet): Σταγόνες μελάνης ψεκάζονται προς το χαρτί. Καλή ποιότητα, φτηνή αγορά, ακριβή συντήρηση Laser: Τεχνολογία παρόμοια με των φωτοτυπικών. Υψηλή ποιότητα, μεγάλη ταχύτητα, ακριβή αγορά, φτηνότερη εκτύπωση ανά σελίδα
Σημείωμα πηγών Για τη δημιουργία των διαφανειών έχω αντλήσει έμπνευση ή/και υλικό από τις εξής πηγές: Brkshear J. G. (2009). Η επιστήμη των υπολογιστών: μια ολοκληρωμένη παρουσίαση. 10 η έκδοση, Εκδόσεις Κλειδάριθμος ΕΠΕ. Fruzan B. (2015). Εισαγωγή στην επιστήμη των υπολογιστών. 3 η έκδοση, Εκδόσεις Κλειδάριθμος ΕΠΕ.