ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (1/2) ΚΕΦΑΛΑΙΟ 1: Αποθήκευση εδοµένων (2/2) 1.1 Τα bits και ο τρόπος που αποθηκεύονται 1.2 Κύρια µνήµη 1.3 Αποθηκευτικά µέσα 1.4 Αναπαράσταση πληροφοριών ως σχηµάτων bits 1.5 Το δυαδικό σύστηµα 1.6 Αποθήκευση ακεραίων 1.7 Αποθήκευση κλασµάτων 1.8 Συµπίεση δεδοµένων 1.9 Σφάλµατα επικοινωνίας 1 2 Τα µπιτ και η σηµασία τους Σχήµα bit Τα δυαδικά ψηφία bits είναι σύµβολα των οποίων η σηµασία εξαρτάται από την εκάστοτε εφαρµογή. Μερικές πιθανές ερµηνείες για ένα bit: Αριθµητική τιµή (1 ή 0) Τιµές Boolean (αληθές ή ψευδές) Τάση (υψηλή ή χαµηλή) Τα δεδοµένα που αποθηκεύονται σε έναν υπολογιστή αναπαριστώνται από ακολουθίες bits και µπορεί να είναι: Αριθµοί Χαρακτήρες κειµένου Εικόνες Ήχοι Οτιδήποτε άλλο 3 4
Πράξεις Boolean Οι λογικές πράξεις της σύζευξης (AND), της διάζευξης (OR), και της αποκλειστικής διάζευξης (XOR) (Σχήµα 1.1) Οι πράξεις που χειρίζονται τιµές τύπου αληθής / ψευδής ονοµάζονται λογικές πράξεις ή πράξεις Boolean. Χρησιµοποιούνται για πράξεις σε bits. Συγκεκριµένες πράξεις: AND OR XOR NOT 5 6 Πύλες Σχηµατική αναπαράσταση των πυλών AND, OR, XOR και ΝΟΤ, καθώς και των τιµών εισόδου και εξόδου τους (Σχήµα 1.2) Η συσκευή που παράγει την έξοδο µίας λογικής πράξης µε δεδοµένες κάποιες συγκεκριµένες τιµές εισόδου ονοµάζεται πύλη (gate). Υλοποιείται από µικρά ηλεκτρονικά κυκλώµατα, στα οποία τα ψηφία 0 και 1 αντιπροσωπεύονται από επίπεδα τάσης. Αποτελεί το δοµικό στοιχείο κατασκευής υπολογιστών. 7 8
ισταθές Κύκλωµα Ένα απλό δισταθές κύκλωµα (Σχήµα 1.3) Ένα δισταθές κύκλωµα (flip-flop) είναι ένα κύκλωµα που δηµιουργείται από πύλες και µπορεί να αποθηκεύσει ένα µόνο bits δεδοµένων. Παράγει µία τιµή εξόδου 0 ή 1 η οποία εναλλάσσεται υπό τον έλεγχο εξωτερικών ερεθισµάτων. 9 10 Ορισµός της εξόδου ενός δισταθούς κυκλώµατος σε 1 (Σχήµα 1.4α) Ορισµός της εξόδου ενός δισταθούς κυκλώµατος σε 1 (Σχήµα 1.4β) 11 12
Ορισµός της εξόδου ενός δισταθούς κυκλώµατος σε 1 (Σχήµα 1.4γ) Άλλος ένας τρόπος κατασκευής δισταθούς κυκλώµατος (Σχήµα 1.5) 13 14 Άλλες τεχνικές αποθήκευσης εκαεξαδικός συµβολισµός υναµική µνήµη πρέπει να ανανεώνεται σε τακτικά διαστήµατα (π.χ. πυκνωτής). Πτητική µνήµη τα δεδοµένα χάνονται όταν κλείσει η πηγή τροφοδοσίας (π.χ. δισταθές κύκλωµα). Μη πτητική µνήµη τα δεδοµένα διατηρούνται επ αόριστον (π.χ. µαγνητική αποθήκευση). Μνήµη µόνο για ανάγνωση ROM δε µεταβάλλεται ποτέ (π.χ. µνήµη φλας, συµπιεσµένοι δίσκοι CDs κ.α.). Μία µεγάλη σειρά από bits ονοµάζεται ροή πληροφορίας (stream). Ο δεκαεξαδικός συµβολισµός (hexadecimal notation) είναι ένας συµβολισµός για την αναπαράσταση µεγάλων ροών πληροφορίας από µπιτ. Τα σχήµατα bit σε µία µηχανή τείνουν να έχουν µήκη πολλαπλάσια του τέσσερα (ένα σύµβολο) Ο δεκαεξαδικός συµβολισµός είναι πιο συµπαγής ιευκολύνει στην ανάγνωση, αντιγραφή και γραφή 15 16
Το δεκαεξαδικό σύστηµα κωδικοποίησης (Σχήµα 1.6) Κύρια µνήµη: κελιά Σχήµα µπιτ 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 εκαεξαδική αναπαράσταση 0 1 2 3 4 5 6 7 8 9 A B Η κύρια µνήµη είναι ένα µεγάλο σύνολο κυκλωµάτων, καθένα από τα οποία µπορεί να αποθηκεύσει ένα bit. Τα κυκλώµατα αυτά είναι διατεταγµένα σε εύχρηστες µονάδες, συνήθως των 8 bit, που λέγονται κυψελίδες (cells). Το byte είναι µία ακολουθία 8 bit. Άκρο υψηλής τάξης (high order end) είναι το αριστερό άκρο της ιδεατής σειράς στην οποία είναι διατεταγµένα τα bit µίας κυψελίδας µνήµης. Το πιο σηµαντικό bit είναι το τελευταίο bit στο άκρο υψηλής τάξης. Άκρο χαµηλής τάξης (low order end) είναι αντίστοιχα το δεξιό άκρο. Το λιγότερο σηµαντικό bit είναι το τελευταίο bit στο άκρο χαµηλής τάξης. 1100 C 1101 D 1110 E 1111 F 17 18 Η οργάνωση ενός κελιού µνήµης µε µέγεθος 1 byte (Σχήµα 1.7) ιευθύνσεις κυρίας µνήµης ιεύθυνση είναι ένα µοναδικό όνοµα για να προσδιορίσει κάθε µεµονωµένη κυψελίδα της κύριας µνήµης µίας µηχανής. Οι διευθύνσεις είναι εξ ολοκλήρου αριθµητικές ξεκινώντας από το µηδέν. Οι κυψελίδες έχουνε µία σειρά δίνοντας µας τη δυνατότητα να χρησιµοποιούµε φράσεις όπως η επόµενη κυψελίδα ή η προηγούµενη κυψελίδα. Μνήµη τυχαίας προσπέλασης RAM είναι η µνήµη όπου κάθε κυψελίδα µπορεί να προσπελαστεί µε τυχαία σειρά. 19 20
Κυψελίδες µνήµης διατεταγµένες µε βάσητη διεύθυνση (Σχήµα 1.8) Μέτρηση χωρητικότητας µνήµης Οόρος Kilo- συνήθως αναφέρεται στo 1.000 Kilobyte= 2 10 =1024 Ο όρος Mega- συνήθως αναφέρεται στo 1.000.000 Megabyte= 2 20 =1.048.576 O όρος Giga- συνήθως αναφέρεται στo 1.000.000.000 Gigabyte= 2 30 =1.073.741.824 21 22 Συστήµατα µαζικής αποθήκευσης Συστήµατα µαζικής αποθήκευσης θεωρούµε τις συσκευές πρόσθετης µνήµης, που διαθέτουν οι περισσότεροι υπολογιστές, όπως: Μαγνητικοί δίσκοι CDs Μαγνητικές ταινίες. Τα πλεονεκτήµατά τους σε σχέση µε την κύρια µνήµη: Μικρότερη πτητικότητα Μεγάλες αποθηκευτικές δυνατότητες Μικρό κόστος υνατότητα αφαίρεσης του µέσου από τη µηχανή. Απαιτούν όµως µηχανική κίνηση καθώς και σηµαντικά µεγαλύτερους χρόνους αποθήκευσης και ανάκτησης δεδοµένων. Μετρήσεις αξιολόγησης της απόδοσης ενός συστήµατος δίσκου Χρόνος αναζήτησης (seek time) είναι ο χρόνος που απαιτείται για τη µετακίνηση των κεφαλών ανάγνωσης / εγγραφής από τη µία τροχιά στην άλλη. Καθυστέρηση περιστροφής ή λανθάνων χρόνος (rotation delay ή latency time) είναι το µισό του χρόνου που απαιτείται για µία πλήρη περιστροφή του δίσκου. Χρόνος προσπέλασης (access time) είναι το άθροισµα του χρόνου αναζήτησης και καθυστέρησης περιστροφής. Ρυθµός µεταφοράς είναι ο ρυθµός µεταφοράς των δεδοµένων από και προς το δίσκο. 23 24
Συστήµατα αποθήκευσης δίσκου (Σχήµα 1.9) Μορφή αποθήκευσης CD (Σχήµα 1.10) 25 26 Μηχανισµός αποθήκευσης µαγνητικής ταινίας (Σχήµα 1.11) Αρχεία Αρχείο (file) είναι η µονάδα αποθήκευσης δεδοµένων σε ένα σύστηµα µαζικής αποθήκευσης. Ένα αρχείο ανάλογα µε τις πληροφορίες που αναπαριστά διαιρείται στις λογικές εγγραφές (logical records), οι οποίες αποτελούνται από µικρότερες µονάδες, τα πεδία (fields). Φυσική εγγραφή (physical record) είναι ένα τµήµα δεδοµένων που είναι σύµφωνο µε τα φυσικά χαρακτηριστικά µιας συσκευής αποθήκευσης. H περιοχή προσωρινής αποθήκευσης ή ενταµιευτής (buffer) συγκεντρώνει λογικές εγγραφές ή πεδία, συνήθως κατά τη διαδικασία της µεταφοράς τους από µία συσκευή σε κάποια άλλη. 27 28
Λογικές και φυσικές εγγραφές ενός δίσκου (Σχήµα 1.12) Το µήνυµα Hello. σε κώδικα ASCII (Σχήµα 1.13) 29 30 Αναπαράσταση κειµένου Αναπαράσταση αριθµητικών τιµών Κάθε σύµβολο κειµένου (γράµµα αλφαβήτου, σηµείο στίξης κτλ.) αντιστοιχίζεται σε ένα µοναδικό σχήµα bit. To Αµερικανικό Πρότυπο Κώδικα για την Ανταλλαγή Πληροφοριών ASCII χρησιµοποιεί σχήµατα των 7 bit για να αναπαραστήσει σύµβολα του Αγγλικού αλφαβήτου. Ο κώδικας Unicode χρησιµοποιεί σχήµατα των 16 bit για τα περισσότερα σύµβολα των περισσοτέρων γλωσσών του κόσµου. Ο ιεθνής Οργανισµός Τυποποίησης ISO χρησιµοποιεί σχήµατα των 32 bit. Ο δυαδικός συµβολισµός (binary notation) χρησιµοποιεί bits για να αναπαραστήσει ένα αριθµό ως δύναµη του 2. Υπάρχουν περιορισµοί στους υπολογιστές για τις αναπαραστάσεις αριθµητικών τιµών: Υπερχείλιση, όταν ο αριθµός είναι πολύ µεγάλος. Περικοπή, όταν ένας αριθµός βρίσκεται µεταξύ δύο αναπαριστώµενων αριθµών. 31 32
Το ηχητικό κύµα που αναπαρίσταται από την ακολουθία 0, 1.5, 2.0, 1.5, 2.0, 3.0, 4.0, 3.0, 0 (Σχήµα 1.14) Τοδεκαδικόκαιτοδυαδικόσύστηµα (Σχήµα 1.15) 33 34 Αποκωδικοποίηση της δυαδικής αναπαράστασης 100101 (Σχήµα 1.16) Ένας αλγόριθµος για την εύρεση της δυαδικής αναπαράστασης ενός θετικού ακεραίου (Σχήµα 1.17) Βήµα 1. ιαίρεσε την τιµή µε το δύο και σηµείωσε το υπόλοιπο. Βήµα 2. Όσο το πηλίκο είναι διάφορο του 0, συνέχισε να διαιρείς το νέο πηλίκο µε το δύο και κατέγραφε το υπόλοιπο. Βήµα 3. Τώρα που προέκυψε πηλίκο ίσο µε µηδέν, η δυαδική αναπαράσταση της αρχικής τιµής αποτελείται από τα υπόλοιπα γραµµένα από τα δεξιά προς τα αριστερά µε τη σειρά που σηµειώθηκαν. 35 36
Ηεφαρµογή του αλγορίθµου του Σχήµατος 1.15 για τον υπολογισµό της δυαδικής αναπαράστασης της τιµής 13 (Σχήµα 1.18) Οι κανόνες της δυαδικής πρόσθεσης (Σχήµα 1.19) 0 + 0 0 1 + 0 1 0 + 1 1 1 + 1 10 37 38 Αποκωδικοποίηση της δυαδικής αναπαράστασης 101,101 (Σχήµα 1.20) Αναπαράσταση ακεραίων Οι µη αρνητικοί ακέραιοι µπορούν να αναπαρασταθούν ως δύναµη του 2. Οι ακέραιοι µε πρόσηµο µπορούν να αναπαρασταθούν: Με τον συµβολισµό συµπληρώµατος ως προς δύο, που είναι ο πιο διαδεδοµένος τρόπος. Με τον συµβολισµό υπέρβασης, λιγότερη διαδεδοµένη τακτική. 39 40
Συστήµατα συµπληρώµατος ως προς δύο (Σχήµα 1.21) Κωδικοποίηση της τιµής -6 σε σύστηµα συµπληρώµατος µε τη χρήση τεσσάρων bits (Σχήµα 1.22) 41 42 Προβλήµατα πρόσθεσης σε σύστηµα συµπληρώµατος ως προς δύο (Σχήµα 1.23) Πίνακας µετατροπής υπέρβασης κατά οκτώ (Σχήµα 1.24) 43 44
Ένα σύστηµα συµβολισµού υπέρβασης που χρησιµοποιεί σχήµατα των τριών bits (Σχήµα 1.25) Συστατικά στοιχεία συµβολισµού κινητής υποδιαστολής (Σχήµα 1.26) 45 46 Κωδικοποίηση της τιµής 2⅝ (Σχήµα 1.27) Αποσυµπίεση του xyxxyzy (5,4,x) (Σχήµα 1.28) 47 48
Oι κωδικοίascii των γραµµάτων A και F ρυθµισµένοι για περιττή ισοτιµία (Σχήµα 1.29) Κώδικας διόρθωσης σφαλµάτων (Σχήµα 1.30) 49 50 Αποκωδικοποίηση του σχήµατος 010100 µε χρήση του κώδικα του Σχήµατος 1.30 (Σχήµα 1.31) 51