Εισαγωγή στον Προγραμματισμό Θεωρία 1 η Διάλεξη: Βασικές Έννοιες Αρχιτεκτονικής ΗΥ Χ. Αλεξανδράκη Τμήμα Μηχανικών Μουσικής Τεχνολογίας και Ακουστικής 1 Εισαγωγή στον Προγραμματισμό
Περιγραφή Μαθήματος } Στόχος του µαθήµατος είναι η εξοικείωση με βασικές έννοιες της τεχνολογίας Ηλεκτρονικών Υπολογιστών (ΗΥ) και με τη χρήσης αλγορίθμων για την επίλυση υπολογιστικών προβλημάτων και την ανάπτυξη μικρο-εφαρμογών λογισμικού. } Ειδικότερα στο μάθημα αυτό καλύπτονται θέματα όπως: } Βασικά Στοιχεία Αρχιτεκτονικής ΗΥ } Δίκτυα ΗΥ και Διαδίκτυο } Λογισμικό ΗΥ (δηλ. Λειτουργικά Συστήματα και Εφαρμογές) } Το μεγαλύτερο μέρος του μαθήματος επικεντρώνει σε δύο θέματα: } Χρήση του περιβάλλοντος γραμμής εντολών (Command Line Interface - CLI) ενός λειτουργικού συστήματος } Προγραμματισμός με τη γλώσσα προγραμματισμού Python 2 Εισαγωγή στον Προγραμματισμό
Επικοινωνία Δικτυακές Πληροφορίες } Χ. Αλεξανδράκη } Γραφείο: Κτήριο Β } Τηλέφωνο: 28310 21921 } Email: chrisoula@staff.teicrete.gr } Δικτυακοί Τόποι } Ιστοσελίδα ΤΕΙ Κρήτης: www.teicrete.gr } Ιστοσελίδα Τμήματος ΜΜΤΑ: www.teicrete.gr/mta } Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass: } eclass.teicrete.gr 3 Εισαγωγή στον Προγραμματισμό
Μαθήματα Προγραμματισμού στο Τμήμα μας } Εισαγωγή στον Προγραμματισμό (Α εξάμηνο) } Γλώσσα προγραμματισμού Python } Γλώσσες Προγραμματισμού (Γ εξάμηνο) } Προγραμματισμός σε C } Εφαρμογές Πολυμέσων (E εξάμηνο) } Γλώσσα Processing } Ειδικά Θέματα Μουσικού Προγραμματισμού (Στ Εξάμηνο) } Μάθημα Επιλογής, Γλώσσα Java } Η πλειοψηφία των μαθημάτων στο τμήμα μας διδάσκεται με τη βοήθεια κάποιου προγράμματος λογισμικού και προϋποθέτει ότι γνωρίζεται καλά τη χρήση ΗΥ } Συμβουλή: Θα πρέπει να βρείτε ένα τρόπο να αποθηκεύετε τα αρχεία σας, π.χ. } ένα USB Flash memory } ένα λογαριασμό στο Google Drive ή στο Dropbox 4 Εισαγωγή στον Προγραμματισμό
Βασικές Έννοιες Αρχιτεκτονικής ΗΥ 5 Εισαγωγή στον Προγραμματισμό
Η αρχιτεκτονική von Neumann (1/3) } Ο όρος Αρχιτεκτονική ενός ηλεκτρονικού υπολογιστικού συστήματος αναφέρεται στον βασικό λειτουργικό σχεδιασμό του συστήματος } δηλαδή στον τρόπο με τον οποίο τα επί μέρους στοιχεία του συστήματος είναι δομημένα } Ο von Neumann θεωρείται ο πατέρας των σύγχρονων μηχανών και περιέγραψε την ομώνυμη αρχιτεκτονική το 1945 } Η αρχιτεκτονική von Neumann χρησιμοποιείται σχεδόν σε όλους τους ηλεκτρονικούς υπολογιστές } Βασικό στοιχείο της αρχιτεκτονικής αυτής είναι ότι οι μονάδες για την επεξεργασία της πληροφορίας διαχωρίζονται από τις μονάδες που αποθηκεύουν την πληροφορία 6 Εισαγωγή στον Προγραμματισμό
Η αρχιτεκτονική von Neumann (2/3) } Πρόκειται για µία αφαιρετική αρχιτεκτονική δόµησης υπολογιστικών συστηµάτων, σύµφωνα µε την οποία ένα σύστηµα µπορεί να διαχωριστεί στα παρακάτω βασικά τµήµατα: } Κεντρική Μονάδα Επεξεργασίας: αποτελείται από δύο επιµέρους µονάδες: } Μονάδα Ελέγχου: Λειτουργεί ως διαχειριστής των υπόλοιπων µονάδων για να εξασφαλίσει ότι όλα τα µέρη λειτουργούν ορθά } Αριθµητική/Λογική Μονάδα: Είναι ικανή να εκτελεί αριθµητικές και λογικές πράξεις στα δεδοµένα µε βάση τις αποθηκευµένες εντολές } Μονάδα Μνήµης: Περιέχει τα δεδοµένα αλλά και τις οδηγίεςεντολές για την επεξεργασία τους } Συσκευές Εισόδου: Μεταφέρουν («εισάγουν») τα δεδοµένα στο εσωτερικό του υπολογιστικού συστήµατος } Συσκευές Εξόδου: Μεταφέρουν τα αποτελέσµατα της επεξεργασίας των δεδοµένων από το εσωτερικό του υπολογιστικού συστήµατος στον «έξω» κόσµο 7 Εισαγωγή στον Προγραμματισμό
Η αρχιτεκτονική von Neumann (3/3) Συσκευές Εισόδου Κεντρική Μονάδα Επεξεργασίας Συσκευές Εξόδου Μονάδα Ελέγχου Αριθµητική/ Λογική Μονάδα Βοηθητικές Συσκευές Αποθήκευσης Μονάδα Μνήµης 8 Εισαγωγή στον Προγραμματισμό
Περιφερειακές Συσκευές } Με τον όρο Περιφερειακές συσκευές (peripheral devices) αναφερόμαστε στις συσκευές που συνδέονται με το κεντρικό σύστημα, με σκοπό την επικοινωνία του με τον εξωτερικό κόσμο } Οι συσκευές αυτές είναι ανεξάρτητες από το σύστημα, δηλαδή δεν αποτελούν μέρος αυτού } Χρησιμοποιούνται για να επεκτείνουν τις δυνατότητες του συστήματος και διαχωρίζονται σε συσκευές εισόδου (input devices) και συσκευές εξόδου (output devices) 9 Εισαγωγή στον Προγραμματισμό
Συσκευές Εσόδου } Μία συσκευή (ή μονάδα) εισόδου δεδομένων είναι μία συσκευή διαμέσου της οποίας, δεδομένα και προγράμματα εισάγονται από τον έξω κόσμο στον ηλεκτρονικό υπολογιστή } Οι συσκευές εισόδου συμπεριλαμβάνουν } το πληκτρολόγιο } διάφορες συσκευές μετακίνησης του δρομέα στην οθόνη και επιλογής } όπως το ποντίκι, η χειριστήρια λαβή (joystick) και οι οθόνες αφής } οι σαρωτές (scanners) } η ψηφιακή κάμερα και το μικρόφωνο 10 Εισαγωγή στον Προγραμματισμό
Συσκευές Εισόδου Δεδομένων 11 Εισαγωγή στον Προγραμματισμό
Συσκευές Εξόδου Δεδομένων } Μία συσκευή (ή μονάδα) εξόδου δεδομένων είναι μία συσκευή δια μέσω της οποίας, αποτελέσματα αποθηκευμένα στον ηλεκτρονικό υπολογιστή, τα οποία προέρχονται από την επεξεργασία των δεδομένων, μεταφέρονται στον εξωτερικό κόσμο. } Οι πιο δημοφιλής συσκευές εξόδου συμπεριλαμβάνουν } την οθόνη } τα ηχεία } τους εκτυπωτές 12 Εισαγωγή στον Προγραμματισμό
Οθόνη } Η οθόνη χρησιμοποιείται για την οπτική αναπαράσταση της εξόδου του υπολογιστή } Ανάλογα με τη συσκευή απεικόνισης που χρησιμοποιούν χωρίζονται σε δύο κατηγορίες: } Οθόνες καθοδικού σωλήνα (CRT) } Επίπεδες οθόνες Οθόνη υγρών κρυστάλλων (LCD) Οθόνη πλάσματος 13 Εισαγωγή στον Προγραμματισμό
Γενικά Χαρακτηριστικά Ποιότητας Οθόνης } Τα κυριότερα χαρακτηριστικά επιλογής μίας οθόνης είναι: } η διάσταση της οθόνης } το μήκος της διαγωνίου της οθόνης και μετριέται σε ίντσες (π.χ. 15, 17 ) } η ανάλυση της εικόνας } περιγράφει τον μέγιστο αριθμό εικονοστοιχείων (pixels) που μπορεί να απεικονίσει η οθόνη, σε κάθε μια από τις δύο διαστάσεις } Τυπικές αναλύσεις είναι: 640 x 480, 640 x 400, 800 x 600, 1024 x 768, 1280x1024 } pixels (γραμμές x στήλες) και εξαρτώνται από την κάρτα και τη μνήμη της κάρτας οθόνης } η συχνότητα ανανέωσης } εκφράζει το ρυθμό με τον οποίο «ζωγραφίζονται» τα pixels στην οθόνη } Για να έχουμε μια «καλή» απόκριση αυτή πρέπει να είναι κατά προτίμηση μεγαλύτερη από 72 Hz 14 Εισαγωγή στον Προγραμματισμό
Συσκευές: Αποθηκευτικές και μη } Όλες οι συσκευές που έχουμε περιγράψει μέχρι στιγμής δεν αποθηκεύουν δεδομένα, γι αυτό και ονομάζονται μη αποθηκευτικές } Υπάρχουν όμως, και οι αποθηκευτικές συσκευές } Τέτοιες συσκευές εισόδου/εξόδου είναι οι μαγνητικέςκαι οι οπτικές συσκευές, στις οποίες μπορούμε τόσο να γράφουμε δεδομένα (έξοδος) όσο και να διαβάζουμε δεδομένα (είσοδος) } Επιπρόσθετα, σήμερα υπάρχουν οι δίσκοι SSD (Solid State Disks) } Μνήμη που βασίζεται αποκλειστικά σε ηλεκτρονικά κυκλώματα και δεν περιλαμβάνει μηχανικά μέρη 15 Εισαγωγή στον Προγραμματισμό
Κεντρική Μονάδα ΗΥ } Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή } Σε έναν προσωπικό ηλεκτρονικό υπολογιστή την ονομάζουμε απλά κουτί (box) ή πύργο (tower) } Τα συστατικά από τα οποία αποτελείται απαρτίζουν το βασικό σύστημα του υπολογιστή } Τα κυριότερα από αυτά είναι } η μητρική πλακέτα (motherboard) } η κεντρική μονάδα επεξεργασίας (Central Processing Unit) } η κύρια μνήμη (Memory) 16 Εισαγωγή στον Προγραμματισμό
Στοιχειώδη Συστατικά της Κεντρικής Μονάδας ΗΥ } Μητρική πλακέτα (Μotherboard) } Κεντρική μονάδα επεξεργασίας (Central Processing Unit - CPU), με υπομονάδες: } τη μονάδα ελέγχου (Control Unit - CU) } την αριθμητική και λογική μονάδα (Arithmetic and Logical Unit ALU) } τους καταχωρητές (Registers) } Κύρια μνήμη (Memory) 17 Εισαγωγή στον Προγραμματισμό
Μητρική Πλακέτα (1/2) } Η μητρική πλακέτα είναι η βασικότερη μονάδα του υπολογιστή } Είναι αυτή που καθορίζει την αξιοπιστία και τη σταθερότητα λειτουργίας του υπολογιστή } Πρόκειται για μία επίπεδη επιφάνεια (πλακέτα) πάνω στην οποία στηρίζονται η κεντρική μονάδα επεξεργασίας, η κύρια μνήμη, καθώς και όλα τα υπόλοιπα εξαρτήματα του υπολογιστή } Όλα τα εξαρτήματα τοποθετούνται πάνω στην πλακέτα με τη χρήση υποδοχών και συνδέσμων που βρίσκονται σε αυτήν } Εκτός όμως από τα εξαρτήματα, στην πλακέτα συνδέονται και κάποιες άλλες περιφερειακές συσκευές (π.χ. πληκτρολόγιο, εκτυπωτής, εξωτερικά μέσα αποθήκευσης), με τη χρήση θυρών } Οι θύρες (ports) είναι ειδικές υποδοχές που δίνουν τη δυνατότητα στον υπολογιστή να επικοινωνεί με περιφερειακές συσκευές 18 Εισαγωγή στον Προγραμματισμό
Μητρική Πλακέτα (2/2) } Κάθε μητρική πλακέτα κατασκευάζεται για ένα συγκεκριμένο τύπο επεξεργαστή } Επίσης, πάνω στη μητρική πλακέτα είναι χαραγμένοι διάδρομοι ή αλλιώς δίαυλοι (buses), οι οποίοι επιτρέπουν την επικοινωνία μεταξύ των διαφόρων εξαρτημάτων 19 Εισαγωγή στον Προγραμματισμό
Κεντρική Μονάδα Επεξεργασίας (CPU) (1/2) } Η κεντρική μονάδα επεξεργασίας (Central Processing Unit, CPU) ή απλά επεξεργαστής αποτελεί την καρδιά του υπολογιστή } Αναλαμβάνει την επεξεργασία των πληροφοριών και ελέγχει και συντονίζει όλες τις άλλες μονάδες του υπολογιστή } Τοποθετείται πάνω στη μητρική πλακέτα σε ειδική υποδοχή, ενώ συνοδεύεται πάντα από μία ψύκτρα με ανεμιστήρα } η οποία διασφαλίζει την προστασία της από υπερθέρμανση, καθώς αποβάλλει μεγάλο ποσό θερμότητας 20 Εισαγωγή στον Προγραμματισμό
Κεντρική Μονάδα Επεξεργασίας (CPU) (2/2) } Η ΚΜΕ έχει ως κύριες αρμοδιότητες την εκτέλεση πράξεων και την μεταφορά δεδομένων } Η μεταφορά των δεδομένων από και προς αυτήν επιτυγχάνεται μέσω των δίαυλων } Δύο είναι οι οντότητες που διαχειρίζεται μια CPU: } Τα δεδομένα (data) } είναι η πληροφορία προς επεξεργασία, την οποία η ΚΜΕ πρέπει να διαχειριστεί ακολουθώντας τις εντολές } Τα δεδομένα είναι τα τυπικά δεδομένα που εισάγει ο χρήστης } Π.χ. όταν πληκτρολογούμε κείμενο στέλνουμε στον υπολογιστή δεδομένα, ενώ όταν ζητάμε αποθήκευση του κειμένου μας του στέλνουμε εντολές } Η πιο στοιχειώδης μορφή δεδομένων μπορούμε προς το παρόν να θεωρούμε ότι είναι οι αριθμοί (που ορίζουν κάποια ποσότητα) και οι συμβολοσειρές (strings) που μπορεί να ορίζουν για παράδειγμα κάποιο όνομα ή κάποιο κείμενο. } Οι εντολές (commands) } είναι σχετικές με το πώς η κεντρική μονάδα επεξεργασίας θα διαχειριστεί τα δεδομένα } Στην ουσία πρόκειται για τον κώδικα ενός προγράμματος } Περιλαμβάνει τα συνεχή μηνύματα που στέλνουμε στον υπολογιστή μέσω των διαφόρων μονάδων εισόδου (π.χ. μηνύματα εκτύπωσης, αποθήκευσης, εκτέλεσης αριθμητικών πράξεων κ.λ.π.) 21 Εισαγωγή στον Προγραμματισμό
Είσοδος και έξοδος δεδομένων στη CPU Εντολές για επεξεργασία δεδοµένων Είσοδος δεδοµένων για επεξεργασία Κεντρική Μονάδα Επεξεργασίας (CPU) Έξοδος επεξεργασµένων δεδοµένων 22 Εισαγωγή στον Προγραμματισμό
Μονάδα Ελέγχου Control Unit } Η Μονάδα Ελέγχου είναι η οργανωτική δύναμη στον υπολογιστή } καθώς διευθύνει τη λειτουργία του (ορίζοντας τη διαδοχή των πράξεων) και φροντίζει για το συντονισμό των μερών του } Συγκεκριμένα, κατά την εκτέλεση του προγράμματος, η μονάδα ελέγχου ανακτά από τη μνήμη τις εντολές } Οι εντολές είναι στην ουσία κωδικοποιημένα ηλεκτρικά σήματα, τα οποία, η μονάδα ελέγχου } αφού τα «αποκωδικοποιήσει» και προσδιορίσει τον τύπο τους } στη συνέχεια εκπέμπει σήματα ελέγχου προς τις κατάλληλες μονάδες } Αυτά τα σήματα ελέγχου μπορεί να σταλούν } είτε στη μνήμη, π.χ. για να λάβει αποθηκευμένη πληροφορία } είτε στην αριθμητική και λογική μονάδα για την εκτέλεση των επιθυμητών υπολογισμών } είτε, τέλος, στις μονάδες εισόδου/εξόδου για τη μεταφορά πληροφοριών από τον υπολογιστή προς το εξωτερικό του περιβάλλον, και αντιστρόφως 23 Εισαγωγή στον Προγραμματισμό
Αριθμητική και Λογική Μονάδα - ALU } Η Αριθμητική και Λογική Μονάδα είναι η μονάδα που εκτελεί όλες τις πράξεις και τους υπολογισμούς που απαιτούνται για την εκτέλεση των εντολών } Συγκεκριμένα, εκτελεί } αριθμητικές πράξεις } όπως πρόσθεση (+), αφαίρεση (-), πολλαπλασιασμό (*), διαίρεση (/), } λογικές πράξεις } όπως σύζευξη (AND), διάζευξη (OR), άρνηση (NOT) } Οι λογικές πράξεις είναι αυτές που διαπιστώνουν αν μία (λογική) παράσταση είναι αληθής ή ψευδής } συγκρίσεις } π.χ. x<5 } υπολογισμούς διευθύνσεων(για προσπέλαση στη μνήμη) 24 Εισαγωγή στον Προγραμματισμό
Καταχωρητές (Registers) } Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για την προσωρινή αποθήκευση των δεδομένων και εντολών προς επεξεργασία, αλλά και την εκτέλεση ειδικών λειτουργιών } Η πρόσβαση σε καταχωρητές είναι πιο γρήγορη από πρόσβαση σε θέσεις μνήμης } καθώς αποτελούν την ταχύτερη μονάδα μνήμης του υπολογιστή } Το μέγεθος των καταχωρητών καθορίζει το πόσα δεδομένα μπορεί να διαχειριστεί ο επεξεργαστής σε μία δεδομένη στιγμή, και μάλιστα το μέγεθος αυτό προσδιορίζει και το μέγεθός του } Για παράδειγμα, ένας επεξεργαστής 32 bit σημαίνει ότι οι καταχωρητές του είναι της τάξης των 32 bit } Το μέγεθος των καταχωρητών είναι ίσο με το μήκος λέξης του υπολογιστή 25 Εισαγωγή στον Προγραμματισμό
Ταχύτητα CPU (1/2) } Η κεντρική μονάδα επεξεργασίας είναι σχεδιασμένη ώστε να λειτουργεί σύμφωνα με ένα ηλεκτρικό σήμα χρονισμού, που ονομάζεται ρολόι (processor clock) } Το ρολόι είναι ένας παλμός που εκπέμπεται και εναλλάσσεται περιοδικά μεταξύ μηδέν και ένα } Ο χρόνος που χρειάζεται το ρολόι για να μεταπηδήσει από το μηδέν στο ένα και πίσω στο μηδέν, ονομάζεται περίοδος ή κύκλος του ρολογιού (clock cycle), και μετριέται σε δευτερόλεπτα } Ο επεξεργαστής για να εκτελέσει μία εντολή, πρώτα διαμερίζει τη διαδικασία που πρέπει να εκτελεστεί σε απλούστερα βήματα } έτσι ώστε καθένα από αυτά να μπορεί να εκτελεστεί σε ένα κύκλο ρολογιού 26 Εισαγωγή στον Προγραμματισμό
Ταχύτητα CPU (2/2) } Το αντίστροφο της διάρκειας ενός κύκλου ρολογιού ονομάζεται συχνότητα ρολογιού (clock rate) } δηλαδή Συχνότητα = 1/Κύκλος_Ρολογιού } Η συχνότητα μετριέται σε κύκλους ανά δευτερόλεπτο ή αλλιώς Hertz (Hz) } Οι επεξεργαστές των σύγχρονων προσωπικών υπολογιστών έχουν συχνότητες ρολογιού οι οποίες κυμαίνονται από μερικές εκατοντάδες εκατομμύρια έως σε περισσότερους από πέντε δισεκατομμύρια κύκλους ανά δευτερόλεπτο } Για παράδειγμα, ένας επεξεργαστής των 3,1 GHz εκτελεί 3,1 δισεκατομμύρια (3.100.000.000) κύκλους ανά δευτερόλεπτο 27 Εισαγωγή στον Προγραμματισμό
Μνήμη } Η μονάδα μνήμης επιτελεί μία από τις βασικότερες λειτουργίες ενός υπολογιστικού συστήματος, την αποθήκευση και ανάκτηση δεδομένων και προγραμμάτων } Ο όρος μνήμη (memory) αναφέρεται γενικά σε οποιαδήποτε συσκευή έχει την ιδιότητα να αποθηκεύει πληροφορίες } αν και συχνά για τις συσκευές δευτερεύουσας μνήμης (π.χ. σκληρός δίσκος) προτιμάμε τον όρο μέσο αποθήκευσης } Ένα υπολογιστικό σύστημα διαθέτει πολλές κατηγορίες μνήμης, καθεμία από τις οποίες έχει τα δικά της ειδικά χαρακτηριστικά, τα οποία καθορίζουν και τον τρόπο χρήσης της μνήμης στον υπολογιστή 28 Εισαγωγή στον Προγραμματισμό
Κύρια Μνήμη HY } Η κύρια μνήμη (main memory) είναι μία γρήγορη μνήμη στην οποία αποθηκεύονται τα εκτελέσιμα προγράμματα και όλα τα απαραίτητα δεδομένα για την εκτέλεση των προγραμμάτων καθώς και για την ορθή λειτουργία του υπολογιστή } Η μνήμη αυτή έχει σταθερό χρόνο προσπέλασης } δηλαδή κάθε λέξη της μπορεί να προσπελαθεί σε καθορισμένο χρόνο, ο οποίος είναι ανεξάρτητος από τη θέση της λέξης στη μνήμη } Η κύρια μνήμη αυτή είναι απευθείας συνδεδεμένη με τον επεξεργαστή και μπορεί συνήθως να επικοινωνήσει άμεσα με οποιαδήποτε άλλη μνήμη } Χωρίζεται σε δύο κατηγορίες: } τη μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) } τη μνήμη μόνο για ανάγνωση (Read Only Memory ROM) 29 Εισαγωγή στον Προγραμματισμό
RAM } Η Μνήμη Τυχαίας Προσπέλασης διατηρεί τις εντολές και τα δεδομένα προς επεξεργασία, καθώς και τα αποτελέσματα της εκτέλεσης των εντολών } Όλα τα δεδομένα αποθηκεύονται προσωρινά στη μνήμη αυτή, καθώς δεν παρέχει δυνατότητα μόνιμης αποθήκευσης } Πρόκειται δηλαδή για πτητική μνήμη (volatile memory) } που σημαίνει ότι μόλις σταματήσει η παροχή ηλεκτρικού ρεύματος τα δεδομένα χάνονται } Όταν ολοκληρωθεί η εκτέλεση ενός προγράμματος, η RAM αποστέλλει τα αποτελέσματα στην κατάλληλη έξοδο ή σε κάποια δευτερεύουσα μνήμη για μόνιμη αποθήκευση 30 Εισαγωγή στον Προγραμματισμό
ROM } Η Μνήμη Μόνο για Ανάγνωση είναι ένας ειδικός τύπος μνήμης, που είναι μόνο για ανάγνωση } Τα περιεχόμενά της δε μεταβάλλονται, δηλαδή μπορούμε να διαβάσουμε από αυτήν αλλά όχι και να γράψουμε σε αυτήν } Η ταχύτητα μιας μνήμης ROM είναι μικρότερη από την ταχύτητα μίας μνήμης RAM } Γι αυτό το λόγο οποτεδήποτε χρειαζόμαστε δεδομένα της μνήμης ROM, αυτά μεταφέρονται πρώτα στη μνήμη RAM προτού γίνουν έτοιμα να χρησιμοποιηθούν } Πρόκειται για μη πτητική μνήμη (non-volatile memory) } δηλαδή τα δεδομένα διατηρούνται σε αυτήν ακόμα και αν διακόψουμε την παροχή ηλεκτρικού ρεύματος } Η ιδιότητά της αυτή εξασφαλίζει δύο επιθυμητά χαρακτηριστικά: μονιμότητα και ασφάλεια } Έτσι, χρησιμοποιείται σε καταστάσεις όπου τα δεδομένα χρειάζεται να αποθηκευτούν μόνιμα, χωρίς να μπορούν να δεχθούν μεταβολές (ασφάλεια) } Η κυριότερη χρήση της είναι κατά τη διάρκεια της διαδικασίας εκκίνησης του υπολογιστή 31 Εισαγωγή στον Προγραμματισμό
Δευτερεύουσα Μνήμη (Αποθήκευση) } Η δευτερεύουσα (ή βοηθητική) μνήμη (secondary storage) αποτελείται από συσκευές που παρέχουν μόνιμη αποθήκευση των δεδομένων } Καθώς η κύρια μνήμη στο μεγαλύτερο μέρος της είναι πτητική, με περιορισμένες δυνατότητες αποθήκευσης, δημιουργείται η ανάγκη για συσκευές αποθήκευσης που θα παρέχουν μόνιμη αποθήκευση (volatile) ενός μεγάλου όγκου δεδομένων } Οι συσκευές αυτές χαρακτηρίζονται από χαμηλό κόστος αποθήκευσης και σχετικά μεγάλο χρόνο προσπέλασης } Μπορούν είτε να είναι εγκατεστημένες από την αρχή, είτε να προστεθούν αργότερα στον υπολογιστή } Σε κάθε περίπτωση, για την επεξεργασία των δεδομένων που βρίσκονται σε τέτοιες συσκευές, απαιτείται πρώτα η μεταφορά τους στην κύρια μνήμη } Μία μεγάλη ποικιλία συσκευών δευτερεύουσας μνήμης είναι διαθέσιμη, η οποία μεταξύ άλλων περιλαμβάνει τους μαγνητικούς δίσκους, τις μαγνητικές ταινίες, τους οπτικούς δίσκους αλλά και τους δίσκους στερεάς κατάστασης (Solid State Disc SSD) 32 Εισαγωγή στον Προγραμματισμό
Μονάδες Μέτρησης Μνήμης } Η βασική μονάδα μέτρησης της μνήμης στα υπολογιστικά συστήματα είναι το μπάιτ (byte, B) } Ένα byte ισοδυναμεί με οκτώ bit } Συνήθως χρησιμοποιούνται τα πολλαπλάσια του byte: Ονοµασία Μονάδας Σύµβολο Ακριβές Πλήθος Bytes Bytes κατά Προσέγγιση Μπάιτ (byte) B 1 1 Κιλοµπάιτ (kilobyte) KB 2 10 = 1.024 10 3 Μεγκαµπάιτ (megabyte) MB 2 20 = 1.048.576 10 6 Γκικγαµπάιτ (gigabyte) GB 2 30 = 1.073.741.824 10 9 Τεραµπάιτ (terabyte) TB 2 40 = 1.099.511.627.776 10 12 Πεταµπάιτ (petabyte) PB 2 50 = 1.125.899.906.842.624 10 15 Εξαµπάιτ (exabyte) EB 2 60 = 1.152.921.504.606.846.976 10 18 33 Εισαγωγή στον Προγραμματισμό
Περίληψη } Η αρχιτεκτονική von Neumann: } O διαχωρισμός ανάμεσα σε επεξεργασία και αποθήκευση } Δομικά Στοιχεία ΗΥ: } Περιφερειακές συσκευές (εισόδου εξόδου πληροφορίας) } Κεντρική Μονάδα ΗΥ } Motherboard } CPU Control Unit Arithmetic and Logical Unit Registers } Memory Main Memory Ram, ROM Secondary Memory 34 Εισαγωγή στον Προγραμματισμό
Επόμενο Μάθημα } Λογισμικό Ηλεκτρονικών Υπολογιστών } Λειτουργικά Συστήματα } Εφαρμογές 35 Εισαγωγή στον Προγραμματισμό