Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann (1) Μονάδα Εισόδου (Input Unit) (2) Μονάδα Εξόδου (Output Unit) (3) Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit) (4) Κύρια Μνήμη (Main Memory) (5) Δευτερεύουσα Μνήμη (Secondary Memory) ΜΟΝΑΔΑ ΕΙΣΟΔΟΥ ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΑΡΙΘΜΗΤΙΚΗ ΚΑΙ ΛΟΓΙΚΗ ΜΟΝΑΔΑ ΜΟΝΑΔΑ ΕΞΟΔΟΥ ΚΥΡΙΑ ΜΝΗΜΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ Οργάνωση ενός ηλεκτρονικού υπολογιστή 1
Μονάδες Εισόδου-Εξόδου Η Μονάδα Εισόδου κωδικοποιεί τις πληροφορίες που προέρχονται από τον εσωτερικό του κόσμο και στη συνέχεια τις στέλνει προς τον υπολογιστή. Η Μονάδα Εξόδου μετατρέπει και διανέμει πληροφορίες που προέρχονται από τον υπολογιστή προς τον εξωτερικό του κόσμο. Κεντρική Μονάδα Επεξεργασίας την Αριθμητική και Λογική Μονάδα (Arithmetic and Logic Unit) την Μονάδα Ελέγχου (Control Unit) 1. Αριθμητική και Λογική Μονάδα αριθμητικές πράξεις (πρόσθεση, αφαίρεση, πολλαπλασιασμό, διαίρεση), λογικές πράξεις (ΚΑΙ, Η, ή κυκλική ολίσθηση) 2. Μονάδα Ελέγχου Αποφασίζει και συντονίζει τη διαδοχή των πράξεων και τη λειτουργία των υπολοίπων μονάδων του υπολογιστή. Τα κυκλώματα της μονάδας ελέγχου αποκωδικοποιούν κατ αρχήν τις εντολές αυτές και στη συνέχεια στέλνουν σε προκαθορισμένες χρονικές στιγμές σήματα ελέγχου προς: τη μνήμη, για την εξαγωγή πληροφοριών προς τις άλλες μονάδες του υπολογιστή ή τη λήψη πληροφοριών απ αυτές τις μονάδες και την αποθήκευσή τους στη μνήμη. την Α/Λ Μονάδα, για την εκτέλεση των επιθυμητών υπολογιστικών πράξεων και τις μονάδες Εισόδου/Εξόδου, για τη μεταφορά από τον υπολογιστή προς τον εξωτερικό του κόσμο και αντίστροφα. Αξιολόγηση και κατάταξη επεξεργαστών χωρητικότητα που είναι η ποσότητα των στοιχείων τα οποία μπορεί να επεξεργαστεί συχνότητα που είναι η ταχύτητα με την οποία γίνεται η επεξεργασία. Κύρια Μνήμη 2
Η Κύρια ή Κεντρική Μνήμη είναι η μονάδα όπου αποθηκεύονται προσωρινά όλες οι πληροφορίες του υπολογιστή, δηλαδή οι εντολές και τα δεδομένα και εξυπηρετεί τη ροή των πληροφοριών τόσο μέσα στον υπολογιστή, όσο και μεταξύ του υπολογιστή και του εξωτερικού του κόσμου (διαμέσου των μονάδων Εισόδου/Εξόδου). Η Κεντρική Μνήμη επίσης συνδέεται και ανταλλάσσει πληροφορίες και με την Αριθμητική και Λογική Μονάδα, η οποία εκτελεί όλες τις πράξεις με τα δεδομένα και με τη μονάδα ελέγχου η οποία κατευθύνει την ροή των πληροφοριών μέσα στον υπολογιστή. 0001 16 0002 16 14 AB 24AF 16 D6 Σχ. 1.4 Παράσταση της μνήμης 1.9 RAM και ROM Η Κεντρική Μνήμη χωρίζεται σε δύο μέρη: Μνήμη Τυχαίας Προσπέλασης (Random Access Memory - RAM) Μνήμη Μόνο Ανάγνωσης (Read Only Memory - ROM) H RAM είναι η μνήμη στην οποία μπορούμε να γράψουμε σε οποιαδήποτε διεύθυνση της και να διαβάσουμε το περιεχόμενο σε οποιαδήποτε διεύθυνση της. Υπάρχουν δύο τύποι RAM chips: στατικά και δυναμικά. Τα στατικά RAM (SRAM - Static RAM) χρησιμοποιούν flip-flop που τους δίνουν την φυσική ικανότητα να διατηρούν τα δεδομένα που εισάγονται μέχρις ότου ο χρήστης τα αλλάξει. Τα δυναμικά RAM (DRAM - Dynamic RAM) χρησιμοποιούν πυκνωτές και η καταχώριση των στοιχείων σε bits γίνεται με τη βοήθεια αποθήκευσης ηλεκτρικών φορτίων (φορτισμένος πυκνωτής: 1, αφόρτιστος: 0). Το μειονέκτημα εδώ είναι πως παρατηρείται μία έκλυση ηλεκτρονίων με αποτέλεσμα τα δεδομένα να διατηρούνται λίγα μόνο χιλιοστά του δευτερολέπτου (msecs). Στην περίπτωση αυτή χρειάζεται μια τεχνική ανανέωσης (refresh) του φορτίου (τουλάχιστον κάθε 2 msecs) για να διατηρούνται τα περιεχόμενα. Οι δυναμικές μνήμες παρά τις προφανείς δυσκολίες της τεχνικής τους είναι φθηνότερες και καταλαμβάνουν πολύ μικρότερο χώρο από τις αντίστοιχες στατικές, οι 3
οποίες επί πλέον έχουν το μειονέκτημα να καταναλίσκουν μεγαλύτερη ενέργεια και να υπερθερμαίνονται. Για τους λόγους αυτούς οι δυναμικές μνήμες προτιμούνται στους σύγχρονους μικροϋπολογιστές. Η ROM είναι η μνήμη στην οποία μπορούμε μόνο να διαβάσουμε το περιεχόμενο των διαφόρων διευθύνσεων της, γι αυτό και λέγεται απαράγραπτη μνήμη. Το περιεχόμενο της έχει τοποθετηθεί από τον κατασκευαστή και καθορίζει την λειτουργία του υπολογιστή. Το περιεχόμενο της RAM σε αντίθεση με την ROM δεν αλλοιώνεται στις συνήθεις συνθήκες λειτουργίας ή σε περίπτωση διακοπής τροφοδοσίας. Υπάρχουν 3 κύριοι τύποι ROM chips: η απαράγραπτη ROM που χαράζεται με ειδικά μηχανήματα από τον κατασκευαστή και τα περιεχόμενα της δεν μπορούν να αλλάξουν. η προγραμματιζόμενη ROM ή PROM (Programmable ROM). Τα chips αυτά επιτρέπουν και σε τρίτους να γράψουν τα περιεχόμενα που επιθυμούν χρησιμοποιώντας ειδικά μηχανήματα εγγραφής (PROM programs). Ότι όμως γραφτεί δεν σβήνει, πράγμα που σημαίνει πως ο χρήστης θα πρέπει να προσέχει μην γράψει κάτι λάθος. η επαναπρογραμματιζόμενη PROM ή EPROM (Erasable PROM) που είναι μια ειδική μορφή της PROM που επιτρέπει να σβήνονται με ειδικό μηχάνημα τα περιεχόμενα της και να ξαναχρησιμοποιείται. 1.10 Υπερταχεία Μνήμη - Cache Η μνήμη αυτή έχει τις βασικές ιδιότητες της RAM με τη διαφορά πως είναι πολύ πιο γρήγορη από αυτήν λειτουργεί με την ταχύτητα του επεξεργαστή. Το πρόβλημα είναι πως είναι πολύ ακριβή έτσι δεν μπορούμε να την χρησιμοποιήσουμε σε μεγάλες χωρητικότητες σαν Κύρια Μνήμη. Έτσι έγινε ένας συνδυασμός από διαφορετικά είδη μνημών: μιας μικρής αλλά πολύ γρήγορης (και ακριβής) μνήμης (cache) και άλλων πιο αργών (και φθηνών) αλλά σε μεγαλύτερες χωρητικότητες μνήμες (RAM). Οι μνήμες cache και παρεμβάλλονται μεταξύ επεξεργαστή και RAM ή περιλαμβάνονται μέσα στον επεξεργαστή. Αν τώρα βρούμε ένα τρόπο να γνωρίζουμε εκ των προτέρων ποιες εντολές και δεδομένα είναι πιθανότερο να χρησιμοποιηθούν στη συνέχεια της επεξεργασίας μας και τοποθετήσουμε τα στοιχεία αυτά (και μόνο αυτά) στη cache, τότε τα προγράμματα μας θα εκτελούνταν κατά το μεγαλύτερο μέρος τους με την ταχύτητα της γρήγορης αυτής μνήμης. Το ερώτημα βέβαια είναι πώς θα γνωρίζουμε εκ των προτέρων ποια στοιχεία πρόκειται να χρησιμοποιήσει το πρόγραμμα μας. Παρά το ότι κάτι τέτοιο φαίνεται εκ πρώτης όψης 4
αδύνατο στην πράξη, έχουν εφαρμοσθεί αρκετές θεωρίες και αλγόριθμοι με σημαντική επιτυχία. Μια απλή και ιδιαίτερα πετυχημένη θεωρία προβλέπει πως τα στοιχεία που χρησιμοποιήθηκαν τελευταία κατά την επεξεργασία ενός προγράμματος, έχουν την μεγαλύτερη πιθανότητα να χρησιμοποιηθούν ξανά. Η λειτουργία την μνήμης cache είναι σε γενικές γραμμές η εξής: όταν ο επεξεργαστής θέλει να γράψει κάτι στη μνήμη το γράφει στην RAM και συγχρόνως και στην cache όταν ο επεξεργαστής θέλει να διαβάσει κάτι από την μνήμη ψάχνει πρώτα στην cache και αν το βρει το παίρνει από κει (με μεγάλη ταχύτητα), αν όχι προσφεύγει στη RAM. Με τον τρόπο αυτό η cache περιέχει ανά πάσα στιγμή τα τελευταία στοιχεία που χρησιμοποιήθηκαν σε μια επεξεργασία. Είναι προφανές πως όσο πιο μεγάλη είναι η cache τόσο πιο μεγάλο μέρος του προγράμματος θα υπάρχει στη cache και άρα πιο μεγάλη θα είναι η πιθανότητα να βρούμε μια πληροφορία εκεί και να μη χρειασθεί να ψάξουμε τη RAM, οπότε η εκτέλεση του προγράμματος κατά το μεγαλύτερο μέρος του θα γίνεται από την cache και όχι από τη RAM. Πράγμα που σημαίνει πως το πρόγραμμα θα εκτελεστεί πιο γρήγορα. Πράγματι έχει διαπιστωθεί πως με τη μέθοδο αυτή και ανάλογα με τη χωρητικότητα της cache to 80-90% της εκτέλεσης ενός προγράμματος γίνεται από την cache. 1.11 Aρχιτεκτονική RISC Κάθε υπολογιστής έχει την φυσική του γλώσσα στην οποία πρέπει να είναι γραμμένα τα προγράμματα για να τα αναγνωρίζει. Η φυσική αυτή γλώσσα ή γλώσσα μηχανής του, προσδιορίζεται από το σύνολο των εντολών που ο επεξεργαστής του είναι κατασκευασμένος να αναγνωρίζει. Η σύγχρονη τάση κατασκευής επεξεργαστών όλο και μεγαλύτερης ισχύος που να περιλαμβάνουν ένα όλο και μεγαλύτερο ρεπερτόριο εντολών είναι προφανές ότι αυξάνει το κόστος και την πολυπλοκότητα τους. Όπως παρατηρήθηκε όμως, από το σύνολο των εντολών που διαθέτει ένας επεξεργαστής ένα μόνο μικρό υποσύνολο - οι πιο συνηθισμένες και εύχρηστες εντολές - χρησιμοποιείται συνέχεια, οι άλλες χρησιμοποιούνται σπάνια και μόνο σε ειδικές περιπτώσεις. Το πρόβλημα είναι πως η πρόβλεψη μεγάλων ρεπερτορίων εντολών σε ένα επεξεργαστή μειώνει την ταχύτητα λειτουργίας του. Η συνειδητοποίηση του προβλήματος αυτού οδήγησε στην υιοθέτηση μιας τάσης απλοποίησης με την λεγόμενη τεχνική RISC (Reduced Instruction Set Computer). Η τεχνική RISC προβλέπει την κατασκευή επεξεργαστή με 5
μικρά, εύχρηστα ρεπερτόρια των απόλυτα απαραίτητων εντολών. Η ιδέα αποδείχθηκε καλή στην πράξη και πολλοί κατασκευαστές προχώρησαν στην αξιοποίηση της τόσο σε επίπεδο μεγάλων όσο και σε επίπεδο μεσαίων και μικρών ακόμα Υπολογιστών. 1.12 Δευτερεύουσα Μνήμη (Secondary Memory) Η Κεντρική μνήμη έχει μικρή χωρητικότητα και έχει υψηλή τιμή. Έτσι αν χρειάζεται να αποθηκεύσουμε πολλά δεδομένα θα πρέπει να γίνει η αποθήκευση αυτή σε κάποιο άλλο μέσο. Αυτό το μέσο είναι η δευτερεύουσα ή βοηθητική μνήμη. Στην κύρια μνήμη οι μεγάλες χωρητικότητες με μικρό κόστος είναι δευτερεύοντες παράγοντες, μπροστά στην ταχύτητα και την ευκολία πρόσβασης. Αντίθετα, η δευτερεύουσα μνήμη είναι οργανωμένη έτσι ώστε να προσφέρει μέγιστη αποθηκευτική ικανότητα, με δευτερεύουσα βαρύτητα στην ταχύτητα και ευκολία πρόσβασης. Έτσι η μεν κύρια μνήμη είναι ο χώρος εργασίας του επεξεργαστή, ενώ η δευτερεύουσα η αποθήκη των υλικών και εργαλείων του μαραγκού του παραδείγματος που είδαμε στην κύρια μνήμη. Σαν δευτερεύουσα μνήμη χρησιμοποιούνται τα διάφορα μαγνητικά μέσα αφού είναι φθηνότερα από τους ημιαγωγούς, που χρησιμοποιούνται στην κεντρική μνήμη. Θεωρούνται κατάλληλα για μακρόχρονη αποθήκευση δεδομένων. Η δευτερεύουσα μνήμη είναι πολύ αργότερη από την κύρια μνήμη και επικοινωνεί με τις άλλες μονάδες του υπολογιστή μέσω της κύριας μνήμης. Tα πλεονεκτήματα της σε σύγκριση με την κύρια μνήμη είναι ότι είναι φθηνότερη και έχει πολύ μεγαλύτερη χωρητικότητα. 6