1 ο Ε Π Α. Λ. Ν Ε Α Σ Φ Ι Λ Α Δ Ε Λ Φ Ε Ι Α Σ. Θέμα Ερευνητικής Εργασίας : Ο Ηλεκτρονικός Υπολογιστής

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "1 ο Ε Π Α. Λ. Ν Ε Α Σ Φ Ι Λ Α Δ Ε Λ Φ Ε Ι Α Σ. Θέμα Ερευνητικής Εργασίας : Ο Ηλεκτρονικός Υπολογιστής"

Transcript

1 Θέμα Ερευνητικής Εργασίας :

2 Η Ιστορική Εξέλιξη του Υπολογιστή 1. Οι Πρώτες Υπολογιστικές Μηχανές 2 Ένα από τα πιο σημαντικά χαρακτηριστικά του 20ου αιώνα είναι αναμφισβήτητα η εμφάνιση και η τεράστια ανάπτυξη των ηλεκτρονικών υπολογιστών. Σήμερα υπάρχουν εκατομμύρια υπολογιστές σε όλο τον κόσμο παρόλο που δεν έχουν περάσει ούτε 50 χρόνια από την ημέρα που βγήκε στο εμπόριο ο πρώτος ηλεκτρονικός υπολογιστής (1951). Από την ημέρα αυτή έχει αναπτυχθεί μια τεράστια βιομηχανία υπολογιστών, η οποία μπορεί πλέον να συναγωνισθεί αυτή των αυτοκινήτων. Οι επιπτώσεις αυτού του φαινομένου στον οικονομικό, κοινωνικό και πολιτικό τομέα είναι σημαντικές και αποτελούν αντικείμενο πολλών ερευνών στις μέρες μας. Πώς όμως ξεκίνησε αυτή η επανάσταση και πώς έφτασε σ' αυτό το τεράστιο σημείο ανάπτυξης; Η ιστορία των υπολογιστικών μηχανών μπορεί να χωριστεί σε τρεις μεγάλες περιόδους: αυτή των μηχανικών κατασκευών, αυτή των αυτόματων υπολογιστικών μηχανών και αυτή των ηλεκτρονικών υπολογιστών εγγεγραμμένου προγράμματος. Οι δύο πρώτες περίοδοι αποτελούν κατά κάποιο τρόπο την "προϊστορία", ενώ η τρίτη αναφέρεται στην εξέλιξη των υπολογιστών όπως τους γνωρίζουμε σήμερα. Η "προϊστορική" εποχή Η ιστορία των υπολογιστικών μηχανών ξεκινάει από πολύ παλιά. Γύρω στα 500 π.χ. παρουσιάζεται ο άβακας (το γνωστό μας αριθμητήριο με τις χάντρες), αρχικά μάλλον στην Κίνα. Άβακας Όμως οι πρώτοι μηχανισμοί, που τηρουμένων των αναλογιών, μπορούν ανα-θεωρηθούν ότι μοιάζουν με τους σύγχρονους αναλογικούς υπολογιστές, είναι οι αστρολάβοι. Οι αστρολάβοι χρησιμοποιήθηκαν για την παρατήρηση των αστέρων και τον προσδιορισμό του ύψους τους από τον ορίζοντα. Ένας τέτοιος μηχανισμός βρέθηκε το 1900, από Καλύμνιους σφουγγαράδες στο βυθό της θάλασσας των Αντικυθήρων. Ο μηχανισμός αυτός που είναι γνωστός σαν "Μηχανισμός των Αντικυθήρων" (87 π.χ.), είναι μια αστρονομική συσκευή, που λειτουργούσε σαν ένας φορητός ημερολογιακός υπολογιστής σταθερού προγράμματος. Ο μηχανισμός αποτελούταν από ένα κέλυφος, με ενδεικτικούς πίνακες στην εξωτερική του επιφάνεια και ένα ιδιαίτερα σύνθετο σύστημα οδοντωτών τροχών στο εσωτερικό.

3 3 Ο Μηχανισμός των Αντικυθήρων (87 π.χ.) Έπειτα έρχεται η περίοδος από τον 17ο αιώνα μέχρι τον 19ο αιώνα, η οποία χαρακτηρίζεται από το πλήθος των ανακαλύψεων σε όλους τους τομείς των επιστημών. Ορισμένοι από τους πλέον διακεκριμένους μαθηματικούς της εποχής ασχολήθηκαν κάποια στιγμή της ζωής τους με το πρόβλημα του "μηχανικού υπολογισμού". Η πρώτη προσπάθεια στον τομέα αυτό είναι του Γερμανού καθηγητή μαθηματικών και αστρονομίας Wilhelm Schickard. Το "υπολογιστικό ρολόι" του Schickard στηριζόταν σε απλά συστήματα τροχών και είχε την δυνατότητα να εκτελεί και τις τέσσερις πράξεις. Τα σχεδιά του όμως, δεν έγιναν ποτέ πραγματικότητα. Η συνέχεια ήρθε από τον μεγάλο μαθηματικό Blaise Pascal. Ο Pascal κατασκεύασε μια αριθμομηχανή, την πασκαλίνα, η οποία στηριζόταν στις ίδιες αρχές με αυτή του Schickard. Συστήματα γραναζιών εκτελούσαν τις προσθέσεις και τις αφαιρέσεις. Πασκαλίνα Τη συνέχεια της προσπάθειας αυτής ανέλαβε ο Άγγλος Leibnitz. Η μηχανή που κατασκεύασε στηριζόταν σε κυλίνδρους, με άνισα δόντια και αποτέλεσε πρότυπο για τις επόμενες εξελιγμένες αριθμομηχανές. Φτάνουμε έτσι στον εκκεντρικό Άγγλο μαθηματικό και μηχανικό Charles Babbage ο οποίος έφτιαξε το 1812 την πρώτη του διαφορική μηχανή. Διαφορική μηχανή

4 Αργότερα ο Babbage στράφηκε στην αναζήτηση μιας άλλης μηχανής, μη εξειδικευμένης σε επιστημονικά προβλήματα, αλλά ικανής να εκτελέσει οποιαδήποτε λειτουργία της ζητηθεί. Ο υπολογιστής αυτός ονομάστηκε Αναλυτική μηχανή και οι λειτουργίες που θα εκτελούσε, καθώς και τα διάφορα μέρη της μηχανής, περιγράφηκαν αναλυτικά. Συγκεκριμένα η μηχανή προέβλεπε: 4 1. Μια μνήμη για την αποθήκευση των δεδομένων 2. Ένα "μύλο" ικανό να εκτελεί τις αριθμητικές πράξεις 3. Μια μονάδα ελέγχου, η οποία θα καθοδηγεί το μύλο 4. Μονάδες εισόδου-εξόδου. Αναλυτική μηχανή Στα σχέδια αυτά μπορεί κανείς να διακρίνει έννοιες πολύ οικείες στους σημερινούς χρήστες ηλεκτρονικών υπολογιστών. Για τη μηχανή αυτή προβλεπόταν ακόμη και η χρήση ηλεκτρικού ρεύματος για την κίνηση ορισμένων μερών, καθώς επίσης και η χρησιμοποίηση του δυαδικού συστήματος. Το επόμενο βήμα στην ιστορία των υπολογιστών γίνεται το 1847 και έχει να κάνει με την θεωρία και όχι την μηχανική των υπολογιστικών συστημάτων. Την εποχή αυτή λοιπόν ο Άγγλος George Boole θεμελιώνει την ομώνυμη άλγεβρα και ο Jevon εφαρμόζει τα συμπεράσματα του Boole στο "λογικό του πιάνο". Με το τέλος του 19ου αιώνα το ενδιαφέρον μετατοπίζεται στην Αμερική, όπου η απογραφή του 1880 αποκάλυψε μεγάλα προβλήματα. Την λύση έδωσε ο Herman Hollerith που είχε την ιδέα να χρησιμοποιήσει τις διάτρητες κάρτες, μέθοδος που επινοήθηκε το 1801 από τον Jaseph Marie Jacquard. Οι μηχανές αυτές που δεν είναι βέβαια υπολογιστές, είχαν τεράστια επιτυχία και είχαν την δυνατότητα να διατρήσουν κάρτες, να μετρούν τις αξίες επί αυτών και να τις διατάσσουν με αύξουσα ή φθίνουσα σειρά.

5 2. Πρώτη και Δεύτερη γενιά 5 Η πρώτη γενιά ηλεκτρονικών υπολογιστών ( ) Οι ανάγκες του πολέμου (στα μέσα του 20ου αιώνα ) για πολύπλοκους υπολογισμούς σε προβλήματα βαλλιστικής, μεταφοράς, διοίκησης και άλλα, κάνουν πιο επιτακτική την ανάγκη κατασκευής μιας ικανής υπολογιστικής μηχανής. Ο πρώτος υπολογιστής, ο Z3 του Γερμανού καθηγητή Kornad Zuse, κατασκευάστηκε το 1941 και λειτουργούσε κάτω από την επίβλεψη ενός εξωτερικού προγράμματος σε διάτρητη χαρτοταινία. Διέθετε μια μνήμη των 64 λέξεων με την χρήση ροδέλων και οι πράξεις γινόταν στο δυαδικό σύστημα με κινητή υποδιαστολή. Η μηχανή αυτή καταστράφηκε στον βομβαρδισμό του Βερολίνου το Την ίδια χρονιά από την άλλη πλευρά του Ατλαντικού, στο Harvard, γεννιόταν ο Mark I. Ο Mark I ήταν προϊόν συνεργασίας του φυσικού Howard Aiken και της IBM. Ο υπολογιστής αυτός αν και ήταν μια τερατώδης μηχανή, που έκανε φοβερό θόρυβο και χαλούσε πολύ συχνά, λειτούργησε μέχρι το 1959, ενώ σήμερα εκτίθεται στο πανεπιστήμιο του Harvard. Mark I Το πρώτο πρότυπο μηχανήματος που μπορεί να χαρακτηριστεί ως πραγματικός ηλεκτρονικός υπολογιστής ήταν ο γενικής χρήσης υπολογιστής ABC που δημιουργήθηκε από την ανάγκη λύσης μεγάλων συστημάτων εξισώσεων. Ο υπολογιστής αυτός χρησιμοποιούσε ηλεκτρονικές λυχνίες κενού ως βασικό στοιχείο και δυαδικό σύστημα. Ήταν επινόηση των John Vincent Atanasoff και Clifford Berry. Το επόμενο βήμα ήταν ο ENIAC (Electronic NumericalIntergrator And Calculator). Η μηχανή αποτελούνταν από τρίοδους λυχνίες, κατανάλωνε ενέργεια της τάξης των 200KW, καταλάμβανε ένα χώρο 270 τμ. και ζύγιζε 30 τόνους. Ήταν φορές πιο γρήγορος από τον Mark I επιτυγχάνοντας 300 πολλαπλασιασμούς ανά δευτερόλεπτο. Ο ENIAC είχε ένα σοβαρό μειονέκτημα, κάθε φορά που επρόκειτο να εκτελεστεί ένα διαφορετικό πρόγραμμα, έπρεπε ένα μεγάλο μέρος του να "ξηλωθεί" και να επανασυνδεθεί κατάλληλα, μια και οι εντολές του δεν φυλάσσονταν εσωτερικά, αλλά επιτυγχάνονταν με μεταβολές σε εξωτερικές καλωδιώσεις.

6 6 ENIAC Ήταν φανερό ότι η εξέλιξη των μηχανών αυτών δεν ήταν σε καλό δρόμο και χρειαζόταν αναθεώρηση των βάσεων σχεδίασης για να γίνουν πιο ευέλικτες και γρήγορες. Αυτό το έκανε ο John Von Neuman, ο οποίος έθεσε τις βάσεις ενός νέου ηλεκτρονικού υπολογιστή, του EDVAC, που ήταν οι εξής: 1. Θα χρησιμοποιηθεί μόνο η δυαδική αριθμητική. 2. Στην μνήμη θα αποθηκεύονται τα δεδομένα αλλά και το πρόγραμμα που θα εκτελεστεί. EDVAC Μετά τις δημοσιεύσεις του Neuman, πολλές ομάδες ερευνητών ξεκίνησαν έναν αγώνα δρόμου για την κατασκευή υπολογιστών βασισμένων στις παραπάνω αρχές. Αποτέλεσμα αυτών των προσπαθειών ήταν να κατασκευαστούν μερικά σημαντικά υπολογιστικά συστήματα όπως οι EDVAC, EDSAC, UNIVAC-1, 701 IBM, 102D, D-100, GE-210, GAMMA 3. Ο πιο σημαντικός από τους υπολογιστές αυτούς ήταν ο UNIVAC-1 (UNIVersal Automatic Computer) ο οποίος μπορεί να χαρακτηριστεί σαν υπολογιστής σταθμός. Αυτό γιατί με την παραγωγή του στις αρχές της δεκαετίας του 50, σηματοδοτεί την εισαγωγή των

7 υπολογιστών στην αγορά και κατ' επέκταση την εκκίνηση της ξέφρενης κούρσας που οδήγησε στην μεγάλη σημερινή ανάπτυξη των υπολογιστών. Επίσης, την περίοδο αυτή κατασκευάστηκε το πρώτο τρανζίστορ (1947), που αποτέλεσε τη βάση για τους υπολογιστές της δεύτερης γενιάς. 7 Το πρώτο τρανζίστορ (1947) Η δεύτερη γενιά Ηλεκτρονικών Υπολογιστών ( ) Η δεύτερη γενιά των Ηλεκτρονικών Υπολογιστών χαρακτηρίζεται από την αντικατάσταση των τριόδων λυχνιών από τα τρανζίστορ. Η εισαγωγή του τρανζίστορ προσφέρει μια σημαντική μείωση του όγκου των μηχανών με ταυτόχρονη ελάττωση της απαιτούμενης ηλεκτρικής ενέργειας και αύξηση της ταχύτητας των υπολογισμών. Οι πρώτες μηχανές της εποχής αυτής ήταν η σειρά 1401 της IBM και η μηχανή GAMMA 60 της Bull. IBM 1041 Ένα άλλο πολύ σημαντικό στοιχείο της 2ης γενιάς είναι η εμφάνιση των πρώτων γλωσσών υψηλού επιπέδου, για την συγγραφή προγραμμάτων εφαρμογών, εξέλιξη καθοριστικής σημασίας για τη γρήγορη διάδοση των Η/Υ. Το 1957 παρουσιάζεται από τον John Backus ο πρώτος μεταγλωττιστής της Fortran, ενώ λίγο αργότερα η γλώσσα Cobol. Πρέπει να σημειωθεί, ότι παράλληλα με την ανάπτυξη των συστημάτων 2ης γενιάς εμφανίστηκε και

8 μια νέα βιομηχανία που βασίστηκε στην ιδέα της ολοκλήρωσης τρανζίστορς και άλλων στοιχείων, σε κυκλώματα που θα μπορούσαν να τοποθετηθούν πάνω σε ένα μικτό τεμάχιο πυριτίου ή chip όπως και επικράτησε τελικά. Έτσι αν και κατά τη χρονική περίοδο της 2ης γενιάς σημειώθηκαν εμπορικές αποτυχίες, στην πραγματικότητα τέθηκαν οι τεχνικές βάσεις που επέτρεψαν την μετέπειτα, χωρίς προηγούμενο ανάπτυξη των ηλεκτρονικών υπολογιστών. Επίσης, λόγω της εισαγωγής του τρανζίστορ, οι δυνατότητες των υπολογιστών της γενιάς αυτής έφτασαν σε ταχύτητα τις εντολές /δευτερόλεπτο και χωρητικότητα κεντρικής μνήμης χαρακτήρες, που όμως αποτελούνταν από μαγνητικούς δακτυλίους. 8

9 3. Τρίτη και Τέταρτη γενιά 9 Η τρίτη γενιά Ηλεκτρονικών Υπολογιστών ( ) Η τρίτη γενιά των ηλεκτρονικών υπολογιστών χαρακτηρίζεται από τη μερική αντικατάσταση του τρανζίστορ και των άλλων ηλεκτρονικών στοιχείων από τα ολοκληρωμένα κυκλώματα. Τα ολοκληρωμένα κυκλώματα συγκεντρώνουν μέσα σε μια μικρή επιφάνεια της τάξεως του 1 cm 2 πάρα πολλά ηλεκτρονικά στοιχεία (τρανζίστορς, διόδους κ.λπ.). Το πρώτο ολοκληρωμένο κύκλωμα Η είσοδος των ολοκληρωμένων κυκλωμάτων έδωσε νέες δυνατότητες στους κατασκευαστές, τέτοιες ώστε να χαρακτηριστεί σαν η επανάσταση στην τεχνολογία των ηλεκτρονικών υπολογιστών. Η αρχή έγινε στις 7 Μαρτίου 1964 όταν η IBM παρουσίασε την σειρά 360 ("υπολογιστής όλων των διευθύνσεων"). Η παρουσίαση αυτή είχε δύο άμεσα αποτελέσματα: 1. Το ξεκίνημα μιας κούρσας μεταξύ των ανταγωνιστών για κάτι ανάλογο. 2. Τη συνειδητοποίηση του πραγματικού προβλήματος των υπολογιστών, του λογισμικού. IBM 360

10 Ο IBM 360 ήταν ο πρώτος υπολογιστής, ο οποίος διέθετε "λειτουργικό σύστημα", ένα πρόγραμμα επόπτη, που ήταν επιφορτισμένο με το συγχρονισμό των διαφόρων οργάνων και την εκτέλεση των προγραμμάτων των χρηστών. Ένα άλλο χαρακτηριστικό του IBM 360 ήταν η εισαγωγή και χρήση των μαγνητικών δίσκων, γεγονός που χαρακτηρίζει επίσης την τρίτη γενιά των υπολογιστών. Την εποχή αυτή η CDC κατασκεύασε το μοντέλο 3600 και λίγο αργότερα το 6600 που ήταν ο ισχυρότερος υπολογιστής την περίοδο 60-75, ικανός να εκτελεί πολλά εκατομμύρια πράξεις το δευτερόλεπτο και χρησιμοποιήθηκε κυρίως σε στρατιωτικές υπηρεσίες και την μετεωρολογία. Την περίοδο της τρίτης γενιάς εμφανίστηκαν και οι μίνι υπολογιστές σαν απάντηση στην ανάγκη για μικρότερους και φθηνότερους υπολογιστές, που ζητούσαν οι μικρότερες επιχειρήσεις. Την εποχή αυτή όμως παρουσιάζεται μεγάλη ανάπτυξη και στο λογισμικό (software). Αναπτύσσονται και βελτιώνονται οι γλώσσες υψηλού επιπέδου (Cobol, Algol, Fortran κλπ) και ενσωματώνονται στα νέα λειτουργικά συστήματα. Επίσης αυτή την εποχή κάνει και την εμφάνιση σε πρακτική εφαρμογή η ιδέα του καταμερισμού του χρόνου (timesharing), που είχε αρχικά αναπτυχθεί στο MIT. Με την βοήθεια αυτής της τεχνικής δίδεται στον κάθε χρήστη η ψευδαίσθηση ότι ο υπολογιστής ασχολείται συνέχεια μαζί του ενώ στην πραγματικότητα του δίδεται μόνο ένα μικρό κλάσμα του συνολικού χρόνου, που όμως είναι αρκετό για τις δυνατότητες του υπολογιστή. Συμπερασματικά, οι μηχανές της τρίτης αυτής γενιάς έφτασαν τα πέντε εκατομμύρια εντολές το δευτερόλεπτο με κύριες μνήμες ημιαγωγών της τάξης των δύο εκατομμυρίων χαρακτήρων, ενώ έγινε αντιληπτή και η ανάγκη σοβαρής αντιμετώπισης της δημιουργίας προγραμμάτων, με αποτέλεσμα τη δημιουργία των πρώτων οίκων λογισμικού. Η τέταρτη γενιά Ηλεκτρονικών Υπολογιστών ( ) Η γενιά αυτή χαρακτηρίζεται από πολλές και σημαντικές εξελίξεις. Κατ' αρχήν από την κατασκευή ολοκληρωμένων κυκλωμάτων LSI (Large ScaleIntegration) και VLSI (Very Large Scale Integration), κυκλωμάτων δηλαδή που ενσωματώνουν χιλιάδες ηλεκτρονικά στοιχεία σε επιφάνειες της τάξης του 1cm 2. Οι τεχνολογίες αυτές έχουν οδηγήσει σε μια άνευ προηγουμένου μείωση του όγκου και του κόστους και αύξηση της χωρητικότητας της μνήμης και της ταχύτητας των ηλεκτρονικών υπολογιστών. Ένα άλλο χαρακτηριστικό αυτής της εποχής είναι η εισαγωγή της λεγόμενης παράλληλης επεξεργασίας που στην κυριολεξία "εκτοξεύει" την υπολογιστική ισχύ στα δισεκατομμύρια πράξεις το δευτερόλεπτο. Αν και παλαιότερα η παράλληλη επεξεργασία αποτελούσε μονοπώλιο των υπερυπολογιστών, στις μέρες μας όλα σχεδόν τα μικρά συστήματα κάνουν χρήση παράλληλης επεξεργασία, ανεβάζοντας κατακόρυφα την υπολογιστική τους ισχύ. Στις αρχές της περιόδου αυτής αναπτύσσεται στο κέντρο ερευνών της Xerox η ιδέα των γραφικών περιβαλλόντων χρήστη (GUIs-Graphical User Interface). Σύμφωνα με αυτά, η επικοινωνία ανθρώπου μηχανής γίνεται ιδιαίτερα φιλική, μια και οι εντολές προς τον υπολογιστή δίδονται μέσω χειρισμού εικονιδίων, παραθύρων κλπ. Περιβάλλοντα, που ως γνωστόν, σήμερα χρησιμοποιούνται κατά κόρον. Το πιο βασικό όμως χαρακτηριστικό της τέταρτης γενιάς είναι η τεράστια ανάπτυξη των μικροϋπολογιστών και ιδιαίτερα των προσωπικών υπολογιστών (PCs -Personal Computers). Ας δούμε όμως πιο αναλυτικά την ιστορία των προσωπικών υπολογιστών. Όπως έχει ήδη αναφερθεί, στην χρονική περίοδο της δεύτερης γενιάς των ηλεκτρονικών υπολογιστών άρχισε να υλοποιείται η ιδέα της ολοκλήρωσης τρανζίστορ και άλλων ηλεκτρονικών στοιχείων σε κυκλώματα που θα μπορούσαν να χωρέσουν σε ένα μικρό τεμάχιο πυριτίου (chip). Η ιδέα αυτή αποδείχτηκε ιδιαίτερα επιτυχημένη, με αποτέλεσμα από το 1965 και μετά να παρατηρείται κάθε χρόνο διπλασιασμός των ηλεκτρονικών στοιχείων που μπορούσαν να χωρέσουν σε ένα chip (νόμος του Moore). Η πρόοδος αυτή γρήγορα οδήγησε στο εξάρτημα που μπορούμε να πούμε ότι άλλαξε πολλά πράγματα στον 10

11 κόσμο: το μικροεπεξεργαστή (microprocessor), την καρδιά δηλαδή του υπολογιστή σε ένα ολοκληρωμένο κύκλωμα. Ένας πλήρης υπολογιστής μπορεί να κατασκευαστεί από ένα μικροεπεξεργαστή, μια μνήμη και μερικά άλλα κυκλώματα υποστήριξης. Η ιστορία του μικροεπεξεργαστή φτάνει πίσω γύρω στο 1969, όταν οι μηχανικοί Victor Poor και Harry Pyle της εταιρίας Datapoint ανέπτυξαν ένα πρώτο μοντέλο. Η ανάπτυξη του μοντέλου αυτού, επινοήθηκε σαν εναλλακτική λύση στην κατασκευή υπολογιστών ειδικής χρήσης. Επειδή η Datapoint δεν κατασκεύαζε ηλεκτρονικά στοιχεία οι δύο μηχανικοί μετέφεραν το μοντέλο τους στην IBM. Έτσι γεννήθηκε ο πρώτος μικροεπεξεργαστής, ο ιστορικός 4004 της Intel. 11 Intel 4004 Ο 4004 ήταν πολύ περιορισμένων δυνατοτήτων, αλλά ακολούθησε ο ισχυρότερος 8008 το 1971 και ο 8080 το 1974 που από πολλούς θεωρείται σαν ο "προπομπός" των προσωπικών υπολογιστών. Οι πρώτοι υπολογιστές βασισμένοι σε μικροεπεξεργαστές, που καταγράφηκαν στην ιστορία, είναι ο Sceibi-8H και ο Altair Altair 8800 Το εσωτερικό του Οι υπολογιστές αυτοί μαζί με την ταυτόχρονη ανάπτυξη εκ μέρους των Bill Gates και Paul Allen ενός διερμηνευτή της γλώσσας Basic για τους μικροεπεξεργαστές της Intel, θεωρείται από πολλούς σαν " η ανάφλεξη της έκρηξης των προσωπικών υπολογιστών". Στην εποχή αυτή κάνουν τα πρώτα τους βήματα και τα λεγόμενα "πακέτα" εφαρμογών για τους προσωπικούς υπολογιστές. Ένα από τα πρώτα ιστορικά προϊόντα είναι το VisiCalc (1978) το οποίο ήταν ένα πακέτο λογιστικού φύλλου και συνόδευε τον προσωπικό υπολογιστή Apple II. Με την άφιξη της δεκαετίας του 80, εμφανίστηκαν στην αγορά πολλά επιπλέον αξιόλογα μηχανήματα, η επιτυχία των οποίων ανάγκασε την IBM να εισβάλει στον χώρο παραγωγής προσωπικών υπολογιστών. Η είσοδος της IBM καθιέρωσε κάποια πρότυπα στο χώρο,

12 γεγονός που οδήγησε στην τεράστια ανάπτυξη και εξέλιξη των προσωπικών υπολογιστών. Το 1984 γίνεται η είσοδος στην αγορά του Apple Macintosh, ο οποίος εισήγαγε, στο χαμηλού κόστους χώρο των προσωπικών υπολογιστών, τον πολύ φιλικό τρόπο επικοινωνίας ανθρώπου μηχανής με την χρήση εικονιδίων και παραθύρων διαλόγου. 12

13 Παρουσίαση του υπολογιστή 1. Πώς λειτουργεί ένας ηλεκτρονικός υπολογιστής 13 Οι κύριες διεργασίες του υπολογιστή Ό λοι οι υπολογιστές, από τους προσωπικούς μέχρι και τα πιο μεγάλα mainframes, κάνουν περίπου την ίδια λειτουργία πάνω στην πληροφορία. Αυτό που αλλάζει κάθε φορά, είναι ο τρόπος διαχείρισης της πληροφορίας, πόση πληροφορία μετακινείται και πόσο γρήγορα και αποδοτικά μπορεί να γίνει αυτό. Παρακάτω θα δούμε τις κύριες εργασίες που κάνει ο υπολογιστής. Επεξεργασία πληροφορίας (υπολογισμός) Όταν μιλάμε για υπολογιστές και τι αυτοί είναι, πάντα σκεφτόμαστε ότι αυτό το "κουτί" κάνει υπολογισμούς. Στην πραγματικότητα, αυτή είναι η πιο σημαντική λειτουργία του. Υπολογισμός, είναι επίσης μια άλλη λέξη για τη "μετατροπή πληροφορίας", που σημαίνει αλλαγή της πληροφορίας από τη μία μορφή στην άλλη. Ο υπολογιστής ξοδεύει ένα ελάχιστο ποσοστό από το χρόνο του κάνοντας ακριβώς αυτό: εκτέλεση μαθηματικών υπολογισμών (αλλάζοντας αριθμούς σε άλλους αριθμούς), και μεταφράζοντας πληροφορία από τη μία μορφή στην άλλη (για παράδειγμα όταν ένα παιχνίδι καθορίζει τι θα δείξει στην οθόνη για να δούμε εμείς). Μία ειδική μορφή πληροφορίας που επεξεργάζεται ο υπολογιστής, είναι οι εντολές τους. Αυτές είναι εντολές τις οποίες οι προγραμματιστές δίνουν στον υπολογιστή, για να του πουν τι να κάνει. Κάθε φορά που κάνουμε οτιδήποτε με τον υπολογιστή, στην πραγματικότητα "μιλάμε" σε ένα πρόγραμμα το οποίο "μιλάει" στον υπολογιστή. Η γλώσσα, την οποία "κατανοεί" ο υπολογιστής και που ονομάζεται γλώσσα μηχανής (machine language), είναι πολύ πολύπλοκη και δύσκολο να κατανοηθεί, κάτι που εξηγεί γιατί είναι κρυφή από τους κοινούς χρήστες. Το κύριο μέρος ενός υπολογιστή, το οποίο και επεξεργάζεται την πληροφορία, είναι ο επεξεργαστής. Επικοινωνία ανθρώπου υπολογιστή

14 Αποθήκευση πληροφορίας Ο υπολογιστής αποθηκεύει διαφορετικούς τύπου πληροφορίας με διαφορετικούς τρόπους, ανάλογα με το τί είναι αυτή η πληροφορία, πόσο αποθηκευτικό χώρο απαιτεί και πόσο γρήγορα πρέπει να προσπελαύνεται. Αυτή η πληροφορία αποθηκεύεται στη δική της "βραχυχρόνια" και "μακροχρόνια" μνήμη. Η κύρια μνήμη RAM κρατά την πληροφορία την οποία εμείς ή ο υπολογιστής δουλεύουμε αυτή τη στιγμή. Αυτή είναι η "βραχυχρόνια" μνήμη, και σχεδιάζεται να είναι ικανή να δίνει πληροφορία στον επεξεργαστή σε πολύ υψηλή ταχύτητα έτσι ώστε αυτός να μην καθυστερείται περιμένοντας τις απαραίτητες πληροφορίες από τη μνήμη. Ωστόσο, αυτό το είδος μνήμης χάνει τα δεδομένα που κρατά όταν ο υπολογιστή τεθεί εκτός λειτουργίας. Αυτό είναι που μας κάνει πάντα να πρέπει να σώσουμε ένα αρχείο το οποίο επεξεργαζόμαστε, πριν να κλείσουμε τον υπολογιστή. Η μακροχρόνια αποθήκευση παρέχεται από το σκληρό δίσκο, τον εύκαμπτο δίσκο και άλλες συσκευές, όπου αποθηκεύεται η πληροφορία μόνιμα σε μορφή αρχείων, έτοιμη για επανάκτηση όταν ο χρήστη τη χρειάζεται. Όταν για παράδειγμα θέλουμε να χρησιμοποιήσουμε το πρόγραμμα Excel, ο υπολογιστής φορτώνει τις εντολές οι οποίες βρίσκονται στο σκληρό δίσκο και οι οποίες λένε στον υπολογιστή πώς να το τρέχει. Για την αποθήκευση αυτή, ο σκληρός δίσκος είναι η μακροχρόνια μνήμη αφού δεν χάνει τα δεδομένα όταν ο υπολογιστής δεν λειτουργεί. 14 Αποθήκευση πληροφορίας Μεταφορά πληροφορίας και επικοινωνία Ο υπολογιστής επίσης ελέγχει τη μετακίνηση της πληροφορίας από το ένα μέρος στο άλλο. Διαβάζει την πληροφορία που πληκτρολογούμε στο πληκτρολόγιο, την μεταφέρει στην κύρια μνήμη και τέλος την εμφανίζει στην οθόνη και την αποθηκεύει σε ένα αρχείο. Αυτή η μεταφορά ονομάζεται Είσοδος/Έξοδος (Input/Output - I/O) και αναφέρεται στον τρόπο με τον οποίο ο υπολογιστής μιλάει σε εμάς αλλά και τις υπόλοιπες συσκευές που είναι συνδεδεμένες μαζί του. Η μεταφορά πληροφορίας μεταξύ υπολογιστών είναι επίσης μία σημαντική λειτουργία των σύγχρονων υπολογιστών. Ο υπολογιστής χρησιμοποιεί συσκευές δικτύωσης, καλώδια και modems, για να επιτρέπει την επικοινωνία με άλλες μηχανές.

15 2. Πώς υπολογίζει ένας ηλεκτρονικός υπολογιστής 15 Γενικά, ένας υπολογιστής είναι μία μηχανή η οποία χειρίζεται πληροφορία, που μερικές φορές ονομάζεται δεδομένα (data). Η πληροφορία μπορεί να πάρει διάφορες μορφές. Μπορούμε να δούμε αυτές τις διαφορετικές μορφές κάθε στιγμή που χρησιμοποιούμε έναν υπολογιστή. Για παράδειγμα ένα κείμενο στην οθόνη του υπολογιστή (όπως τώρα αυτό), τα σήματα από τα πλήκτρα που πατάμε σε ένα πληκτρολόγιο, τα αρχεία που έχουμε στο σκληρό δίσκο κ.α. είναι μορφές πληροφορίας που υπάρχουν σε έναν υπολογιστή, ο οποίος τις διαχειρίζεται. Αναλογική και ψηφιακή πληροφορία Υπάρχουν δύο τρόποι για να αναπαραστήσουμε την πληροφορία. Η πληροφορία η οποία είναι συνεχόμενη, όπως κάθε κομμάτι πληροφορίας που μπορεί να αποκτηθεί από ένα απεριόριστο σύνολο τιμών, ονομάζεται αναλογική. Για παράδειγμα, ο χρόνος, η θερμοκρασία, η ταχύτητα του αυτοκινήτου κ.α, όλα αυτά έχουν μία συνεχόμενη περιοχή τιμών. Η ψηφιακή πληροφορία περιορίζεται από ένα περιορισμένο σύνολο τιμών. Για παράδειγμα, μία φωτεινή σηματοδότηση είναι κόκκινη, πορτοκαλί ή πράσινη. Ποτέ δεν είναι κάτι μεταξύ πράσινου και κόκκινου. Οι υπολογιστές χρησιμοποιούν μία μορφή ψηφιακής πληροφορίας που ονομάζεται δυαδική πληροφορία. Εδώ, η πληροφορία περιορίζεται μόνο σε δύο τιμές: ένα ή μηδέν. Αναπαράσταση δυαδικής πληροφορίας Οι λόγοι που χρησιμοποιείται αυτή η πληροφορία είναι πολλοί: Απλότητα: Είναι ο απλούστερος, περισσότερο περιεκτικός και λιγότερο διφορούμενος τρόπος να εκφράσουμε πληροφορία σχετικά με κάτι: για παράδειγμα, μηδέν = κλειστό, ένα = ανοικτό, αυτή η ερμηνεία θα μπορούσε να χρησιμοποιηθεί για την κατάσταση ενός κυκλώματος φωτισμού σε ένα σπίτι.

16 Επεκτασιμότητα: Είναι εύκολο να αναπτύξουμε και να επεκτείνουμε: μπορούμε να χρησιμοποιήσουμε δύο δυαδικές τιμές μαζί για να αναπαραστήσουμε τις καταστάσεις δύο κυκλωμάτων φωτισμού που είπαμε πιο πριν. Σαφήνεια: Τα λάθη μειώνονται όταν μία τιμή μπορεί μόνο να είναι 0 ή 1. Ο υπολογιστής ξέρει ότι δεν υπάρχουν τιμές μεταξύ του 0 και του1, κάτι που είναι πολύ χρήσιμο όταν κάποια ηλεκτρικά σήματα γίνονται "βρώμικα", δηλαδή αλλοιώνονται. Αν μία τιμή 0.95 φανεί στην γραμμή του modem, ο υπολογιστής ξέρει ότι είναι πολύ πιθανό αυτή να είναι το 1, αφού το 0.95 δεν είναι μία έγκυρη τιμή. Έτσι θα μεταφράσει το 0.95 σε 1 και δεν θα υπάρξει απώλεια δεδομένων. Ταχύτητα: Οι υπολογιστές παίρνουν εκατομμύρια αποφάσεις σε ένα δευτερόλεπτο και αυτές οι αποφάσεις είναι ευκολότερο να παίρνονται όταν ο αριθμός των τιμών είναι μικρός. 16 Αναλογική & ψηφιακή πληροφορία Η ψηφιακή πληροφορία συχνά αναπαριστάται μόνο σε δυαδική μορφή, αλλά δεν πρέπει να είναι έτσι. Ένα καλό παράδειγμα είναι τα audio CDs, όπου αποθηκεύεται πληροφορία σαν ψηφιακά δείγματα. Το πλεονέκτημα της ψηφιακής δειγματοληψίας είναι ότι η πληροφορία είναι η ίδια κάθε στιγμή που διαβάζεται, έτσι δεν υπάρχει απώλεια στην ποιότητα με το πέρασμα του χρόνου, όπως συμβαίνει με τους συμβατικούς μαγνητικούς αναλογικούς δίσκους pick-up. Ψηφιακή δειγματοληψία αναλογικής πληροφορίας

17 Τα μαθηματικά των υπολογιστών (Δυαδικό σύστημα) Υπάρχουν διάφορα συστήματα αρίθμησης που έχουν το καθένα τα πλεονεκτήματα και τα μειονεκτήματα τους. Τα μειονεκτήματα πηγάζουν κυρίως από τον τρόπο απεικόνισης μεγάλων αριθμών και τα λάθη που προκύπτουν κατά την εκτέλεση των πράξεων. Το δεκαδικό σύστημα αρίθμησης είναι το πιο "οικείο" αφού έχουμε συνηθίσει να εργαζόμαστε με αυτό. Η βάση του συστήματος είναι το 10, ενώ η πραγματική αξία ενός αριθμού που βρίσκεται στο δεκαδικό σύστημα διαμορφώνεται από τα 10 ψηφία (0,1,2,..,9) σε συνδυασμό με την θέση τους μέσα στον αριθμό : 3423(10) = 3* * *10 + 3*1. Παρόλο που στην καθημερινή μας ζωή το δεκαδικό σύστημα έχει κυριαρχήσει, δεν μπορεί να χρησιμοποιηθεί από τους Η/Υ για τον εξής απλό λόγο : Για να γίνει η αναπαράσταση των 10 διαφορετικών ψηφίων χρειαζόμαστε δέκα διαφορετικές καταστάσεις (10 διαφορετικά επίπεδα τάσης). Αυτό βέβαια είναι υλοποιήσιμο αλλά το κύκλωμα που θα δημιουργηθεί θα έχει μεγάλο βαθμό πολυπλοκότητας και αυξημένο κόστος οπότε πρέπει να χρησιμοποιηθεί ένα πιο απλό σύστημα αρίθμησης. Από τα παραπάνω πηγάζει η ανάγκη της υιοθέτησης του δυαδικού συστήματος αρίθμησης για την εσωτερική αναπαράσταση των δεδομένων στους Η/Υ. Το δυαδικό σύστημα αρίθμησης έχει βάση το 2 και διαθέτει 2 ψηφία, το 0 και το 1. Τώρα χρειαζόμαστε μόνο 2 διαφορετικές καταστάσεις (2 επίπεδα τάσης) για να αναπαραστήσουμε τα ψηφία του δυαδικού συστήματος. Η πραγματική αξία ενός αριθμού που βρίσκεται στο δυαδικό σύστημα διαμορφώνεται από τα 2 ψηφία (0,1) σε συνδυασμό με την θέση τους μέσα στον αριθμό, ενώ κατά αντιστοιχία αντί για μονάδες, δεκάδες, εκατοντάδες,... που έχουμε στο δεκαδικό σύστημα αρίθμησης υπάρχουν δυνάμεις του 2 δηλαδή μονάδες, δυάδες, τετράδες, οκτάδες, (2) =1* * * * * * * *2 0. Ο αριθμός του δυαδικού συστήματος αποτελείται από μια 128-άδα ( ), μηδέν 64-άδες ( ), μια 32-άδα ( ), μια 16-άδα ( ), μηδέν 8-άδες ( ), μηδέν 4-άδες ( ), μηδέν 2-άδες ( ) και μηδέν μονάδες ( ). Στο παρακάτω σχήμα προσομοιώνεται ο τρόπος αναπαράστασης της πληροφορίας στο δυαδικό σύστημα με τη χρησιμοποίηση διακοπτών ON-OFF. 17 Bits - Bytes Απεικόνιση ενός Byte με τη χρήση διακοπτών Κάθε "0" ή "1" ονομάζεται bit. Η λέξη bit είναι σύντμηση των λέξεων binary digit (δυαδικό ψηφίο). Ο χαρακτηρισμός "δυαδικό" προέρχεται από το δυαδικό σύστημα αρίθμησης. Το bit αποτελεί την ελάχιστη μονάδα μέτρησης. Μια ομάδα αποτελούμενη από οκτώ bits ονομάζεται byte (ή ψηφιομάδα). Η μικρότερη ποσότητα πληροφορίας που μπορούμε να δούμε εμείς στον υπολογιστή καταλαμβάνει ένα byte μνήμης. Αφού κάθε bit μπορεί να πάρει 2 διαφορετικές τιμές (0 ή 1), κάθε byte που αποτελείται από 8 bits μπορεί πάρει 2 8 =256 διαφορετικές τιμές. Η ποσότητα πληροφορίας του ενός byte είναι πολύ μικρή και

18 συνεπώς χρησιμοποιούμε κάποια πολλαπλάσια της ποσότητας αυτής. Οι μονάδες που χρησιμοποιούνται είναι: 1 KB (Kilo Byte) είναι 2 10 =1024 bytes 1 MB (Mega Byte) είναι 2 20 =1024 KB 1 GB (Giga Byte) είναι 2 30 =1024 MB 1 TB (Tera Byte) είναι 2 40 =1024 GB Λογισμικό και υλικό Όπως είναι γνωστό, ένας υπολογιστής αποτελείται από το υλικό μέρος (hardware) και το λογισμικό μέρος (software). Κατά κάποιο τρόπο η αναλογία μπορεί να θεωρηθεί ότι το υλικό είναι το σώμα και το λογισμικό είναι το μυαλό. Αν ο επεξεργαστής είναι ο "εγκέφαλος", τότε το λογισμικό είναι αυτό που κάνει τον εγκέφαλο να λειτουργεί και να σκέφτεται. Κάθε ένα και όλα όσα συμβαίνουν μέσα στον υπολογιστή, ελέγχονται από κάποιο είδος λογισμικού, είτε αυτό είναι το λειτουργικό σύστημα, ή οι εφαρμογές, ή οι οδηγοί των συσκευών κ.α. Εντολές υπολογιστών Ένας επεξεργαστής μπορεί να καταλάβει μόνο μερικές περιορισμένες εντολές, οι οποίες είναι συνήθως αρκετά στοιχειώδεις: για παράδειγμα, ο επεξεργαστής μπορεί να πολλαπλασιάσει δύο αριθμούς, ή να πάρει μία απόφαση βασισμένη στο αποτέλεσμα της σύγκρισης ενός αριθμού με κάποιον άλλο, ή να μεταφέρει τα περιεχόμενα μίας θέσης μνήμης σε μία άλλη. Όλα τα προγράμματα που χρησιμοποιούμε σε έναν υπολογιστή, έχουν γίνει από αυτές τις μαθηματικές αρχές, ακόμη και αυτά τα οποία είναι πολύ πολύπλοκα όσο και αν δεν μπορούμε να το πιστέψουμε. Το να κάνουμε τον υπολογιστή ικανό να εκτελέσει π.χ. μία ενέργεια ταξινόμησης χαρακτήρων με αλφαβητική σειρά, κάποιος πρέπει να γράψει ένα πρόγραμμα το οποίο κατασκευάζεται από αυτές τις απλές αρχές του επεξεργαστή και εκτελεί τη λειτουργία που χρειάζεται να γίνει. Μόλις γίνει αυτό, ο υπολογιστής μπορεί να κάνει αυτή τη δουλειά πάρα πολύ γρήγορα επειδή έχει πολύ μεγάλη ταχύτητα (μπορεί να εκτελεί εκατομμύρια εντολών ανά δευτερόλεπτο). Αν τώρα θελήσουμε να κάνουμε μία άλλη δουλειά, πρέπει να γράψουμε ένα άλλο, τελείως διαφορετικό πρόγραμμα, το οποίο θα δίνει εντολές στον υπολογιστή να κάνει τη δουλειά που αυτή τη φορά εμείς θέλουμε. Τα προγράμματα αυτά δεν είναι τίποτα άλλο από μία περιγραφή βημάτων, κάθε ένα από τα οποία μπορεί να περιέχει περισσότερες της μίας εντολές. Είναι λοιπόν σημαντικό να καταλάβουμε ότι κάθε λειτουργία που γίνεται σε έναν υπολογιστή, έχει πίσω της μία εντολή που διέταξε τον υπολογιστή να την εκτελέσει. Γλώσσες υπολογιστών Οι μόνες γλώσσες που ο υπολογιστής καταλαβαίνει, είναι η δυαδική γλώσσα μηχανής. Έτσι για παράδειγμα, αν εμείς πούμε στον υπολογιστή να προσθέσει τους αριθμούς 181 και 207, η εντολή μπορεί να είναι " ". Ωστόσο υπάρχουν γλώσσες που όπως λέμε είναι υψηλού επιπέδου και δρουν σαν ένας "συμβιβασμός" ανάμεσα στο τί καταλαβαίνει ο υπολογιστής και τί ο άνθρωπος. Οι γλώσσες αυτές δεν μοιάζουν φυσικώς με τις ομιλούμενες γλώσσες, αλλά χρησιμοποιούν σύμβολα τα οποία είναι σχετικά εύκολο να τα μάθουμε. Για παράδειγμα, σε μία γλώσσα υψηλού, η εντολή του να προσθέσει δύο αριθμούς μπορεί να είναι "X = ". Οι C, BASIC, PASCAL και FORTRAN είναι μερικά παραδείγματα τέτοιων γλωσσών. Πώς όμως καταλαβαίνει ο υπολογιστής τί να κάνει όταν διαβάζει μία εντολή όπως η προηγούμενη; Δεν μπορεί να καταλάβει άμεσα. Έτσι υπάρχει ένα ειδικό πρόγραμμα το οποίο ονομάζεται compiler (μετφραστής), το οποίο χρησιμοποιείται για να μεταφράσει τις εντολές τη υψηλού επιπέδου γλώσσας σε μορφή κατανοητή από τον υπολογιστή. 18

19 19 Επικοινωνία ανθρώπου - υπολογιστή

20 3. Τι συμβαίνει όταν πατάμε ένα πλήκτρο 20 Για να εξηγήσουμε πως δουλεύει ένας υπολογιστής, ας πάρουμε ένα απλό παράδειγμα. Ας υποθέσουμε ότι χρησιμοποιούμε έναν επεξεργαστή κειμένου και πληκτρολογούμε το γράμμα "Μ". Τι ακριβώς γίνεται όταν πατάμε το πλήκτρο "Μ"; Το πληκτρολόγιο στέλνει ένα ηλεκτρικό σήμα στον υπολογιστή λέγοντας ότι ένα πλήκτρο πατήθηκε. Ο ελεγκτής του πληκτρολογίου ερμηνεύει αυτό το σήμα και αποφασίζει ότι το γράμμα που πατήθηκε ήταν ένα "Μ". Αποθηκεύει αυτό το "Μ" σε μια ειδική τοποθεσία μνήμης μέχρι ο επεξεργαστής να είναι έτοιμος να ασχοληθεί μαζί του. Ο ελεγκτής στέλνει ένα σήμα στον επεξεργαστή, το οποίο ονομάζεται διακοπή. Μία διακοπή λέει στον επεξεργαστή ότι κάποιες συσκευές του υπολογιστή έχουν πληροφορίες για να τις επεξεργαστεί και θέλουν την προσοχή του. Σε αυτή την περίπτωση ο ελεγκτής θέλει ο επεξεργαστής να κοιτάξει στο πλήκτρο που μόλις πατήθηκε. Ο επεξεργαστής συνήθως κάνει πολλά, μοιράζοντας τον χρόνο του σε πολλές απαιτήσεις. Έτσι πολλά γεγονότα πρέπει να περιμένουν τη σειρά τους. Ο επεξεργαστής εξυπηρετεί τις διακοπές βάσει της προτεραιότητάς τους. Όταν φτάνει η ώρα να ασχοληθεί με το πάτημα του κουμπιού, ο επεξεργαστής το κατευθύνει στο πρόγραμμα για το λειτουργικό σύστημα που χρησιμοποιούμε. Υποθέτοντας ότι χρησιμοποιούμε ένα λειτουργικό σύστημα πολυεργασίας, όπως τα Windows 95, το λογισμικό του λειτουργικού συστήματος αποφασίζει σε πιο παράθυρο πατήθηκε το πλήκτρο και στέλνει ένα μήνυμα στο παράθυρο αυτό λέγοντας ότι ένα πλήκτρο πατήθηκε.

21 Το παράθυρο αποφασίζει τι θα κάνει με αυτό το πλήκτρο που πατήθηκε. Εφόσον στην περίπτωσή μας έχουμε να κάνουμε με επεξεργαστή κειμένου και το πλήκτρο που πατήθηκε ήταν ένα γράμμα, ο επεξεργαστής κειμένου θα τοποθετήσει αυτό το γράμμα (Μ) στην περιοχή εργασίας, της μνήμης, για το αρχείο που έχουμε ανοίξει. Το γράμμα θα καταλάβει ένα byte από τη μνήμη του υπολογιστή. Διαφορετικά πλήκτρα, ο επεξεργαστής θα τα χειριζόταν με διαφορετικό τρόπο, για παράδειγμα αν πατούσαμε ένα πλήκτρο που θα έκλεινε τον επεξεργαστή κειμένου. Το παράθυρο θα καλέσει μετά το λειτουργικό σύστημα να εκτυπώσει το γράμμα στην οθόνη. Το λειτουργικό συστήματα θα εμφανίσει το γράμμα στην οθόνη προσθέτοντάς το στη μνήμη της κάρτας γραφικών. Την επόμενη στιγμή που η κάρτα γραφικών θα ανανεώσει την οθόνη, ανατυπώνοντας ότι υπάρχει στην κάρτα γραφικών, το γράμμα θα εμφανιστεί στην οθόνη. Οι περισσότερες κάρτες ανανεώνουν την οθόνη από 60 έως 100 φορές το δευτερόλεπτο. 21 Μολονότι θα γίνουν πάρα πολλά, όλα αυτά θα συμβούν ακαριαία, γιατί ο υπολογιστής λειτουργεί με πολύ μεγαλύτερη ταχύτητα από αυτή που ο άνθρωπος μπορεί να διακρίνει αμέσως. Παρόλη όμως την ψευδαίσθηση που δημιουργείται από την ταχύτητα του επεξεργαστή, πάρα πολλές δραστηριότητες πραγματοποιούνται μέσα στον υπολογιστή ακόμα και για την πιο απλή λειτουργία.

22 4. Τα βασικά μέρη ενός υπολογιστή 22 Εδώ θα δούμε τα διάφορα μέρη ενός τυπικού προσωπικού υπολογιστή. Οι σύγχρονοι υπολογιστές έχουν τις ρίζες τους στη δεκαετία του '40 στην Αμερική. Κάθε τυπικός προσωπικός υπολογιστής, ακόμη και σήμερα, στηρίζεται στις αρχές που θεμελίωσε ο John von Neuman ( ). Ο Neuman ξεχώρισε τον υπολογιστή στα παρακάτω 5 μέρη: Επεξεργαστής Είσοδος Έξοδος Προσωρινή μνήμη Μόνιμη μνήμη Πρότυπος υπολογιστής / Μοντέλο Neuman Μητρική πλακέτα (Motherboard) και συσκευές συστήματος Η μητρική πλακέτα είναι η βάση ενός σύγχρονου υπολογιστικού συστήματος. Αν ο επεξεργαστής είναι το "μυαλό" του υπολογιστή, τότε θα μπορούσαμε να πούμε ότι η μητρική πλακέτα είναι το "κεντρικό νευρικό σύστημα". Τα κυριότερα μέρη μιας μητρικής πλακέτας είναι: Μητρική πλακέτα: Η μητρική πλακέτα είναι το κύριο σύστημα κυκλωμάτων του υπολογιστή. Εδώ είναι που "κάθονται" ο επεξεργαστής, η κύρια μνήμη, η κρυφή μνήμη, οι κάρτες γραφικών, οι δίαυλοι και οι υποδοχές που συνδέουν τις περιφερειακές συσκευές. Chipset συστήματος και ελεγκτές: Το chipset και το υπόλοιπο σύστημα κυκλωμάτων είναι η "εξυπνάδα" της μητρικής πλακέτας. Η δουλειά του είναι να διευθύνει την κυκλοφορία και να ελέγχει τη ροή της πληροφορίας μέσα στον υπολογιστή. Τα κυκλώματα αυτά ελέγχουν τις προσπελάσεις του επεξεργαστή στη μνήμη, τη ροή δεδομένων από και προς τις περιφερειακές συσκευές και τις

23 γραμμές επικοινωνίας. Το chipset είναι ένα σημαντικό μέρος κάθε υπολογιστή, επειδή παίζει ένα σημαντικό ρόλο στον καθορισμό του τι είδους χαρακτηριστικά υποστηρίζει ο υπολογιστής. Για παράδειγμα, ποιοι επεξεργαστές μπορούν να χρησιμοποιηθούν, ποιά είδη μνήμης, πόσο γρήγορα μπορεί να τρέξει ο υπολογιστής και τι είδους διαύλους μπορούμε να χρησιμοποιήσουμε, είναι όλα άμεσα εξαρτώμενα από το chipset. Δίαυλοι υπολογιστή: Οι δίαυλοι είναι ηλεκτρικά κανάλια, μέσω των οποίων, επικοινωνούν τα διάφορα μέρη του υπολογιστή. Το φυσικό μέρος των διαύλων, αυτό που εμείς βλέπουμε όταν κοιτάξουμε μέσα στη μητρική πλακέτα, είναι ένα σύνολο από υποδοχές στο πίσω μέρος του υπολογιστή, στις οποίες τοποθετούμε την κάρτα γραφικών, την κάρτα ήχου και όλες τις κάρτες του συστήματος. Μέσω των διαύλων αυτών η κάρτα γραφικών παίρνει πληροφορίες από τον επεξεργαστή, ο επεξεργαστής αποθηκεύει δεδομένα στο σκληρό δίσκο, κτλ. Η αρχιτεκτονική, που επιλέγεται για καθέναν από αυτούς τους διαύλους έχει μεγάλη επίδραση στη συνολική απόδοση του υπολογιστή, καθώς και στην επιλογή των διαφόρων καρτών και συσκευών, που μπορούμε να χρησιμοποιήσουμε. Βασικό Σύστημα Εισόδου/ Εξόδου (BIOS): Το βασικό σύστημα E/E είναι ένα πρόγραμμα, το οποίο είναι ενσωματωμένο μέσα στο hardware του υπολογιστή. Είναι το χαμηλότερου επιπέδου πρόγραμμα το οποίο τρέχει μέσα στον υπολογιστή. Η αποστολή του είναι να δρα ως ένα ενδιάμεσο μεταξύ του hardware και του λογισμικού. Ενεργώντας με αυτό τον τρόπο, το λογισμικό δεν χρειάζεται να κάνει διαφορετικά πράγματα σε κάθε υπολογιστή και είναι ο λόγος που το λειτουργικό σύστημα φορτώνεται σε όλα τα μηχανήματα. Το BIOS είναι αυτό που τρέχει όταν ανοίγουμε τον υπολογιστή και αυτό που φορτώνει το λειτουργικό σύστημα. Επίσης, μας επιτρέπει να ορίσουμε διαφορετικές παραμέτρους για τον έλεγχο της λειτουργίας του υπολογιστή. Κρυφή μνήμη: Η κρυφή μνήμη είναι μία μικρή μνήμη υψηλής ταχύτητας, η οποία τοποθετείται μεταξύ του επεξεργαστή και της κύριας μνήμης του συστήματος. Η αξία της μνήμης αυτής είναι η ταχύτητά της, η οποία είναι πολύ μεγαλύτερη από αυτή της κύριας μνήμης. Κάθε φορά που ο επεξεργαστής ζητά μια ποσότητα δεδομένων από τη μνήμη, το σύστημα ελέγχει πρώτα την κρυφή μνήμη για να δει αν η πληροφορία είναι εκεί. Αν ναι, τότε αυτή διαβάζεται από εκεί σε πολύ μικρότερο χρόνο απ' ότι αν θα διαβαζόταν από την κύρια μνήμη. Αν δεν είναι, τότε τα δεδομένα διαβάζονται από την κύρια μνήμη και δίνονται στον επεξεργαστή, αλλά τοποθετούνται επίσης και στην κρυφή μνήμη για την περίπτωση που ο επεξεργαστής τα ξαναχρειαστεί στο κοντινό μέλλον. Πόροι συστήματος: Πόροι συστήματος δεν είναι οι πραγματικές φυσικές συσκευές. Δεν είναι τίποτα, το οποίο εμείς να δούμε μέσα σε έναν υπολογιστή. Είναι ωστόσο, πολύ σημαντικές για δύο λόγους. Πρώτον, δείχνουν το πως οργανώνει και προσπελαύνει τις διάφορες συσκευές του. Δεύτερον, αποτελούν μία από τις πιο συνηθισμένες περιοχές στην οποία οι χρήστες των υπολογιστών έχουν προβλήματα (συγκρούσεις). Υπάρχουν 4 διαφορετικοί τύποι τέτοιων πηγών: Διακοπές (Interrupts / IRQs): Κάθε συσκευή, προκειμένου να εκτελέσει κάποια λειτουργία, ζητά την προσοχή του επεξεργαστή. Για να ζητήσει αυτή την προσοχή, χρησιμοποιεί κάποια ειδικά σήματα, που ονομάζονται διακοπές (Interrupt ReQuests / IRQs). Κάτω από ιδανικές συνθήκες, κάθε συσκευή έχει το δικό της αριθμό διακοπής. Αν δύο συσκευές έχουν τον ίδιο αριθμό, τότε προκύπτει μία σύγκρουση. Ωστόσο, 23

24 Επεξεργαστής νεότερες τεχνολογίες επιτρέπουν να έχουμε πολλές συσκευές με τον ίδιο αριθμό διακοπής. Κανάλια άμεσης προσπέλασης μνήμης (/Direct Memory Access (DMA) Channels): Μερικές συσκευές έχουν την ικανότητα να διαβάζουν απευθείας από την κύρια μνήμη αντί να ζητούν από τον επεξεργαστή να κάνει κάτι τέτοιο γι' αυτές. Αυτό είναι κάτι που βελτιώνει την απόδοση του συστήματος, αφού ο επεξεργαστής μένει ελεύθερος να κάνει άλλες εργασίες. Για να κάνουν οι συσκευές κάτι τέτοιο, χρησιμοποιούν κάποια κανάλια άμεσης προσπέλασης μνήμης. Κάθε συσκευή έχει το δικό της τέτοιο κανάλι. Διευθύνσεις Ε/Ε: Οι συσκευές ενός υπολογιστή ανταλλάσουν πληροφορίες με το σύστημα, τοποθετώντας δεδομένα σε μια συγκεκριμένη περιοχή της κύριας μνήμης. Για παράδειγμα, όταν πατιέται το πλήκτρο "Μ" του πληκτρολογίου, αυτό αποθηκεύεται σε μια συγκεκριμένη περιοχή της μνήμης μέχρι ο επεξεργαστής να ασχοληθεί μαζί του. Έτσι κάθε συσκευή έχει τη δική της περιοχή στην κύρια μνήμη, η οποία ορίζεται από κάποιες διευθύνσεις. Διευθύνσεις μνήμη: Παρόμοια με τις διευθύνσεις Ε/Ε, πολλές συσκευές χρησιμοποιούν blocks μνήμης σαν ένα μέρος της τυπικής τους λειτουργίας, μπορούν για παράδειγμα να χαρτογραφούν εκεί κώδικα του BIOS ή να χρησιμοποιούν μια περιοχή της μνήμης για να κρατούν προσωρινά δεδομένα που χρησιμοποιούν. 24 Το πιο έξυπνο μέρος ενός υπολογιστή και ταυτόχρονα ένα από αυτά που πάντα προσέχουμε περισσότερο, είναι ο επεξεργαστής, που θεωρείται το "μυαλό" του υπολογιστή. Είναι ένα άκρως πολύπλοκο κομμάτι μικροσκοπικών ηλεκτρονικών και συχνά λέγεται και κεντρική μονάδα επεξεργασίας (Central Processing Unit / CPU). Η μονάδα αυτή πίσω από όλες τις λειτουργίες που εκτελεί ένας υπολογιστής. Διαβάζει εντολές (commands) από τη μνήμη, οι οποίες του λένε τι θέλει ο χρήστης να κάνει και αυτός απλά τις εκτελεί. Κύρια μνήμη Η κύρια μνήμη κρατά όλη την "ενεργή" πληροφορία, την οποία χρησιμοποιεί ο υπολογιστής. Όταν κλείνουμε τον υπολογιστή η μνήμη αυτή χάνει τα δεδομένα της. Κάθε πρόγραμμα ή αρχείο δεδομένων που ανοίγουμε, χρησιμοποιεί ένα μέρος της κύριας μνήμης. Όταν κλείσουμε το πρόγραμμα ή το αρχείο, η περιοχή αυτή αδειάζει και είναι διαθέσιμη για άλλες χρήσεις. Γενικά, όσο περισσότερη από αυτή τη μνήμη έχει ένας υπολογιστής, τόσο περισσότερα πράγματα μπορεί να κάνει ταυτόχρονα. Κάρτα γραφικών Η κάρτα γραφικών εκτελεί τη λειτουργία των εικόνων στην οθόνη. Εσωτερικά, μία κάρτα γραφικών είναι μια ειδική μνήμη που ονομάζεται μνήμη γραφικών. Εκεί αποθηκεύεται πληροφορία, η οποία αναπαριστά ό,τι εμείς βλέπουμε στην οθόνη. Αν κοιτάξουμε πολύ κοντά στην οθόνη, μπορούμε να δούμε ότι κάθε εικόνα αποτελείται από μικρές κουκίδες που ονομάζονται εικονοστοιχεία (pixels). Κάθε εικονοστοιχείο έχει το δικό του χρώμα και φωτεινότητα, πληροφορίες που αποθηκεύονται στη μνήμη της κάρτας γραφικών. Όταν ο υπολογιστής θέλει να απεικονίσει κάτι, υπολογίζει το πως πρέπει να αλλάξει το χρώμα και

25 τη φωτεινότητα των διαφορετικών εικονοστοιχείων και αλλάζει τις τιμές που είναι αποθηκευμένες στη μνήμη της κάρτας γραφικών. Κατόπιν, κάρτα αυτή αναπαριστά τα νέα εικονοστοιχεία στην οθόνη. Στους σύγχρονους υπολογιστές, αυτή η δουλειά των υπολογισμών μοιράζεται μεταξύ του επεξεργαστή και της ίδιας της κάρτας γραφικών. Με το να έχουμε μια κάρτα γραφικών που κάνει αυτούς τους υπολογισμούς (πολύ πιο γρήγορα από τον επεξεργαστή) μπορούμε να επιτύχουμε καλύτερη απόδοση στο σύστημα, γιατί ο επεξεργαστής είναι ελεύθερος να κάνει άλλες λειτουργίες. Οθόνη 25 Με απλά λόγια, η οθόνη, που μερικές φορές ονομάζεται και CRT (το όνομα προκύπτει από την κύρια τεχνολογία που χρησιμοποιείται στην κατασκευή τους), είναι η συσκευή που δείχνει τα αποτελέσματα των λειτουργιών του υπολογιστή. Είναι δηλαδή, μια συσκευή εξόδου, στην οποία η κάρτα γραφικών στέλνει τα περιεχόμενα της αρκετές φορές το δευτερόλεπτο. Η οθόνη κατασκευάζεται από έναν πίνακα με κόκκινες πράσινες και μπλε κουκίδες. Η πληροφορία, που στέλνει η κάρτα γραφικών, ελέγχει ποιες κουκίδες φωτισμένες και πόσο, κάτι που προκαλεί την εικόνα που εμείς βλέπουμε. Οδηγός σκληρού δίσκου Ο σκληρός δίσκος είναι η κύρια "μακροχρόνια μνήμη" του υπολογιστή. Κρατά το λειτουργικό σύστημα, προγράμματα και δεδομένα. Οι οδηγοί αυτοί είναι οι πιο γρήγοροι από τους οδηγούς μακροχρόνιας αποθήκευσης που χρησιμοποιεί ένας υπολογιστής. Στις μέρες μας έχουν αναπτυχθεί πάρα πολύ και σε ταχύτητα και σε χωρητικότητα, επιτρέποντας όλο και μεγαλύτερα και πολυπλοκότερα προγράμματα να τρέχουν στους σημερινούς υπολογιστές. Οδηγός εύκαμπτου δίσκου Οι εύκαμπτοι δίσκοι ή δισκέτες είναι η πιο μικρή, αργή αλλά και επισφαλής μορφή μακροχρόνιας αποθήκευσης ενός υπολογιστή. Οι δισκέτες παρέχουν έναν απλό, και συνηθισμένο τρόπο μεταφοράς πληροφορίας, εγκατάσταση νέου λογισμικού και αποθήκευσης αρχείων εφεδρείας μικρών ποσοτήτων δεδομένων. Στις μέρες μας δεν είναι ένα τόσο σημαντικό μέρος σε ένα υπολογιστικό σύστημα, όσο ήταν πριν λίγα χρόνια. Ένα μεγάλο πλεονέκτημα των δισκετών είναι το γεγονός ότι έχουν καθολικότητα: σχεδόν όλοι οι προσωπικοί υπολογιστές, που έχουν γίνει τα τελευταία 10 χρόνια, χρησιμοποιούν στάνταρ έναν οδηγό εύκαμπτου δίσκου για δισκέτες 1.44 MB. Οδηγός CD-ROM Το CD-ROM συμβολίζει τα αρχικά των λέξεων (Compact Disk - Read Only Memory / Οπτικός Δίσκος - Μνήμη Ανάγνωσης Μόνο). Όπως λέει και το όνομα, οι οδηγοί αυτοί, χρησιμοποιούν οπτικούς δίσκους, ίδιους με αυτούς που περιέχουν μουσική και κυκλοφορούν στην αγορά, για να κρατούν τις πληροφορίες. Επίσης, στους δίσκους αυτούς μπορούμε μόνο να διαβάζουμε πληροφορίες (και όχι να γράφουμε) που έχουν τοποθετηθεί μια φορά και μένουν απαράλλαχτες. Σήμερα τα CD-ROMs είναι από τα πιο δημοφιλή μέσα

26 αποθήκευσης για προγράμματα, παιχνίδια και είναι το ιδανικό μέσο για αποθήκευση πληροφορίας πολυμέσων, όπως video, μουσική, και μεγάλα αρχεία γραφικών. 26 Περιφερειακά Εσόδου / Εξόδου Τα περιφερειακά είναι εξωτερικές συσκευές, οι οποίες είναι συνδεδεμένες στον υπολογιστή. Υπάρχουν δύο κύριοι τρόποι με τους οποίους μπορούμε να συνδέσουμε περιφερειακά σε έναν υπολογιστή: μέσω σειριακής σύνδεσης ή μέσω παράλληλης σύνδεσης: Σειριακές επικοινωνίες: Μία σειριακή επικοινωνία στέλνει πληροφορία μέσω μιας γραμμής ένα bit κάθε φορά. Είναι ένας απλός τρόπος να στείλουμε πληροφορία μέσα και έξω από τον υπολογιστή, αλλά δεν είναι τόσο γρήγορος όσο άλλοι τρόποι με τους οποίους ένας υπολογιστής μπορεί να επικοινωνεί. Παράλληλες επικοινωνίες: Μία παράλληλη επικοινωνία είναι πολύ πιο γρήγορη από μία σειριακή, επειδή στέλνει πολλά bits παράλληλα, δηλαδή την ίδια χρονική στιγμή. Το πλεονέκτημα αυτού του είδους επικοινωνίας είναι ότι είναι πολύ γρήγορη, αλλά το μειονέκτημα είναι ότι είναι πολύ πιο πολύπλοκη στο να γίνει. Οι παράλληλες επικοινωνίες χρησιμοποιούνται κυρίως για τους εκτυπωτές και για φορητά μέσα αποθήκευσης, που χρειάζονται πολύ μεγαλύτερη ταχύτητα από άλλα περιφερειακά. Πληκτρολόγιο Το πληκτρολόγιο είναι η κύρια συσκευή εισόδου πληροφορίας στον υπολογιστή. Χρησιμοποιείται για να εισάγεται πληροφορία κειμένου και είναι σχεδόν στάνταρ σε κάθε υπολογιστικό σύστημα. Ποντίκι Μέχρι την εμφάνιση των γραφικών λειτουργικών συστημάτων (όπως τα Windows), το πληκτρολόγιο ήταν ο μόνος τρόπος με τον οποίο οι περισσότεροι χρήστες εισήγαγαν πληροφορία σε ένα υπολογιστή. Το ποντίκι χρησιμοποιείται σε γραφικά περιβάλλοντα και παρέχει στους χρήστες έναν απλό τρόπο να δίνουν εντολές στον υπολογιστή. Το κύριο πλεονέκτημα ενός ποντικιού σε σχέση με ένα πληκτρολόγιο είναι η απλότητα και η λειτουργικότητα. Υπάρχουν επίσης μερικές ενέργειες που είναι πολύ πιο εύκολο να γίνουν με το ποντίκι παρά με το πληκτρολόγιο.

27 27 Επεξεργαστής 1. Εισαγωγή Η κεντρική μονάδα επεξεργασίας, ή απλά επεξεργαστής (κανονικά μικροεπεξεργαστής, αλλά για λόγους συντομίας το "μίκρο" παραλείπεται) είναι το "μυαλό" ενός υπολογιστικού συστήματος, το βασικότερο μέρος του. Εξετάζοντας σύντομα το όνομά της μπορούμε να δούμε γιατί έχει ακριβώς αυτό το όνομα. Επεξεργαστής: γιατί επεξεργάζεται δεδομένα. Κεντρικός: γιατί βρίσκεται στο κέντρο επεξεργασίας δεδομένων του υπολογιστικού συστήματος. Μονάδα: γιατί είναι ένα chip, το οποίο αποτελείται από εκατομμύρια transistors. Η Μονάδα Ελέγχου (Control Unit), η οποία είναι υπεύθυνη για την ανάκτηση των εντολών από την κύρια μνήμη και για τον προσδιορισμό του τύπου τους. Η Αριθμητική και Λογική Μονάδα (Arithmetic Logic Unit), η οποία εκτελεί αποκλειστικά πράξεις, που χρειάζονται για την εκτέλεση των εντολών. Τα μέρη του επεξεργαστή Ο επεξεργαστής κατέχει σημαντική θέση όσον αφορά διάφορα σημαντικά θέματα του υπολογιστικού συστήματος, όπως: Απόδοση: Ο επεξεργαστής είναι ίσως ο πλέον καθοριστικός παράγοντας της απόδοσης του συστήματος. Ενώ και αρκετοί άλλοι παράγοντες έχουν σημαντική θέση στον καθορισμό της απόδοσης, οι ικανότητες του επεξεργαστή υπαγορεύουν τη μέγιστη απόδοση του συστήματος. Τα άλλα μέρη του υπολογιστή απλά επιτρέπουν στον επεξεργαστή να φτάσει στο μέγιστο των δυνατοτήτων του. 1ο ΕΠΑ.Λ. ΝΕΑΣ ΦΙΛΑΔΕΛΦΕΙΑΣ Καταχωρητές (Registers), οι οποίοι είναι μια μικρή μνήμη υψηλής ταχύτητας, που χρησιμοποιείται για την αποθήκευση προσωρινών αποτελεσμάτων και ορισμένων πληροφοριών ελέγχου. Καθένας από αυτούς τους καταχωρητές, επιτελεί μια συγκεκριμένη λειτουργία. Ο πιο σημαντικός καταχωρητής είναι ο μετρητής προγράμματος (program counter - PC), ο οποίος δείχνει την επόμενη εντολή που πρόκειται να εκτελεστεί, ενώ πολύ σημαντικός επίσης είναι ο καταχωρητής εντολών (instruction register - IR), που περιέχει την εντολή που εκτελείται εκείνη τη στιγμή. Α Τετράμινο Σχολικού Έτους Η λειτουργία του επεξεργαστή συνίσταται στην εκτέλεση των προγραμμάτων που βρίσκονται αποθηκευμένα στην κύρια μνήμη. Τα μέρη, εν συντομία, από τα οποία αποτελείται ένας επεξεργαστής είναι τα εξής:

28 Υποστήριξη λογισμικού: Καινούριοι, πιο γρήγοροι επεξεργαστές κάνουν ικανή τη χρήση καινούριου λογισμικού. Επιπρόσθετα νέοι επεξεργαστές όπως ο Pentium με τεχνολογία ΜΜΧ, καθιστούν ικανή τη χρήση ειδικού λογισμικού που δεν μπορούσε να τρέξει σε προηγούμενους επεξεργαστές. Αξιοπιστία και Σταθερότητα: Η ποιότητα του επεξεργαστή είναι ένας παράγοντας που καθορίζει πόσο αξιόπιστο είναι το σύστημα. Κάποιοι επεξεργαστές είναι αξιόπιστοι, ενώ άλλοι όχι. Κατανάλωση ενέργειας και ψύξη: Οι πρώτοι επεξεργαστές κατανάλωναν μικρή ποσότητα ενέργειας σε σχέση με τα άλλα μέρη του υπολογιστή. Οι σημερινοί υπολογιστές καταναλώνουν μεγάλα ποσά ενέργειας. Η κατανάλωση ενέργειας έχει καθοριστική σημασία σε όλα, από την επιλογή της μεθόδου ψύξης του επεξεργαστή, έως τη συνολική αξιοπιστία του υπολογιστή. Υποστήριξη μητρικής πλακέτας: O επεξεργαστής που θα επιλέξουμε για το σύστημα μας είναι ένας βασικός καθοριστικός παράγοντας για το είδος του chipset που θα χρησιμοποιήσουμε και συνεπώς για το τί είδους μητρική πλακέτα θα αγοράσουμε. Η μητρική πλακέτα με τη σειρά της, καθορίζει πολλές διαστάσεις των δυνατοτήτων και της απόδοσης του συστήματος. Όπως κάθε άλλη μονάδα ενός υπολογιστικού συστήματος, έτσι και ο επεξεργαστής βρίσκεται συνεχώς υπό εξέλιξη. Οι επεξεργαστές εδώ και χρόνια διπλασιάζουν την απόδοση τους κάθε 18 μήνες και απ' ότι δείχνουν τα πράγματα αυτός ο ρυθμός μάλλον δε θα σταματήσει. Η ιστορία των επεξεργαστών είναι στενά συνδεδεμένη με δύο εταιρίες, την IBM και κυρίως την Intel. Μέχρι σήμερα μπορούμε να αναγνωρίσουμε έξι γενιές επεξεργαστών. Η αρχή όμως της συμβατότητας χαρακτηρίζει όλες αυτές τις γενιές. 28

29 2. Τι είναι ένας επεξεργαστής Σύντομη Αναδρομή 29 Οεπεξεργαστής βρίσκεται τοποθετημένος πάνω στη μητρική πλακέτα (motherboard). Εκτελεί ένα μεγάλο μέρος από τη δουλεία του υπολογιστή και δεδομένα φτάνουν και φεύγουν από τον επεξεργαστή συνεχώς. Δέχεται εντολές επεξεργασίας δεδομένων, που πρέπει να εκτελέσει. Συνεπώς, μπορούμε να πούμε ότι η δουλειά του είναι να κάνει πράξεις και να μεταφέρει δεδομένα. Η δουλεία του επεξεργαστή Η μεταφορά των δεδομένων από και προς τον επεξεργαστή γίνεται μέσω "δρόμων ταχείας κυκλοφορίας" δεδομένων που ονομάζονται δίαυλοι. Η μεταφορά δεδομένων Ο επεξεργαστής τροφοδοτείται συνεχώς με δεδομένα μέσω των διαύλων. Τα δεδομένα που δέχεται μπορούν να χωριστούν σε δύο κατηγορίες: Εντολές (instructions) για το πως θα διαχειριστεί τα υπόλοιπα δεδομένα. Δεδομένα, τα οποία πρέπει να διαχειριστεί σύμφωνα με τις εντολές. Αυτό που αποκαλούμε εντολές, είναι κώδικας προγράμματος. Περιλαμβάνει τα μηνύματα (εντολές) που συνεχώς στέλνουμε στον υπολογιστή μέσω του ποντικιού ή του πληκτρολογίου ή κάποιων άλλων μονάδων εισόδου. Μηνύματα για να εκτυπώσει, να αποθηκεύσει, να ανοίξει ένα αρχείο, κλπ. Δεδομένα είναι τα τυπικά δεδομένα του χρήστη. Για παράδειγμα, όταν γράφουμε ένα κείμενο σε ένα κειμενογράφο, στέλνουμε στον υπολογιστή δεδομένα. Όταν όμως ζητάμε από τον υπολογιστή να τυπώσει αυτό το κείμενο, στέλνουμε στον υπολογιστή εντολές. Τα δεδομένα στον επεξεργαστή

30 Μια σύντομη αναδρομή 30 Η ιστορία των επεξεργαστών ξεκινά το 1971, όταν μια μικρή και άγνωστη εταιρία, η Intel για πρώτη φορά ένωσε πολλά transistors, σχηματίζοντας την πρώτη κεντρική μονάδα επεξεργασίας, ένα chip που ονομάστηκε Αυτό έγινε 8 χρόνια πριν από την κατασκευή του πρώτου προσωπικού υπολογιστή (Personal Computer / PC). Oι υπολογιστές είναι κατασκευασμένοι γύρω από διάφορες γενιές επεξεργαστών. Η Intel, δεν είναι η μόνη εταιρία κατασκευής επεξεργαστών, αναμφίβολα όμως είναι η μεγαλύτερη. Ωστόσο, από την 5 η γενιά και μετά μπορούμε να διακρίνουμε τη δυναμική παρουσία στο χώρο των κατασκευαστών και άλλων εταιριών, όπως είναι η AMD, η Cyrix και η IDT. Στον παρακάτω πίνακα μπορούμε να δούμε τις 6 γενιές μικροεπεξεργαστών, καθώς και τον αριθμό των transistors που περιλαμβάνει κάθε επεξεργαστής. Γενιά Επεξεργαστής Χρονιά Αριθμός transistors 1 η γενιά 8086, η γενιά η γενιά 80386DX,80386SX η γενιά 80486SX, 80486DX, 80486DX2, 80486DX η γενιά Pentium Cyrix 6x86 AMD K5 IDT WinChip C6 5 η βελτιωμένη γενιά Pentium MMX IBM/Cyrix 6X86 MX IDT WinChip 3D η γενιά Pentium Pro AMD K6 Pentium II AMD K

31 3. Ψηφιακή λογική και ημιαγωγός 31 Οι επεξεργαστές είναι πάρα πολύ ισχυρά και σύνθετα εξαρτήματα του υπολογιστή, αλλά η τωρινή τους κατάσταση είναι αποτέλεσμα εξέλιξης και βελτίωσης από κάποιες πιο απλές αρχές. Συναρτήσεις και Ψηφιακή λογική Οι υπολογιστές είναι ψηφιακές συσκευές. Σχετίζονται μόνο με μηδέν και ένα. Όλοι οι σύγχρονοι υπολογιστές, στην πραγματικότητα όλα τα κυκλώματα, λειτουργούν χειριζόμενοι αυτούς τους δυαδικούς αριθμούς χρησιμοποιώντας συναρτήσεις του hardware. Αυτές οι συναρτήσεις μπορούν να έχουν μια ή περισσότερες εισόδους και να παράγουν κάποια προκαθορισμένα σύνολα εξόδων. Υπάρχουν διάφοροι τύποι συναρτήσεων: οι μαθηματικές συναρτήσεις παίρνουν δύο δυαδικούς αριθμούς και κάνουν μια αριθμητική πράξη με αυτούς, όπως πρόσθεση ή πολλαπλασιασμό. Οι λογικές συναρτήσεις επιτρέπουν τη σύγκριση τιμών και εκτελούν λογικές λειτουργίες μεταξύ αυτών, όπως είναι το "KAI" ("AND") ή το "Ή" ("OR"). Υπάρχουν πολλά είδη τέτοιων συναρτήσεων. Μια απλή ψηφιακή συνάρτηση μπορεί να οριστεί χρησιμοποιώντας έναν πίνακα, που δείχνει τις εισόδους και την υπολογισμένη έξοδο. Για παράδειγμα ο παρακάτω πίνακας δείχνει τη συνάρτηση "Ή" με τρεις εισόδους: Είσοδος Α Είσοδος Β Είσοδος C Έξοδος Όπως παρατηρούμε, η έξοδος είναι μονάδα (1) όταν μια τουλάχιστον από τις εισόδους είναι μονάδα. Στον πυρήνα τους, όλοι οι υπολογιστές χρησιμοποιούν αυτή τη βασική λογική δομή. Απλές λογικές συναρτήσεις όπως αυτή ονομάζονται πύλες. Οι σύγχρονοι πολύπλοκοι υπολογιστές δεν χρησιμοποιούν απλές "ΚΑΙ" ή "Ή" συναρτήσεις (είναι ενσωματωμένες σε μεγαλύτερα κυκλώματα), αλλά οι αρχές τους είναι ταυτόσημες.

32 32 Η πύλη "Ή" με τρεις εισόδους Υλοποιώντας την Ψηφιακή Λογική: Ο Ψηφιακός Διακόπτης Η ψηφιακή λογική απαιτεί hardware, που μπορεί να δεχτεί μηδενικά και μονάδες ως εισόδους και να παράγει από αυτές μηδέν ή μονάδα, σύμφωνα με τον τύπο της συνάρτησης. Στους ψηφιακούς υπολογιστές το μηδέν και η μονάδα καθορίζονται από την τάση του ρεύματος. Κανονικά η μονάδα είναι μια θετική τάση και το μηδέν η γείωση. Για ένα +5V σύστημα η μονάδα είναι +5V, ενώ το μηδέν είναι 0V. Το hardware που χρησιμοποιείται για να παράγει την έξοδο ανάλογα με τις εισόδους, είναι ο ψηφιακός διακόπτης. Οι περισσότερες συναρτήσεις είναι φτιαγμένες από πολλούς τέτοιους διακόπτες. Ένας υπολογιστής αποτελείται από αλληλοσυνδεόμενα σύνολα από ψηφιακούς διακόπτες. Αναπαράσταση της ψηφιακής λογικής σε ηλεκτρικό κύκλωμα Οι πολύ παλιές υπολογιστικές συσκευές ήταν ηλεκτρομαγνητικές. Χρησιμοποιούσαν φυσικούς διακόπτες και κίνηση. Ήταν πολύ αργές, αναξιόπιστες και θορυβώδεις καθώς είχαν ένα μηχανικό στοιχείο και αυτό σήμαινε ότι κάτι έπρεπε να μετακινηθεί όταν ένα bit άλλαζε από μηδέν σε ένα ή αντίστροφα. Η επόμενη "γενιά" υπολογιστικών μηχανών χρησιμοποιούσε ηλεκτρονικές λυχνίες. Ήταν πολύ καλύτερες από τους μηχανικούς διακόπτες, καθώς δεν είχαν κινούμενα μέρη. Οι ηλεκτρονικές λυχνίες έκαναν δυνατή τη δημιουργία των πρώτων ηλεκτρονικών υπολογιστών, αλλά είχαν κάποια βασικά προβλήματα που σχετίζονταν με αυτές: Ήταν πολύ μεγάλοι. Είναι σίγουρο ότι έχετε ακούσει ιστορίες για υπολογιστές που γέμιζαν ολόκληρα δωμάτια, παρέχοντας ωστόσο πολύ μικρή λειτουργικότητα. Ήταν πολύ αργοί. Η απόδοση ενός υπολογιστή εξαρτάται από το πόσο γρήγορα αυτοί οι διακόπτες μπορούν να αλλάξουν κατάσταση (από μηδέν σε ένα και αντίστροφα).

33 33 Ήταν ακριβοί, κυρίως λόγω του μεγάλου τους μεγέθους και της μικρής τους αξιοπιστίας. Κατανάλωναν τεράστια ποσά ενέργειας. Μια απλή μηχανή μπορούσε να καταναλώσει δεκάδες χιλιάδες Watts. Το κυριότερο όμως είναι ότι ήταν αναξιόπιστοι. Ένας μεγάλος υπολογιστής, χρησιμοποιώντας χιλιάδες από αυτούς τους διακόπτες μπορεί να έχει αλλοιώσεις σε καθημερινή βάση, ή ακόμα πιο συχνά. Το transistor: Ένας ψηφιακός διακόπτης χωρίς χρήση λυχνιών Μια από τις πολύ βασικές επινοήσεις στην ιστορία των ηλεκτρονικών και γενικότερα μια από τις πιο σημαντικές κάθε περιόδου, ήταν το transistor. Δημιουργήθηκε από τα εργαστήρια Bell, το Εν συντομία, το transistor είναι μια συσκευή που μεταφέρει ένα μεταβαλλόμενο ποσό ηλεκτρισμού, ανάλογα με το πόσος ηλεκτρισμός διοχετεύεται σε αυτό. Με άλλα λόγια είναι ένας ψηφιακός διακόπτης. Ωστόσο, σε αντίθεση με τις ηλεκτρικές λυχνίες, δεν αλλάζει η κατάσταση του όταν αλλάζει η έξοδος του. Τέλος, δεν υπάρχουν κινούμενα μέρη σε ένα transistor. Το πρώτο transistor Τα πλεονεκτήματα του transistor έναντι στην ηλεκτρική λυχνία είναι πάρα πολλά. Συγκρινόμενα με την παλιά τεχνολογία, τα transistors είναι πολύ μικρότερα, γρηγορότερα και πολύ φτηνότερα στην κατασκευή τους. Είναι επίσης πολύ πιο αξιόπιστα και χρησιμοποιούν πολύ λιγότερη ενέργεια. Ημιαγωγοί και ολοκληρωμένα κυκλώματα Το transistor ήταν αρχικά ένα απλό, ξεχωριστό εξάρτημα που μπορούσε να τοποθετηθεί χωριστά σε ένα κύκλωμα. Σήμερα, κάποια ειδικού σκοπού transistors εξακολουθούν να λειτουργούν με αυτό τον τρόπο. Ωστόσο, αυτό που επέτρεψε τη δημιουργία των σύγχρονων υπολογιστών, ήταν το ολοκληρωμένο κύκλωμα, που είναι ένα σύνολο από transistors, δημιουργημένα από ένα απλό υλικό, ενωμένα εσωτερικά, χωρίς περαιτέρω καλωδίωση. Τα ολοκληρωμένα κυκλώματα επίσης ονομάζονται και chips. Υπάρχει ένα ειδικό υλικό που χρησιμοποιείται για την κατασκευή των ολοκληρωμένων κυκλωμάτων. Ενώ τα περισσότερα υλικά είναι είτε καλοί, είτε κακοί αγωγοί της ηλεκτρικής ενέργειας, υπάρχουν κάποια υλικά που επιτρέπουν την έλευση μια μικρής ποσότητας ηλεκτρισμού, κάτω από ορισμένες συνθήκες. Αυτά ονομάζονται ημιαγωγοί. Ο πιο συνηθισμένος ημιαγωγός είναι το πυρίτιο. Με προσεκτική σύνθεση, είναι πιθανό να δημιουργήσουμε ένα πολύ μικρό transistor πάνω σε ένα επίπεδο πυριτίου, χρησιμοποιώντας διάφορες τεχνολογίες για να τοποθετήσουμε το

34 υλικό στη σωστή του θέση. Αυτά τα transistors είναι μικρά, γρήγορα και αξιόπιστα, ενώ χρησιμοποιούν αναλογικά λίγη ενέργεια. Το πρώτο ολοκληρωμένο κύκλωμα δημιουργήθηκε από την Texas Instruments το Περιλάμβανε μόνο έξι transistors σε μια απλή επιφάνεια ημιαγωγού. 34 Το πρώτο ολοκληρωμένο κύκλωμα Σμίκρυνση και μεγάλου βαθμού ολοκλήρωση Μετά τη δημιουργία των ολοκληρωμένων κυκλωμάτων, δε χρειάστηκε πάρα πολύς χρόνος για να διαπιστωθούν τα πολύ μεγάλα πλεονεκτήματα της σμίκρυνσης και της ενσωμάτωσης μεγαλύτερου αριθμού transistors, στο ίδιο ολοκληρωμένο κύκλωμα. Περισσότερα transistors απαιτούνταν για την υλοποίηση πιο πολύπλοκων συναρτήσεων. Η σμίκρυνση ήταν το κλειδί για την ενοποίηση μεγάλου αριθμού transistors, καθώς αύξανε την ταχύτητα του hardware και κρατούσε την κατανάλωση ενέργειας και τις απαιτήσεις του χώρου σε λογικά επίπεδα. Η μεγάλου βαθμού ολοκλήρωση (Large Scale Intergration - LSI) ήρθε για να αναφερθεί στη δημιουργία ολοκληρωμένων κυκλωμάτων, που είχαν δημιουργηθεί από πολλαπλά ξεχωριστά στοιχεία. Αυτοί οι υπολογιστές ουσιαστικά περιείχαν χιλιάδες transistors. Οι παλαιότεροι υπολογιστές ήταν δημιουργημένοι από πολλά τέτοια μικρά chips συνδεδεμένα μεταξύ τους σε ολοκληρωμένη μια πλακέτα κυκλωμάτων. Πολύ μεγάλου βαθμού ολοκλήρωση Μετά από κάποιο χρονικό διάστημα από τη δημιουργία του LSI ολοκληρωμένου κυκλώματος, η τεχνολογία βελτιώθηκε και τα chips έγιναν μικρότερα, γρηγορότερα και φτηνότερα. Βασιζόμενοι στην επιτυχία των προηγούμενων προσπαθειών για ολοκλήρωση, οι μηχανικοί έβαλαν ακόμα περισσότερα transistors μέσα σε ένα απλό κύκλωμα. Αυτή η προσπάθεια έγινε γνωστή ως πολύ μεγάλου βαθμού ολοκλήρωση (Very Large Scale Intergration - VLSI). Τα VLSI κυκλώματα μπορεί να περιέχουν εκατομμύρια transistors. Στην πραγματικότητα, οι λειτουργίες που εκτελεί ο επεξεργαστής υλοποιούνται χρησιμοποιώντας αρκετά διαφορετικά λογικά chips. H Intel ήταν η πρώτη εταιρία που ενσωμάτωσε αυτά τα λογικά στοιχεία σε ένα απλό κύκλωμα. Αυτός ήταν ο πρώτος μικροεπεξεργαστής, ο 4004 και παρουσιάστηκε από την Intel το Όλοι οι σημερινοί επεξεργαστές είναι απόγονοι αυτού του 4-bit επεξεργαστή.

35 35 Ο μικροεπεξεργαστής 4004

36 Εισαγωγή 4. Η Κατασκευή του επεξεργαστή Όλοι οι άνθρωποι δεν αντιλαμβάνονται ότι, όταν έχουν στα χέρια τους ένα μικρό Pentium "chip" και το επεξεργάζονται, δε βλέπουν στην πραγματικότητα το chip του επεξεργαστή. Βλέπουν μια εξωτερική συσκευασία, που χρησιμοποιείται για να αποθηκευτεί το chip και του επιτρέπει να αλληλεπιδρά με τα υπόλοιπα μέρη του υπολογιστή. Το κανονικό chip είναι πάρα πολύ μικρότερο και πολύ εύθραυστο. Πρόκειται για ένα τετράγωνο ή ορθογώνιο, χημικά μεταλλαγμένο πυρίτιο, με επιφάνεια μικρότερη από το ένα τρίτο μιας τετραγωνικής ίντσας. Παρακάτω περιγράφονται τα βήματα που ακολουθούνται για το φυσικό σχεδιασμό και την κατασκευή ενός chip. Πολλές από αυτές τις περιγραφές είναι κατάλληλες και για τα πιο πολύπλοκα ολοκληρωμένα κυκλώματα, όχι μόνο για επεξεργαστές. Στην πραγματικότητα, σε ένα σύγχρονο υπολογιστή όλα τα chips που υπάρχουν σε μία μητρική πλακέτα ή σε κάρτες επέκτασης, είναι κατασκευασμένα χρησιμοποιώντας αρχές και τεχνικές παρόμοιες με αυτές που περιγράφονται εδώ. Οι επεξεργαστές, ωστόσο είναι η κορυφή, καθώς πρόκειται για τα μεγαλύτερα και πιο πολύπλοκα κυκλώματα. Οι περιγραφές εδώ φυσικά είναι απλουστευμένες. Η κατασκευή ημιαγωγών είναι ένα πολύ σύνθετο τεχνικά θέμα που δε θα μπορούσε να περιγραφεί μέσα σε λίγες παραγράφους. Υλικά ημιαγωγών και κατασκευή πλακέτας πυριτίου Οι επεξεργαστές είναι κατασκευασμένοι από ημιαγώγιμο υλικό. Ημιαγωγοί είναι υλικά που επιτρέπουν την έλευση του ηλεκτρισμού μόνο κάτω από ορισμένες συνθήκες και έτσι είναι ιδανικοί για τη δημιουργία πολύ μικρών, υψηλής ταχύτητας transistors που υλοποιούν τους σύγχρονους επεξεργαστές. Μόνο ορισμένα υλικά είναι κατάλληλα για χρήση σε ημιαγωγούς. Το πιο συνηθισμένο και ευρέως χρησιμοποιούμενο υλικό για δημιουργία ημιαγωγών είναι το πυρίτιο. Χρησιμοποιείται για επεξεργαστές, μνήμες και για τα περισσότερα chips. Ένα άλλο συνηθισμένο υλικό που χρησιμοποιείται για την κατασκευή ημιαγωγών είναι το αρσενικιά του γαλλίου (GaAs), το οποίο δε χρησιμοποιείται ευρέως, αλλά σε ειδικές εφαρμογές. Το πυρίτιο έχει κάποια πλεονεκτήματα που το καθιστούν ιδανικό στη χρήση της κατασκευής ημιαγωγών. Προφανώς, είναι ημιαγώγιμο υλικό. Επίσης έχει διάφορα κατασκευαστικά πλεονεκτήματα που το κάνουν ιδανικό: υπάρχει άφθονο και έτσι είναι φτηνό στην ακατέργαστη μορφή του. Το πιο σημαντικό όμως είναι ότι μπορεί να αναπτυχθεί σε ένα ενιαίο κρύσταλλο. Το πρώτο βήμα για την κατασκευή ενός chip είναι η ανάπτυξη ενός τέτοιου μεγάλου κρυστάλλου πυριτίου. Αυτή η αρχή είναι περίπου παρόμοια με τη δημιουργία κρυστάλλων ζάχαρης μέσα σε μια κούπα νερό, ωστόσο χρησιμοποιούνται ειδικές τεχνικές. 36 Κρύσταλλοι πυριτίου

37 Οι κρύσταλλοι αυτοί είναι πολύ μεγάλοι, το συνηθισμένο τους μέγεθος είναι 8 ίντσες σε διάμετρο και είναι πολύ πιθανό να αυξηθεί σε 12 ίντσες πολύ σύντομα. Όσο μεγαλύτερος είναι ο κρύσταλλος, τόσο περισσότερα chips μπορούν να δημιουργηθούν από αυτόν και υπάρχει λιγότερο χαμένο υλικό, με αποτέλεσμα την εξοικονόμηση χρημάτων. Σε αντίθεση με το ακατέργαστο πυρίτιο, οι κρύσταλλοι αυτοί είναι ακριβοί εξαιτίας της ακριβής τεχνολογίας που χρησιμοποιείται για την κατασκευή τους και την πολύ υψηλή ποιότητα των προτύπων που απαιτούνται για να γίνει ένας κρύσταλλος κατάλληλος για χρήση στην κατασκευή ενός chip. Ένας απλός, υψηλής ποιότητας κρύσταλλος χρησιμοποιείται για την κατασκευή πολλών εκατοντάδων επεξεργαστών. Αυτοί οι μεγάλοι κρύσταλλοι κόβονται σε πολύ λεπτούς δίσκους από υψηλής ακρίβειας κόπτες. Αυτές οι λεπτές φέτες από ημιαγώγιμο υλικό μετά υφίστανται μια διαδικασία που τις μετατρέπει σε ολοκληρωμένα κυκλώματα. Κάθε κρύσταλλος κόβεται σε εκατοντάδες λεπτές φέτες, πιο λεπτές από 1mm και διάμετρο 8 ίντσες. Όσο πιο λεπτές είναι οι φέτες, τόσες περισσότερες μπορούν να δημιουργηθούν από ένα απλό κρύσταλλο, αλλά τόσο πιο εύθραυστες είναι και πολύ πιο δύσκολο να επεξεργαστούν. Οι φέτες υφίστανται μεγάλη επεξεργασία πριν να γίνουν έτοιμες για χρήση. Λογικός Σχεδιασμός Ο πραγματικός σχεδιασμός του μικροεπεξεργαστή γίνεται πρώτα σε λογικό επίπεδο. Ο επεξεργαστής ορίζεται όσον αφορά την επιθυμητή λειτουργία του, με τι εντολές που θα είναι καθορισμένος να λειτουργεί και πως τα δεδομένα θα μετακινούνται μεταξύ των λογικών μερών του. Αυτή η υψηλού επιπέδου σχεδίαση ξεκινάει από ένα θεμελιώδες επίπεδο και προχωράει σε πιο λεπτομερή, όπου τα διάφορα αρχιτεκτονικά χαρακτηριστικά του chip καθορίζονται με μεγάλη λεπτομέρεια, όπως το πως οι εντολές θα αποκωδικοποιούνται και πως οι μονάδες ελέγχου θα λειτουργούν. Πρόκειται για μια πολύ σύντομη περιγραφή της διαδικασίας σχεδιασμού, που απαιτεί εκατοντάδες ή ακόμα και χιλιάδες μηχανικούς και παίρνει μήνες ή και χρόνια, κάτι το οποίο εξαρτάται από το πόσο εξελιγμένη είναι η σχεδίαση του νέου επεξεργαστή, καθώς και πόσα από τα χαρακτηριστικά είναι δανεισμένα από τις προηγούμενες σχεδιάσεις. Καθώς ο επεξεργαστής έχει πλήρως καθοριστεί με αυτό τον τρόπο, σχεδιάζεται φυσικώς. Τα πραγματικά απαραίτητα transistors για την υλοποίηση του σχεδιασμού καθορίζονται και ένα φυσικός χάρτης δημιουργείται, ο οποίος δείχνει πως το chip πρέπει να κατασκευαστεί. Στην πραγματικότητα, δεν υπάρχει μόνο μια σχεδίαση, που σχεδιάζεται κατά αυτό τον τρόπο μια φορά. Πρόκειται για μια επαναληπτική διαδικασία με αλλαγές που γίνονται συνεχώς στο σχεδιασμό, εξαιτίας των λαθών, των βελτιώσεων, των θεμάτων αγοράς ή των αρχών της κατασκευής. Φωτολιθογραφία: η δημιουργία του chip Αφού ο σχεδιασμός του επεξεργαστή έχει ολοκληρωθεί και οι χαμηλού επιπέδου χάρτες του transistor έχουν καθοριστεί, πρέπει να δημιουργηθούν τα chips. Τα chips κατασκευάζονται χρησιμοποιώντας μια τεχνική που ονομάζεται φωτολιθογραφία. Απλοϊκά, μπορούμε να πούμε ότι τα transistors και τα εσωτερικά καλώδια φτιάχνονται από τους ημιαγωγούς, προσθέτοντας διαφορετικά επίπεδα από διάφορα υλικά σε συγκεκριμένα μέρη, το ένα μετά το άλλο. Όταν δύο επίπεδα επικαλύπτονται ένα transistor σχηματίζεται. Ένας σύγχρονος επεξεργαστής κατασκευάζεται από δώδεκα ή και περισσότερα τέτοια επίπεδα. Ένα ειδικό σύστημα υπολογιστή παίρνει το σχεδιασμό του transistor και τον χωρίζει σε αυτά τα διαφορετικά επίπεδα, κάθε ένα από τα οποία αποκαλείται μάσκα. Το όνομα αυτό προέρχεται από τον τρόπο με τον οποίο το chip πραγματικά γίνεται. Μια πλάκα πυριτίου 37

38 επικαλύπτεται από μια φωτοευαίσθητη ουσία και μετά το φως εκπέμπει ακτινοβολία, μέσω της μάσκας πρώτου επιπέδου, στη φέτα. Στα μέρη που επιτρέπει η μάσκα το φως να περάσει στην πλάκα, εκεί χημικά μεταβάλλεται, δημιουργώντας το πρώτο επίπεδο στο chip. Μετά, ένα άλλο χημικό χρησιμοποιείται για να επικαλύψει το πρώτο και η διαδικασία συνεχίζεται με την επόμενη μάσκα. Με αυτό τον τρόπο, τα χαρακτηριστικά του chip ενσωματώνονται στο πυρίτιο, ανά επίπεδο. 38 Για να επιτύχουν την σμίκρυνση, που δίνει στον επεξεργαστή τη μεγάλη του δύναμη σε μικρό μέγεθος, τα χαρακτηριστικά (transistors και εσωτερικά καλώδια) του επεξεργαστή συρρικνώνονται σε μικροσκοπικό μέγεθος, μικρότερο από ένα εκατομμυριοστό του μέτρου. Κάθε μάσκα πρέπει να δημιουργηθεί σχεδιάζοντας τα χαρακτηριστικά της σε αυτό το μέγεθος και επίσης, η συσκευή που κάνει τη φωτολιθογραφία πρέπει να είναι ικανή να εστιάσει το φως με τέτοια ακρίβεια. Προφανώς οι συσκευές αυτές είναι πάρα πολύ ακριβείς και αφάνταστα ακριβές. Έλεγχος, Πακετάρισμα και Εκτίμηση της ταχύτητας Εξαιτίας της υπερβολικής ακρίβειας που απαιτείται για να δημιουργηθούν τα chips των ημιαγωγών, πάντα υπάρχουν περιπτώσεις που το αποτέλεσμα στο chip που δημιουργήθηκε δεν είναι καλό. Συνεπώς, πρέπει να ελεγχθούν ξεχωριστά, για να βεβαιωθούμε ότι εκτελούν όλες τις αναγκαίες λειτουργίες. Οι πρώτοι έλεγχοι γίνονται κατά τη διάρκεια κατασκευής. Γίνονται για να ελέγξουν βασικές λειτουργίες, καθώς κάποια chips δε λειτουργούν καθόλου, εξαιτίας κάποιων κατασκευαστικών ή υλικών ελαττωμάτων. Το πακετάρισμα αναφέρεται στην τοποθέτηση του μικροσκοπικού chip σε μια μεγαλύτερη συσκευασία, έτσι ώστε να μπορεί να τοποθετηθεί σε μια πλακέτα κυκλώματος. Πρόκειται για ένα τετράγωνο με πολλούς ακροδέκτες, που βλέπουμε όταν κοιτάμε ένα επεξεργαστή. Το πακετάρισμα είναι μια πολύ σύνθετη διαδικασία, εξαιτίας της ακρίβειας που απαιτείται για να γίνουν οι συνδέσεις πάνω στο chip καθώς και του μεγάλου αριθμού ακροδεκτών (εκατοντάδες). Πακετάρισμα του chip Ο τελικός έλεγχος γίνεται στο chip για να καθοριστεί η σωστή του χρήση και να εκτιμηθεί η ταχύτητά του. Εξαιτίας των ίδιων παραγόντων (μεταβολών) που καθιστούν ένα chip άχρηστο, κάποια είναι ικανά να περάσουν τον έλεγχο με μεγαλύτερη ένταση ρεύματος και αυτό τα κάνει πιο γρήγορα από τα άλλα. Παρόμοιοι επεξεργαστές, όπως ο Pentium 133 MHz και ο Pentium 150 MHz, είναι ουσιαστικά κατασκευασμένοι στις ίδιες γραμμές και με τις ίδιες πλάκες πυριτίου. Κάποια chips από αυτά δεν μπορούν να περάσουν τον έλεγχο ή πιθανόν να παράγουν μεγαλύτερη θέρμανση από τα επιτρεπτά όρια, συνεπώς εκτιμάται ότι

39 πρέπει να μειωθεί η ταχύτητά τους. Σε μερικές περιπτώσεις, ειδικές γραμμές παραγωγής δημιουργούνται για να παράγουν κομμάτια συγκεκριμένης ταχύτητας, αλλά περιστασιακά κάποια chips μπορεί να σημειωθούν με διαφορετική ταχύτητα από αυτή που προσπάθησαν να κατασκευαστούν, για να ικανοποιηθούν οι ανάγκες της αγοράς. Απόδοση παραγωγής Η απόδοση της διαδικασίας παραγωγής του chip αναφέρεται στο πόσοι, προς πώληση επεξεργαστές, μπορούν να παραχθούν. Αυτό μπορεί να είναι ένα απόλυτο νούμερο (chips ανά μέρα, για παράδειγμα) ή ένας συντελεστής που αναφέρεται στο ποσοστό των συνολικών chips που κατασκευάζονται και περνούν τους ελέγχους και συνεπώς μπορούν να πωληθούν. Φυσικά, όσο μεγαλύτερη είναι η απόδοση, τόσο περισσότερα chips μπορούν να παραχθούν στο ίδιο κόστος, πράγμα που επιτρέπει τη μείωση του κόστους και συνεπώς και των τιμών. Οι κατασκευαστές chip είναι ικανοί να μειώσουν το κόστος με τον καιρό, καθώς αποκτούν μεγαλύτερη γνώση στη κατασκευή του αντικειμένου με μια συγκεκριμένη τεχνολογία και έτσι μπορούν να αυξήσουν την απόδοσή τους πάρα πολύ. Στην γλώσσα των κατασκευαστών αυτό αναφέρεται ως "πτώση της καμπύλης μάθησης". Κάθε φορά που παρουσιάζεται ένας νέος επεξεργαστής, δημιουργείται μια νέα καμπύλη μάθησης, που συμβάλλει στο αρχικό υψηλό κόστος της νέας τεχνολογίας. 39

40 5. Φυσικά Χαρακτηριστικά του chip 40 Τεχνολογική πρόοδος Υπάρχουν αρκετοί διαφορετικοί τύποι επεξεργαστών, οι οποίοι διαφέρουν όσον αφορά τον τρόπο που σχηματίζουν τα transistors στο πυρίτιο. Οι διαφορές μεταξύ τους είναι τεχνικές και για αυτό το λόγο δεν θα μπούμε σε τέτοιες λεπτομέρειες. Η διαδικασία που χρησιμοποιείται για να κατασκευαστούν τα chips έχει σημασία για τα εξής θέματα: Ελάχιστο μέγεθος κυκλώματος και χαρακτηριστικών, που αναφέρεται στο πως μπορεί να γίνει πολύ μικρός ο επεξεργαστής και στο πόσα transistors μπορούν να τοποθετηθούν σε ένα δεδομένο χώρο. Μέγιστη ταχύτητα λειτουργίας του chip. Ανάγκες ηλεκτρικής τάσης. Δημιουργία θερμότητας και κατανάλωση ενέργειας, που στην ουσία αποτελούν επέκταση των προηγούμενων τριών. Οι περισσότεροι επεξεργαστές σήμερα, είναι δημιουργημένοι χρησιμοποιώντας τη CMOS τεχνολογία. Το "CMOS" προκύπτει από το "Complementary Metal Oxide Semiconductor" και αναφέρεται σε μια ειδική μέθοδο δημιουργίας transistors στο πυρίτιο. Παλαιότεροι υπολογιστές χρησιμοποιούσαν διαφορετική τεχνολογία. Ο πρώτος 8088 για παράδειγμα, χρησιμοποιούσε ΝMOS. Ο Pentium επεξεργαστής χρησιμοποιεί BiCMOS, από το "bipolar CMOS" (διπολικό CMOS) και έχει κάποια πλεονεκτήματα και μειονεκτήματα σε σχέση με το CMOS. Η Intel έχει επιστρέψει στο CMOS ως πρότυπο, σήμερα, καθώς επιτρέπει μεγαλύτερες ταχύτητες επεξεργασίας και χαμηλή τάση, ώστε να κρατήσει τη χρήση ενέργειας σε εύχρηστα επίπεδα. Μέγεθος κυκλώματος Η εξέλιξη της τεχνολογίας στην κατασκευή του chip Το μέγεθος κυκλώματος ή μέγεθος χαρακτηριστικών, αναφέρεται στο επίπεδο σμίκρυνσης του επεξεργαστή. Για να δημιουργηθούν πιο ισχυροί επεξεργαστές, χρειάζονται περισσότερα transistors. Για να τοποθετηθούν περισσότερα transistors στον ίδιο χώρο, πρέπει συνεχώς να γίνονται όλο και μικρότερα. Καθώς ο επεξεργαστής γίνεται γρηγορότερος και πιο πυκνός, η κατανάλωση ενέργειας και η παραγωγή θερμότητας γίνονται βασικά θέματα. Το μέγεθος του κυκλώματος είναι ένας περιοριστικός παράγοντας στην ταχύτητα του επεξεργαστή, κυρίως λόγω της παραγωγής θερμότητας. Επίσης έχει καθοριστική σημασία και για το μέγεθος του "καλουπιού" (η μικρή περιοχή πάνω στο chip, πάνω στην οποία τοποθετούνται όλα τα transistors). Η τεχνολογική πρόοδος συνεχίζει να επιτρέπει τη συρρίκνωση των κυκλωμάτων. Κάποτε θεωρούταν αδύνατο να συρρικνωθεί το μέγεθος ενός καλουπιού σε λιγότερο από ένα

41 41 εκατομμυριοστό του μέτρου (micron). Οι περισσότεροι επεξεργαστές σήμερα χρησιμοποιούν τεχνολογία της τάξεως του 0.25 εκατομμυριοστού. Μέγεθος "καλουπιού" (die size) Το μέγεθος "καλουπιού" του επεξεργαστή αναφέρεται στο μέγεθος της φυσικής επιφάνειας πάνω στην πλακέτα πυριτίου. Τυπικά, υπολογίζεται σε τετραγωνικά χιλιοστά (mm 2 ). Στην πραγματικότητα, ένα "καλούπι" είναι ένα κανονικό chip, αλλά αναφερόμαστε σε αυτό μόνο όταν συζητάμε τις φυσικές παραμέτρους του chip και κατασκευαστικά θέματα. Το "καλούπι" του επεξεργαστή Η σημασία του μεγέθους του "καλουπιού" είναι φανερή. Όσο μικρότερο το chip, τόσα περισσότερα μπορούν να κατασκευαστούν από μια απλή φέτα πυριτίου. Μεγαλύτερο μέγεθος "καλουπιού" σημαίνει λιγότερα chips από την ίδια φέτα και έτσι μεγαλύτερο συνολικό κόστος. Ένα μεγαλύτερο "καλούπι" επίσης, οδηγεί σε αυξημένη κατανάλωση ενέργειας. Οι τρεις βασικοί παράγοντες που καθορίζουν το μέγεθος του "καλουπιού" είναι το μέγεθος των κυκλωμάτων, η τεχνολογία που χρησιμοποιείται και φυσικά, η σχεδίαση του ίδιου του επεξεργαστή. Η ταχύτητα του επεξεργαστή Η ταχύτητα που ένας επεξεργαστής μπορεί να τρέξει είναι συνάρτηση πολλών παραγόντων. Κάποιοι από αυτούς σχετίζονται με τη σχεδίαση του επεξεργαστή, που υπαγορεύει τις ανάγκες εσωτερικού χρονισμού, οι οποίες περιορίζουν τη μέγιστη ταχύτητα του επεξεργαστή. Οι κατασκευαστικοί παράγοντες σχετίζονται με την τεχνολογία που χρησιμοποιείται, το μέγεθος του κυκλώματος, το μέγεθος του καλουπιού και την ποιότητα της μεθόδου. Γενικά, όσο μικρότερο είναι το chip, τόσο πιο γρήγορα τρέχει. Αυτό οφείλεται μερικώς στην μειωμένη κατανάλωση ενέργειας και δημιουργία θερμότητας. Η θερμότητα δημιουργείται όταν το transistor μεταβάλλεται από μηδέν σε άσσο και το αντίστροφο και όσο πιο γρήγορα λειτουργεί το chip, τόσες περισσότερες εναλλαγές γίνονται στη μονάδα του χρόνου και τόση περισσότερη θερμότητα δημιουργείται. Οι σχεδιαστές μειώνουν τα μεγέθη των κυκλωμάτων για να μειώσουν τη θερμότητα, καθώς αυξάνει η ταχύτητα του επεξεργαστή.

42 6. Η συσκευασία του chip 42 Εισαγωγή Ένα chip ενός επεξεργαστή είναι πολύ μικρό και εύθραυστο και για αυτό το λόγο είναι πολύ δύσκολο να γίνουν οι συνδέσεις πάνω σε αυτό και πολύ εύκολο να καταστραφεί. Με μια εξαίρεση υπάρχει με τα chips που δεν τοποθετούνται πάνω στη μητρική πλακέτα με την αρχική τους μορφή, αλλά αφού συσκευαστούν μέσα σε ένα υλικό που τα προστατεύει. Αυτό επιτρέπει στις μητρικές πλακέτες να έχουν πιο τυπική σχεδίαση, χωρίς να ανησυχούν οι σχεδιαστές τους για την φυσική εσωτερική δομή του chip. Η δομή της συσκευασίας είναι συνδεδεμένη με πολύ πολύπλοκο τρόπο με μια υποδοχή (socket ή slot), που χρησιμοποιεί ο επεξεργαστής για να αλληλεπιδρά με τη μητρική πλακέτα. Dual Inline Package (DIP) Οι πρώτοι επεξεργαστές της Intel, καθώς και οι συμβατοί τους, που χρησιμοποιούνταν στους πρώτους υπολογιστές, XT και στους κλώνους τους, χρησιμοποιούσαν την τυπική DIP συσκευασία. Το "Dual Inline" αναφέρεται σε δύο παράλληλα σύνολα από ακροδέκτες. Η DIP συσκευασία είναι στην πραγματικότητα η τυπική που χρησιμοποιείται για τα πιο συνηθισμένα ολοκληρωμένα κυκλώματα. Τα DRAM chips, της μνήμης και πολλά άλλα chips υποστήριξης στη μητρική πλακέτα χρησιμοποιούν συσκευασία DIP. Συσκευασία DIP Αυτή η συσκευασία έγινε ανεπαρκής για χρήση σε επεξεργαστές όταν ο αριθμός των σημάτων που έρχονταν και πήγαιναν σε αυτούς, αυξήθηκε πολύ. Οι σύγχρονοι επεξεργαστές στέλνουν και δέχονται χιλιάδες σήματα στη μητρική πλακέτα και συνεπώς η DIP συσκευασία, που επιτρέπει μόνο δύο σειρές από ακροδέκτες, θα απαιτούσε πολύ χώρο. Pin Grid Array και Παραλλαγές (PGA / SPGA / CPGA / PPGA) Η Pin Grid Array ή PGA είναι το πρότυπο, που χρησιμοποιήθηκε για τους περισσότερους επεξεργαστές από τη δεύτερη μέχρι την πέμπτη γενιά επεξεργαστών, ξεκινώντας με τον Intel περίπου πριν από μια δεκαετία. Οι PGA συσκευασίες είναι τετράγωνες ή ορθογώνιες και έχουν δύο ή περισσότερες γραμμές από ακροδέκτες γύρω από την περίμετρό τους. Εισέρχονται σε μια ειδική υποδοχή (socket) στη μητρική πλακέτα ή σε μια θυγατρική κάρτα. H PGA συσκευασία επινοήθηκε λόγω του ότι οι νέοι επεξεργαστές με πλατύτερα δεδομένα και διαύλους διευθύνσεων απαιτούσαν ένα μεγάλο αριθμό από

43 ακροδέκτες για να αλληλεπιδρούν με τη μητρική πλακέτα και η DIP συσκευασία δεν εξυπηρετούσε αυτό το σκοπό. 43 Συσκευασία PGA Η PGA συσκευασία έρχεται σε δύο διαφορετικούς τύπους υλικών. Η τυπική PGA που χρησιμοποιούταν στους περισσότερους επεξεργαστές μέχρι πρόσφατα, είναι φτιαγμένη από ένα κεραμικό υλικό και αποκαλείται και CPGA (ceramicpga) για αυτό το λόγο. Κάποιοι πιο καινούριοι επεξεργαστές χρησιμοποιούν πλαστική συσκευασία και αποκαλούνται PPGA. Η πλαστική συσκευασία είναι και πιο φτηνή και καλύτερη θερμικά από την CPGA. Έχει μια ανασηκωμένη τετράγωνη μεταλλική περιοχή πάνω της, για να μεταφέρει τη θερμότητα στη διάταξη απομάκρυνσης της καλύτερα από τη CPGA. Τελικά, καθώς ο αριθμός των συνδέσεων για τον Pentium και τους επόμενους επεξεργαστές επεκτάθηκε στους 200 και προσέγγισε τους 300, η Intel αναγκάστηκε να τοποθετήσει ακόμα περισσότερους ακροδέκτες στον ίδιο χώρο. Για να το πετύχει αυτό άλλαξε το σχεδιασμό των ακροδεκτών, έτσι ώστε να συμπιεστούν πολύ στενότερα. Αυτό κάποιες φορές ονομάζεται SPGA. O Pentium και τα επόμενα chips είναι δημιουργημένα με αυτό το σχέδιο. Τέλος, ο Pentium Pro επεξεργαστής χρησιμοποιεί μια ειδική μορφή της PGA που ονομάζεται "διπλής μορφής PGA". Το γεγονός αυτό οφείλεται στο ότι o Pentium έχει συσκευασία διπλού chip, καθώς περιλαμβάνει και ενοποιημένη δευτερεύουσα κρυφή μνήμη (L2 cache). Single Edge Contact (SEC) Ο πιο καινούριος τρόπος συσκευασίας για τους desktop υπολογιστές, η Single Edge Contact ή SEC είναι αρκετά διαφοροποιημένος από το μοντέλο του απλού chip, που η Intel χρησιμοποιούσε για όλους τους επεξεργαστές μέχρι τον Pentium Pro. O PPro είχε ενσωματωμένη δευτερεύουσα κρυφή μνήμη, μέσα στην ίδια συσκευασία του chip. Με τη δημιουργία του Pentium II επεξεργαστή, η Intel μετέφερε τη δευτερεύουσα αυτή μνήμη έξω από το chip, αλλά ήθελε να μπορεί να διατηρήσει μια ειδική υψηλής ταχύτητας σύνδεση μεταξύ της μνήμης και του επεξεργαστή. Για να το καταφέρουν αυτό αποφάσισαν να μην πωλούν τον Pentium II ως ένα ξεχωριστό chip, αλλά σαν μια ενοποιημένη συσκευασία με την δευτέρου επιπέδου κρυφή μνήμη. Η SEC ήταν το αποτέλεσμα. Συσκευασία SEC

44 44 Η SEC είναι στην ουσία μια θυγατρική κάρτα, όχι μια συσκευασία chip. Ο επεξεργαστής είναι συσκευασμένος χρησιμοποιώντας τεχνολογία παρόμοια με κανονική PGA, αλλά είναι τοποθετημένος πάνω σε μια μικρή πλακέτα κυκλώματος με ένα δικός της σύνδεσμο στην άκρη της. Η δευτέρου επιπέδου κρυφή μνήμη είναι τοποθετημένη πάνω σε αυτή τη θυγατρική κάρτα, που τοποθετείται σε μια ειδική υποδοχή (slot) πάνω στη μητρική πλακέτα. Αυτό επιτρέπει μεγαλύτερη ταχύτητα στην αλληλεπίδραση με την δευτερεύουσα κρυφή μνήμη, καθώς δεν βρίσκεται πάνω στη μητρική πλακέτα, όπως συμβαίνει με τις μητρικές πλακέτες για Pentium και Pentium MMX. Mobile Module (MMO) Οι φορητοί υπολογιστές αντιπροσωπεύουν τη μεγαλύτερη πρόκληση για τους κατασκευαστές συστημάτων εξαιτίας των περιορισμών τους σε βάρος και μέγεθος, καθώς και της δυσκολίας ψύξης τους. Για να αντιμετωπιστούν αυτοί οι περιορισμοί, η τάση οδηγεί σε όλο και μεγαλύτερη σμίκρυνση. Η Intel συνεχίζει αυτή την τάση παρουσιάζοντας την mobile module συσκευασία, η οποία ουσιαστικά ενσωματώνει τον επεξεργαστή, την L2 cache και το chipset σε μια μικρή μονάδα. Επιπρόσθετα από τη σμίκρυνση, η Intel κέρδισε από αυτό το σχεδιασμό πιο ικανό έλεγχο στη διασύνδεση μεταξύ του chipset και του επεξεργαστή και επίσης στις ηλεκτρικές ενώσεις μεταξύ αυτών, πράγμα που έγινε απαραίτητο για την αύξηση της απόδοσης. Φυσικά είναι ιδιόκτητος σχεδιασμός, δίνοντας στην Intel πλεονέκτημα στην αγορά. Tape Carrier Packaging (TCP) Η Intel διέθετε στο παρελθόν ορισμένα chips στην αρχική τους μορφή. Έναν πλαστικό κύλινδρο με chips δεμένα επάνω του, που πωλούνταν σε κατασκευαστές συστημάτων χωρίς κάποια εξωτερική συσκευασία. Τα chips μετά συγκολλούνταν σε ειδικά, για τη χρήση τέτοιων chips, moterboards. Πρόκειται για πολύ πολύπλοκη εργασία σε σχέση με τη χρήση υποδοχής (socket), αλλά έχει το πλεονέκτημα ότι καταλαμβάνει πολύ λιγότερο χώρο. Αυτή η συσκευασία χρησιμοποιούταν για φορητούς υπολογιστές.

45 7. Η υποδοχή του (socket ή slot) 45 Εισαγωγή Ο σκοπός της υποδοχής του επεξεργαστή της μητρικής πλακέτας είναι απλώς να παρέχει ένα μέρος για να τοποθετηθεί ο επεξεργαστής πάνω σε αυτή. Συνεπώς δεν έχει διαφορά από τις υποδοχές που υπάρχουν πάνω στη μητρική πλακέτα για τα περισσότερα μέρη του υπολογιστή. Ωστόσο, τα τελευταία χρόνια η Intel, ο βασικός κατασκευαστής επεξεργαστών στον κόσμο, έχει ορίσει διάφορα πρότυπα διασύνδεσης για τις μητρικές πλακέτες των υπολογιστών. Αυτό που είναι σημαντικό στη δημιουργία αυτών των προτύπων είναι ότι οι δύο ανταγωνιστές της Intel, η AMD και η Cyrix, μπορούσαν να χρησιμοποιήσουν αυτά τα πρότυπα στην προσπάθεια τους για συμβατότητα με την Intel. Καθώς η συσκευασία και οι υποδοχές δεν αλλάζουν με τον καιρό, η παρουσία προτύπων επιτρέπει καλύτερη υλοποίηση για τους κατασκευαστές μητρικών πλακετών, οι οποίοι μπορούν να υποστηρίξουν με μεγαλύτερη ευκολία μελλοντικούς επεξεργαστές από ότι αν χρειαζόταν κάθε μητρική πλακέτα να είναι κατασκευασμένο για ένα ειδικό chip. Τυποποιημένες υποδοχές (Sockets και Slots) Η δημιουργία αυτών των προτύπων έγινε αναγκαία από την αλλαγή του τρόπου με τον οποίο αγόραζαν υπολογιστές. Τα πρώτα δέκα χρόνια που πωλούνταν υπολογιστές, οι καταναλωτές αποδέχονταν ότι όταν ήθελαν να αποκτήσουν ένα πιο γρήγορο σύστημα, έπρεπε να αγοράσουν ένα νέο υπολογιστή. Η Intel άλλαξε αυτό με το "Overdrive" πρόγραμμα της, εξασφαλίζοντας τη διαθεσιμότητα αναβαθμισμένων επεξεργαστών για να βελτιώσουν την απόδοση ενός συγκεκριμένου συστήματος, απλά με την αλλαγή του chip. Καθώς συχνά τα αναβαθμισμένα chips δεν είχαν ολοκληρωθεί στη σχεδίαση τους την ώρα που η μητρική πλακέτα για το αρχικό σύστημα κατασκευαζόταν, αυτό έθετε τους κατασκευαστές των μητρικών πλακετών σε δύσκολη θέση. Ο καθορισμός των τυποποιημένων υποδοχών, προκαταβολικά, επέτρεπε υποστήριξη στα παρόντα συστήματα σε μελλοντικούς επεξεργαστές, που η Intel μπορεί να σχεδιάσει για να λειτουργούν με αυτές τις υποδοχές. Μια επιπλέον διευκόλυνση για τους καταναλωτές είναι ότι αυτά τα πρότυπα έδωσαν και σε άλλους κατασκευαστές επεξεργαστών, όπως η AMD και η Cyrix, την ευκαιρία να δημιουργήσουν chips που ήταν συμβατά με της Intel, υπό τον όρο ότι ικανοποιούσαν το πρότυπο της υποδοχής. Οι τυποποιημένες υποδοχές έκαναν πολύ πιο εύκολο για τους χρήστες να καθορίσουν τι επεξεργαστές μπορεί να υποστηρίζει η μητρική πλακέτα τους, γνωρίζοντας τι τύπο υποδοχής χρησιμοποιούν. Η κατάσταση με τους 486 επεξεργαστές και τις υποδοχές είναι μερικώς μπερδεμένη εξαιτίας των διαφόρων τύπων υποδοχών (κάποιες με 168 ακροδέκτες και άλλες με 169) και τις ποικίλες δυνατότητες αναβάθμισης. Η παρουσία της υποδοχής του μαθηματικού συνεπεξεργαστή στον 486SX κάνει την κατάσταση ακόμα χειρότερη. Τοποθέτηση και προσαρμογή Καθώς οι περισσότερες υποδοχές (και επεξεργαστές) είναι τετράγωνες, υποθέτουμε ότι ο επεξεργαστής έχει τοποθετηθεί πάνω στην υποδοχή. Τυχαία περιστροφή του επεξεργαστή κατά 90 μοίρες μπορεί να είναι καταστροφική, καθώς πολλές από τις τρύπες της υποδοχής που παρέχουν τροφοδοσία στον επεξεργαστή θα παρέχουν αυτή την τάση σε λάθος ακροδέκτες.

46 Διάφορες προφυλάξεις λαμβάνονται για να βεβαιωθεί ότι και η υποδοχή και ο επεξεργαστής θα έχουν τη σωστή προσαρμογή. Ο επεξεργαστής είναι συνήθως σημειωμένος με μια τελεία ή μια εγκοπή στη γωνία που είναι σκόπιμο να πάει στη σημειωμένη γωνία της υποδοχής. Επιπρόσθετα, πολλές υποδοχές παρέχουν τη βοήθεια της μη συμμετρικής σχεδίασης των ακροδεκτών, έτσι ώστε να μην μπορεί να τοποθετηθεί λανθασμένα ο επεξεργαστής. 46 Προφυλάξεις για τη σωστή τοποθέτηση του επεξεργαστή Προβλήματα τοποθέτησης και η υποδοχή ZIF Με τον ίδιο τρόπο που οι τυποποιημένες υποδοχές δεν ήταν θέμα μέχρι που ο και οι OverDrive επεξεργαστές έγιναν δημοφιλείς, έτσι δεν υπήρχε και θέμα εισαγωγής και εξαγωγής του επεξεργαστή προς και από τις υποδοχές του. Ο κατασκευαστής τοποθετούσε τον επεξεργαστή αρχικά και αυτό ήταν κάτι αμετάβλητο. Η χρήση OverDrive επεξεργαστών και τυποποιημένων υποδοχών σήμαινε ότι ξαφνικά οι χρήστες θα μπορούσαν να βγάλουν τους επεξεργαστές από αυτές τις υποδοχές και να τοποθετήσουν καινούριους. Η αντικατάσταση του επεξεργαστή ήταν μια επικίνδυνη εργασία, καθώς μια λάθος τοποθέτησή του μπορούσε να αποφέρει το σπάσιμο κάποιων ακροδεκτών του με συνέπεια την καταστροφή του, αφού απαιτούταν αρκετά μεγάλη δύναμη πίεσης για να τοποθετηθεί πάνω στην υποδοχή. Για να καταπολεμηθεί αυτή η κατάσταση δημιουργήθηκε η ZIF (μηδενικής δύναμης εισαγωγής - Zero Insertion Force) υποδοχή. Μια τυπική υποδοχή είναι σχεδιασμένη να κάνει μια σφιχτή σύνδεση με τους εισερχόμενους ακροδέκτες, γεγονός στο οποίο οφείλεται η δυσκολία τοποθέτησης του επεξεργαστή. Μια ZIF υποδοχή είναι σχεδιασμένη με ένα ειδικό μοχλό που είτε σφίγγει, είτε χαλαρώνει τους συνδέσμους της υποδοχής. Ανασηκώνοντας το μοχλό, η υποδοχή χαλαρώνει επιτρέποντας στον επεξεργαστή να τοποθετηθεί ή να απομακρυνθεί εύκολα (με "μηδενική δύναμη"). Κατεβάζοντας το μοχλό η υποδοχή σφίγγει εξασφαλίζοντας τη σωστή τοποθέτηση του επεξεργαστή. Υποδοχή ZIF

47 Κανονικοί και OverDrive επεξεργαστές 47 Οι OverDrive επεξεργαστές διαφέρουν από τους κανονικούς σε ένα σημαντικό σημείο. Είναι σχεδιασμένοι να χρησιμοποιούνται για να αναβαθμίζουν παλαιότερες μητρικές πλακέτες και συνεπώς τοποθετούνται σε υποδοχές που κανονικές εκδόσεις του ίδιου επεξεργαστή δεν θα ταίριαζαν. Για παράδειγμα ο Pentium επεξεργαστής ταιριάζει "κανονικά" σε μητρικές πλακέτες με Socket 5 ή Socket 7 υποδοχή, αλλά διαφορετικές εκδόσεις του Pentium OverDrive μπορούν να χρησιμοποιηθούν από τη Socket 2 μέχρι και την 7.

48 8. Οι προδιαγραφές των υποδοχών του 48 Intel Socket 1 Αριθμός ακροδεκτών: 169 Γραμμές ακροδεκτών: 3 Τάση: 5 volts Κατηγορία μητρικής πλακέτας: 486 Υποστηριζόμενοι επεξεργαστές: 486SX, 486DX, 486DX2, 486DX4 OverDrive Περιγραφή: Αυτό που σήμερα ονομάζεται "Socket 1" ήταν αρχικά η OverDrive υποδοχή. Βρίσκεται στα περισσότερα 486 συστήματα που ήταν σχεδιασμένα για να αναβαθμιστούν με ένα OverDrive chip. Υποστηρίζει τους παλαιότερους (5 volt) 486SX, 486DX και 486DX2 κανονικούς επεξεργαστές. Ο μόνος OverDrive επεξεργαστής που ταιριάζει στην Socket 1 υποδοχή είναι ο 486DX4 OverDrive. Ο Pentium OverDrive δεν ταιριάζει καθώς έχει τέσσερεις γραμμές από ακροδέκτες και η υποδοχή έχει μόνο τρεις. Η Socket 1 είναι πλέον μια απαρχαιωμένη υποδοχή. Δεν είναι η ίδια, 168 ακροδεκτών, υποδοχή που χρησιμοποιούταν για τους αρχικούς επεξεργαστές σε πολλά 486 συστήματα, καθώς αυτή η υποδοχή δεν δεχόταν OverDrive chip. Socket 1

49 Intel Socket 2 Αριθμός ακροδεκτών: 238 Γραμμές ακροδεκτών: 4 Τάση: 5 volts Κατηγορία μητρικής πλακέτας: 486 Υποστηριζόμενοι επεξεργαστές: 486SX, 486DX, 486DX2, 486DX4 OverDrive, Pentium OverDrive Περιγραφή: Η Socket 2 ήταν η πρώτη OverDrive υποδοχή που τοποθετήθηκε στα 486 συστήματα για να μπορούν να υποστηρίξουν το Pentium OverDrive chip. Υποστηρίζει άμεσα τους παλαιότερους (5 volts) 486SX, 486DX και 486DX2, καθώς και τους 486DX4 και Pentium OverDrives. 49 Socket 2

50 Intel Socket 3 Αριθμός ακροδεκτών: 237 Γραμμές ακροδεκτών: 4 Τάση: 5 volts / 3.3 volts Κατηγορία μητρικής πλακέτας: 486 Υποστηριζόμενοι επεξεργαστές: 486SX, 486DX, 486DX2, 486DX4, Pentium OverDrive, 5x86 Περιγραφή: Η Socket 3 είναι υποδοχή για υπολογιστές κατηγορίας 486. Η πιο σημαντική τροποποίηση από το σχεδιασμό της Socket 2 είναι η υποστήριξη τάσης 3.3 volt. Αυτό επιτρέπει στην υποδοχή να χρησιμοποιεί τους τελευταίους κατηγορίας 486 επεξεργαστές, συμπεριλαμβανομένων αυτών της AMD και τους 5x86 επεξεργαστές της Cyrix. Μια ρύθμιση μιας γέφυρας βραχυκύκλωσης (jumper) στη μητρική πλακέτα συνήθως χρησιμοποιείται για να διαλέξει λειτουργία στα 3.3 ή στα 5 volt. Η υποδοχή επίσης υποστηρίζει και Pentium OverDrive επεξεργαστή. 50 Socket 3

51 Intel Socket 4 Αριθμός ακροδεκτών: 273 Γραμμές ακροδεκτών: 4 Τάση: 5 volts Κατηγορία μητρικής πλακέτας: πρώτη γενιά Pentium Υποστηριζόμενοι επεξεργαστές: Pentium 60-66, Pentium OverDrive Περιγραφή: Η Socket 4 είναι η πρώτη υποδοχή σχεδιασμένη για κανονική υποστήριξη των πρώτων Pentium επεξεργαστών, που λειτουργούσαν στα 60 ή στα 66 MHz. Είναι η μόνη 5 volt υποδοχή Pentium. Αυτά τα μηχανήματα δεν είχαν πραγματική υποστήριξη αναβάθμισης για τις πιο γρήγορες εκδόσεις του Pentium καθώς αρχίζοντας με την έκδοση των 75 MHz, η Intel άλλαξε την τάση στα 3.3 volt. Αυτή η υποδοχή υποστηρίζει ένα ειδικό Pentium OverDrive επεξεργαστή, που λειτουργεί είτε στα 120 MHz (για τα 60 MHz), είτε στα 133 MHz (για τα 66). 51 Socket 4

52 Intel Socket 5 Αριθμός ακροδεκτών: 320 Γραμμές ακροδεκτών: 5 Τάση: 3.3 volts Κατηγορία μητρικής πλακέτας: Pentium Υποστηριζόμενοι επεξεργαστές: Pentium MHz, Pentium OverDrive 52 Περιγραφή: Η Socket 5 είναι η πρώτη υποδοχή σχεδιασμένη για τη δεύτερη γενιά των Pentium επεξεργαστών. Υποστηρίζει χαμηλής ταχύτητας Pentiums από 75 έως 133 MHz. Υψηλότερης ταχύτητας όπως ο 166 MHz και ο 200 MHz, καθώς και οι πιο καινούριοι Pentiums με MMX, δεν θα λειτουργήσουν σε μια Socket 5, καθώς έχουν ένα επιπλέον ακροδέκτη. Αυτοί πρέπει να χρησιμοποιηθούν σε μια Socket 7. Ωστόσο υπάρχουν Pentium OverDrives επεξεργαστές που επιτρέπουν την αναβάθμιση σε τέτοιες μητρικές πλακέτες. Η Socket 5 έχει αντικατασταθεί από τη Socket 7. Socket 5

53 Intel Socket 6 Ονομασία: Socket 6 Αριθμός ακροδεκτών: 235 Γραμμές ακροδεκτών: 4 Τάση: 3.3 volts Κατηγορία μητρικής πλακέτας: 486 Υποστηριζόμενοι επεξεργαστές: 486DX4, Pentium OverDrive Περιγραφή: Η Socket 6 είναι η τελευταία υποδοχή κατηγορίας 486 που δημιουργήθηκε από την Intel. Πρόκειται για μια ελαφρώς τροποποιημένη Socket 3 και δεν "έπιασε" ποτέ στην αγορά. Πιθανώς, με την Intel να μην συνεχίζει τη γραμμή των 486 επεξεργαστών, οι κατασκευαστές μητρικών πλακετών είδαν ότι δεν υπήρχε η ανάγκη να υφίστανται το κόστος της αλλαγής των σχεδίων τους από το πρότυπο της Socket 3. Η Socket 6 δε χρησιμοποιείται στις σύγχρονες μητρικές πλακέτες. 53 Socket 6

54 Intel Socket 7 Αριθμός ακροδεκτών: 321 Γραμμές ακροδεκτών: 5 Τάση: volts Κατηγορία μητρικής πλακέτας: Pentium Υποστηριζόμενοι επεξεργαστές: Pentium MHz, Pentium OverDrive, Pentium with MMX, Pentium with MMX OverDrive, K5, 6x86, K6, 6x86MX Περιγραφή: Η Socket 7 είναι η πιο δημοφιλής υποδοχή για Pentium μητρικές πλακέτες και η πιο κοντινή στα σημερινά πρότυπα της αγοράς. Υποστηρίζει μια πλατιά ποικιλία επεξεργαστών, περιλαμβάνοντας τα υψηλότερης απόδοσης πέμπτης γενιάς chips από την Intel. Επιπλέον, η Socket 7 έγινε δεκτή και από τους ανταγωνιστές της Intel, την AMD και τη Cyrix, που έχουν σχεδιάσει όχι μόνο κατηγορίας Pentium επεξεργαστές, αλλά και έκτης γενιάς chips για να ταιριάζουν με το πρότυπο αυτό. Από την πλευρά της η Intel δεν προσπάθησε να τοποθετήσει την έκτη γενιά των δικών της επεξεργαστών στο πρότυπο της Socket 7. Οι Socket 7 μητρικές πλακέτες ήταν οι πρώτες που ενσωμάτωναν ολοκληρωμένους ρυθμιστές της τάσης, για να παρέχουν τη χαμηλότερη τάση (χαμηλότερη από 3.3 volt), που απαιτούταν για την εσωτερική χρήση των επεξεργαστών. Δεν υποστήριζαν όλες οι Socket 7 μητρικές πλακέτες τη χαμηλότερη τάση, ωστόσο, εξαρτιόταν από τους κατασκευαστές των μητρικών πλακετών να ενδιαφερθούν για το μέλλον και να κάνουν αυτή την ευκολία επιλογή. 54 Socket 7

55 Intel Socket 8 Αριθμός ακροδεκτών: 387 Γραμμές ακροδεκτών: 5 (διπλός τύπος) Τάση: 3.1 volts / 3.3 volts Κατηγορία μητρικής πλακέτας: Pentium Pro Υποστηριζόμενοι επεξεργαστές: Pentium Pro, Pentium Pro OverDrive, Pentium II OverDrive Περιγραφή: Η Socket 8 είναι μια υποδοχή για τους Pentium Pro επεξεργαστές, ειδικά σχεδιασμένη για να χειρίζεται το ασυνήθιστο διπλής κοιλότητας ορθογώνιο σχήμα τους. Καθώς η Intel ήταν ήδη αποφασισμένη να απομακρυνθεί από το σχεδιασμό των Pentium Pro για τους μελλοντικούς επεξεργαστές, τις ήδη υπάρχουσες Socket 8 μητρικές πλακέτες μπορούν μόνο να αναβαθμιστούν μέσω OverDrive chips. Η Socket 8 είναι η μόνη υποδοχή που υποστηρίζει τον Pentium Pro. Καθώς η Intel είναι αποφασισμένη να μετακινηθεί στη SEC (θυγατρική κάρτα) συσκευασία αρχίζοντας με τον Pentium II, κάποιοι κατασκευαστές μητρικών πλακετών δημιούργησαν ένα έξυπνο σχέδιο για τις καινούριες πλακέτες τους που θα υποστηρίζει τον Pentium Pro σε μια Pentium II υποδοχή (slot). Η Socket 8 είναι τοποθετημένη πάνω σε μια SEC θυγατρική κάρτα, παρόμοια με αυτή που χρησιμοποιεί ο Pentium II, η οποία εισέρχεται στη Slot 1 υποδοχή πάνω στη μητρική πλακέτα. Αργότερα αυτή η κάρτα μπορεί να αντικατασταθεί από ένα Pentium II ή επόμενο επεξεργαστή. Αυτό παρέχει στους αγοραστές Pentium Pro την ευελιξία για μελλοντικές αναβαθμίσεις. 55 Socket 8

56 Intel Slot 1 Αριθμός ακροδεκτών: 242 Γραμμές ακροδεκτών:2 Τάση: volts Κατηγορία μητρικής πλακέτας: Pentium Pro / Pentium II Υποστηριζόμενοι επεξεργαστές: Pentium II, Pentium Pro (με Socket 8 σε θυγατρική κάρτα) Περιγραφή: Η Slot 1 είναι η πρώτη που χρησιμοποίησε την τεχνολογία της SEC θυγατρικής κάρτας, που δημιουργήθηκε για τον επεξεργαστή Pentium II. Η Slot 1 παρέχει τη διασύνδεση με τον επεξεργαστή και τη L2 cache στην SEC κάρτα. Επιπρόσθετα, πολλές Slot 1 μητρικές πλακέτες είναι σχεδιασμένες για να δέχονται μια θυγατρική κάρτα που είχε μια Socket 8 για τον Pentium Pro. 56 Slot 1

57 Ανακεφαλαίωση Ο παρακάτω πίνακας συνοψίζει τα βασικά χαρακτηριστικά των προτύπων των υποδοχών (socket και slot). Επίσης παρουσιάζονται και οι κύριοι επεξεργαστές που χρησιμοποιούνται σε κάθε υποδοχή, καθώς και ο τύπος της μητρικής πλακέτας, στην οποία χρησιμοποιείται η υποδοχή. 57 Ονομασία Αριθμός ακροδεκτών Γραμμές ακροδεκτών Τάση Γενιά motherboard Υποστηριζόμενοι επεξεργαστές Socket V Πέμπτη 80486DX, 80486SX, 80486DX2, 80486DX4 OverDrive Socket V Πέμπτη 80486DX, 80486SX, 80486DX2, 80486DX4 OverDrive, Pentium OverDrive 63 και 83 Socket V / 3.3V Τέταρτη 80486DX, 80486SX, 80486DX2, 80486DX4, AMD 5x86, Cyrix 5x86, Pentium OverDrive 63 και 83 Socket V Πέμπτη (5V) Pentium 60-66, Pentium OverDrive 120/133 Socket V Πέμπτη Pentium MHz, Pentium OverDrive , Pentium MMX OverDrive Socket V Τέταρτη Δεν χρησιμοποιείται Socket V Socket V / 3.3V Slot V / 3.3V Πέμπτη Έκτη Έκτη Pentium MHz, Pentium OverDrive, Pentium MMX, Pentium MMX OverDrive, 6x86, K5, K6, 6x86MX Pentium Pro Pentium II, Pentium Pro (με Socket 8 σε θυγατρική κάρτα)

58 9. Η εξωτερική λειτουργία του 58 Χρονισμός του συστήματος Κάθε σύγχρονος υπολογιστής έχει πολλούς χρόνισες συστήματος. Κάθε ένας από αυτούς πάλλεται σε μια συγκεκριμένη συχνότητα, που συνήθως μετράται σε MHz (megahertz ή εκατομμύρια κύκλοι ανά δευτερόλεπτο). Ένας "χτύπος" του ρολογιού είναι η μικρότερη μονάδα χρόνου που γίνεται η επεξεργασία και ορισμένες φορές αποκαλείται και κύκλος (παλμός) ρολογιού. Κάποιες εργασίες μπορούν να ολοκληρωθούν σε ένα κύκλο, ενώ άλλες απαιτούν περισσότερους. Το "χτύπημα" αυτών των ρολογιών είναι αυτό που οδηγεί τα διάφορα κυκλώματα του υπολογιστή και όσο ταχύτερο είναι αυτό το χτύπημα, τόσο πιο γρήγορος είναι ο υπολογιστής. Οι πρώτοι υπολογιστές είχαν ένα ρολόι συστήματος, ένα μόνο ρολόι, που έτρεχε σε πολύ μικρή ταχύτητα όπως 8 MHz και οδηγούσε τον επεξεργαστή, τη μνήμη και τους διαύλους εισόδου / εξόδου. Καθώς οι υπολογιστές έχουν προοδεύσει και διάφορα μέρη έχουν κερδίσει σε ταχύτητα περισσότερο από άλλα, η ανάγκη για πολλούς χρονιστές έχει αυξηθεί. Ένας τυπικός, σύγχρονος επεξεργαστής έχει τέσσερις ή πέντε χρονιστές, οι οποίοι λειτουργούν σε διαφορετικές (αλλά σχετικές) ταχύτητες. Ο όρος "ρολόι συστήματος", συνήθως αναφέρεται στην ταχύτητα του διαύλου μνήμης πάνω στη μητρική πλακέτα. Δημιουργία χρονισμού του συστήματος Το "κύριο" ρολόι του συστήματος υλοποιείται από ένα απλό κύκλωμα χρονισμού. Με την βοήθεια επιπλέον κυκλωμάτων πολλαπλασιασμού ή διαίρεσης δημιουργούνται τα υπόλοιπα σήματα του συστήματος. Ο παρακάτω πίνακας δείχνει την τυπική διευθέτηση των χρονιστών ενός 266 MHz Pentium ΙΙ υπολογιστή, καθώς και το πως σχετίζονται μεταξύ τους: Συσκευή Ταχύτητα (MHz) Δημιουργείται από Επεξεργαστής 266 Ρολόι συστήματος * 4 Level 2 Cache 133 Ρολόι συστήματος * 2 (ή επεξεργαστής / 2) Δίαυλος μνήμης 66 Δίαυλος PCI 33 Ρολόι συστήματος / 2 Δίαυλος ISA 8.3 Δίαυλος PCI / 4

59 Ολόκληρο το σύστημα είναι "δεμένο" με την ταχύτητα του ρολογιού του συστήματος. Σε αυτό οφείλεται το γεγονός ότι η αύξηση της ταχύτητας του ρολογιού συστήματος είναι πιο σημαντικό από το να αλλάξουμε αποκλειστικά την ταχύτητα του επεξεργαστή, καθώς ο επεξεργαστής σπαταλά πολύ χρόνο περιμένοντας πληροφορίες από πολύ πιο αργές συσκευές, κυρίως από το δίαυλο μνήμης. Πολυεπεξεργασία (Multiprocessing) 59 Η πολυεπεξεργασία γίνεται σε ένα σύστημα με περισσότερους από έναν επεξεργαστές. Θεωρητικά, μπορούμε να διπλασιάσουμε την απόδοση, χρησιμοποιώντας δύο επεξεργαστές αντί για έναν. Η αλήθεια είναι ότι δε λειτουργεί ακριβώς έτσι, ωστόσο η πολυεπεξεργασία μπορεί να βελτιώσει την απόδοση, κάτω από ορισμένες συνθήκες. Για να λειτουργήσει σωστά η πολυεπεξεργασία, το υπολογιστικό σύστημα πρέπει να έχει τα παρακάτω χαρακτηριστικά: Υποστήριξη μητρικής πλακέτας: Η μητρική πλακέτα να είναι ικανή να χειριστεί πολλούς επεξεργαστές. Αυτό σημαίνει επιπλέον υποδοχές για τα επιπλέον chips και ένα chipset ικανό να χειριστεί την πολυεπεξεργασία. Υποστήριξη επεξεργαστή: Οι επεξεργαστές που είναι ικανοί να χρησιμοποιηθούν σε συστήματα πολυεπεξεργασίας. Δεν είναι ικανοί όλοι οι επεξεργαστές για κάτι τέτοιο και στην ουσία άλλες εκδόσεις κάποιοι επεξεργαστή είναι ικανές ενώ άλλες όχι. Υποστήριξη λειτουργικού συστήματος: Ένα λειτουργικό σύστημα, που υποστηρίζει την πολυεπεξεργασία, όπως είναι τα Windows NT ή μια από τις διάφορες εκδόσεις του UNIX. Σύστημα πολυεπεξεργασίας 4 επεξεργαστών Επιπρόσθετα, η πολυεπεξεργασία είναι πιο αποδοτική όταν χρησιμοποιείται με εφαρμογές λογισμικού σχεδιασμένες ειδικά για αυτό. Το λειτουργικό σύστημα διευθύνει την πολυεπεξεργασία, κατανέμοντας τις διάφορες λειτουργίες για να εκτελεστούν από τους διάφορους επεξεργαστές του συστήματος. Εφαρμογές που είναι σχεδιασμένες για πολυεπεξεργασία είναι σπασμένες σε μικρότερες ρουτίνες, έτσι ώστε να μπορούν να τρέξουν ανεξάρτητα. Αυτό επιτρέπει στο λειτουργικό σύστημα να τρέχει αυτές τις ρουτίνες σε περισσότερους από έναν επεξεργαστές ταυτόχρονα. Αν η εφαρμογή δεν είναι σχεδιασμένη κατά αυτό τον τρόπο, τότε δεν μπορεί να εκμεταλλευτεί το πλεονέκτημα των πολλαπλών επεξεργαστών, ωστόσο το λειτουργικό σύστημα μπορεί να κάνει χρήση των επιπλέον επεξεργαστών αν τρέχουμε περισσότερες από μια εφαρμογές ταυτόχρονα (multitasking). Η πολυεπεξεργασία μπορεί να χωριστεί σε ασύμμετρη και συμμετρική. Ο όρος αναφέρεται στο πως το λειτουργικό σύστημα διαχωρίζει τις λειτουργίες μεταξύ των επεξεργαστών του συστήματος. Η ασύμμετρη πολυεπεξεργασία καθορίζει κάποιους επεξεργαστές να εκτελούν

60 λειτουργίες του συστήματος και κάποιους άλλους να τρέχουν μόνο εφαρμογές. Πρόκειται για ένα άκαμπτο σχεδιασμό, που προκαλεί μείωση της απόδοσης όταν ο υπολογιστής χρειάζεται να τρέξει πολλές εφαρμογές συστήματος και όχι εφαρμογές του χρήστη ή το αντίθετο. Η συμμετρική πολυεπεξεργασία επιτρέπει στις λειτουργίες του συστήματος και στις εφαρμογές του χρήστη να εκτελούνται σε οποιοδήποτε επεξεργαστή, γεγονός που προσφέρει μεγαλύτερη ευκινησία και οδηγεί σε καλύτερη απόδοση το σύστημα. Οι μητρικές πλακέτες των προσωπικών υπολογιστών, που κάνουν πολυεπεξεργασία χρησιμοποιούν τη συμμετρική. 60

61 Το σύνολο των εντολών του επεξεργαστή 61 Εισαγωγή Η δουλειά όλων των επεξεργαστών είναι να εκτελούν εντολές, οι οποίες είναι γραμμένες σε γλώσσα μηχανής (machine language) που καταλαβαίνει ο επεξεργαστής. Τα περισσότερα προγράμματα είναι γραμμένα σε υψηλότερου επιπέδου γλώσσες, αλλά θα πρέπει να μεταφραστούν σε γλώσσα μηχανής για να μπορεί ο υπολογιστή να τα εκτελέσει. Αυτό ονομάζεται μεταγλώττιση (compiling) του προγράμματος σε γλώσσα μηχανής. Όλες οι διάφορες εντολές που ο επεξεργαστής μπορεί να εκτελέσει ονομάζονται σύνολο εντολών. Το σύνολο εντολών καθορίζει τι είδος λογισμικού μπορεί να τρέξει στον επεξεργαστή. Για να είναι δύο επεξεργαστές συμβατοί πρέπει (εκτός και από άλλα πράγματα) να είναι ικανοί να εκτελούν τις ίδιες εντολές. Ο αριθμός και ο τύπος των εντολών που υποστηρίζονται από τον επεξεργαστή υπαγορεύει τις απαιτήσεις για όλο το λογισμικό που θα χρησιμοποιεί και έχει σημαντική σημασία στην απόδοση. Η μεταγλώττιση ενός προγράμματος Σύνολο εντολών x86 Το σύνολο εντολών που χρησιμοποιείται στην πλειοψηφία των υπολογιστών, συχνά αποκαλείται x86 σύνολο εντολών και αναφέρεται στο σύνολο των επεξεργαστών της οικογένειας Intel, που η ονομασία τους τελειώνει σε "86". Στην πραγματικότητα, το σύνολο εντολών δεν έχει μείνει εντελώς στατικό σε όλες τις γενιές των επεξεργαστών εδώ και 15 χρόνια. Ωστόσο, η τελευταία σημαντική αλλαγή (μαζί με την επέκταση των MMX εντολών) συνέβη με τη δημιουργία του Οι δύο γενιές επεξεργαστών πριν τον 386, 8088/8086 και 286, είχαν λιγότερες εντολές και μεθόδους επεξεργασίας. Το αποτέλεσμα ήταν ότι το λογισμικό που είναι γραμμένο για τον 386 ή επόμενους επεξεργαστές δε θα δουλεύει σε παλαιότερους από τον 386. Επίσης, οι πριν τον 386 επεξεργαστές ήταν εσωτερικά 16-bit και συνεπώς δεν θα μπορούσαν να χειριστούν το σύγχρονο 32-bit λογισμικό. CISC και RISC επεξεργαστές Η συλλογή όλων των εντολών που είναι διαθέσιμες σε ένα επίπεδο, λέγεται σύνολο εντολών (instruction set). Ο αριθμός των εντολών του συνόλου αυτού ποικίλλει από επίπεδο σε επίπεδο. Στο επίπεδο συμβατικής μηχανής το μέγεθος του συνόλου εντολών είναι συνήθως μεταξύ 20 και 300. Ένα μεγάλο σύνολο εντολών δε σημαίνει απαραίτητα ότι είναι καλύτερο από ένα μικρότερο. Αντίθετα μάλιστα, σ' ένα μεγάλο σύνολο, οι εντολές δεν

62 είναι πολύ γενικές. Οι μεταγλωττιστές (compilers) γλωσσών υψηλού επιπέδου όπως η Pascal, γενικά εκτελούνται καλύτερα σε μηχανές με μικρά σύνολα εντολών. Οι επεξεργαστές που χρησιμοποιούν μεγάλα και πολύπλοκα σύνολα εντολών ονομάζονται CISC (Complex Instruction Set Computer). Το σύνολο των εντολών αυτών, που το μήκος τους ποικίλλει από 8 έως 120 bits, ανάλογα με την εντολή, αναπτύχθηκε στην πραγματικότητα για τον 8086, ο οποίος περιελάμβανε transistors. Οι επεξεργαστές με πολύ μικρά σύνολα εντολών ονομάζονται RISC (Reduced Instruction Set Computer). Οι RISC εντολές, οι οποίες είναι σύντομες και όλες με το ίδιο μήκος (για παράδειγμα στον Pentium Pro έχουν μήκος 32 bits), είναι πολύ πιο γρήγορες από τις CISC εντολές. Όλοι οι καινούριοι επεξεργαστές χρησιμοποιούν RISC εντολές. Το πρόβλημα όμως που προκύπτει εδώ είναι ότι οι εντολές φτάνουν στον επεξεργαστή με διαμόρφωση x86. Συνεπώς πρέπει να αποκωδικοποιηθούν. Κάθε νέα γενιά επεξεργαστών, περιλαμβάνει ένα μεγαλύτερο σύνολο εντολών από την προηγούμενή της. Έτσι, ο 386 χρησιμοποιούσε επιπρόσθετα 26 νέες εντολές σε σχέση με τον 286, ο 486 χρησιμοποιούσε 6 νέες εντολές και ο Pentium 8 νέες εντολές. Αυτές οι αλλαγές σημαίνουν ότι κάποια προγράμματα απαιτούν τουλάχιστον ένα συγκεκριμένο τύπο επεξεργαστή για να δουλέψουν. Έτσι εξηγείται το γεγονός ότι κάποια προγράμματα παραδείγματος χάρη, που τρέχουν σε Pentium ή μεταγενέστερους επεξεργαστές, δεν τρέχουν σε 486. Επίσης, υπάρχει μια συνεχής βελτιστοποίηση ως προς τον τρόπο χειρισμού των εντολών. Αρχικά, η συχνότητα του ρολογιού του υπολογιστή αυξάνεται και όσο μεγαλύτερη είναι αυτή η συχνότητα, τόσο γρηγορότερος είναι ο επεξεργαστής. Τι μπορεί να κάνει ένας επεξεργαστής σ' ένα χτύπημα του ρολογιού; Ο 386 χρειαζόταν 6 χτυπήματα ρολογιού για να προσθέσει ένα αριθμό σ' ένα άθροισμα. Την ίδια δουλειά ο 486 την έκανε σε 2 χτυπήματα, λόγω της πιο αποτελεσματικής αποκωδικοποίησης των εντολών. Οι επεξεργαστές 5ης και 6ης γενιάς μπορούν να εκτελέσουν περισσότερες από μια τέτοιες διαδικασίες σε ένα χτύπημα του ρολογιού, καθώς περιέχουν περισσότερες από μια υπολογιστικές γραμμές (pipelines), οι οποίες δουλεύουν παράλληλα. ΜΜΧ Εντολές Η πρώτη σημαντική αλλαγή στο σύνολο εντολών x86, μέσα σε μια δεκαετία, το MMX ορίζει 57 νέες εντολές και την πρώτη ρήξη με την προς τα πίσω συμβατότητα. Το MMX προκύπτει από τη συντομογραφία του MultiMedia extensions (επεκτάσεις πολυμέσων). Αυτές οι εντολές ήταν διαθέσιμες αρχικά στους επεξεργαστές της Intel Pentium με MMX τεχνολογία, που είχαν το κωδικό όνομα P55C και συνήθως αναφέρονται ως "Pentium MMX". Oι πιο καινούριοι επεξεργαστές της Intel, της AMD και της Cyrix ενσωματώνουν όλοι υποστήριξη για αυτές τις εντολές. Ο σκοπός των MMX εντολών είναι να παρέχει μια αύξηση της απόδοσης συγκεκριμένων τύπων προγραμμάτων πολυμέσων. Στην ουσία, οι MMX εντολές είναι σχεδιασμένες για να επιτρέπουν την επεξεργασία μεγάλων ποσοτήτων παρομοίων δεδομένων αμέσως, χρησιμοποιώντας μια απλή εντολή. Αφού οι MMX είναι ένα διευρυμένο σύνολο εντολών, αυτό σημαίνει ότι οι επεξεργαστές που το υποστηρίζουν μπορούν να τρέξουν και όλα τα προγράμματα που έτρεχαν σε παλαιότερους υπολογιστές, αλλά το αντίστροφο δεν ισχύει. Οι MMX επεξεργαστές είναι συμβατοί προς τα πίσω. Για να κερδίσει τα πλεονεκτήματα της απόδοσης των ΜΜΧ εντολών, το λογισμικό πρέπει να είναι ειδικά γραμμένο έτσι ώστε να πάρει αυτά τα πλεονεκτήματα. Το λογισμικό αυτό θα πρέπει να μπορεί να εντοπίσει αν ο επεξεργαστής υποστηρίζει ΜΜΧ, καθώς αν δεν είναι τέτοιος επεξεργαστής δεν μπορεί να επεξεργαστεί τις MMX εντολές καθόλου. Είναι πιθανό το λογισμικό να είναι γραμμένο έτσι ώστε να 62

63 μπορεί να λειτουργεί και σε MMX και σε μη MMX επεξεργαστές, απλώς χρησιμοποιώντας διαφορετικό κώδικα για τις περιοχές που χρησιμοποιούν MMX εντολές. Η βελτίωση στην απόδοση που μπορούμε να έχουμε όταν χρησιμοποιούμε εντολές MMX, εξαρτάται από το λογισμικό που χρησιμοποιούμε. Η αύξηση στην απόδοση μπορεί να είναι σημαντική σε πολυμεσικές εφαρμογές, αλλά κάποιες άλλες εφαρμογές μπορεί να μην έχουν κανένα κέρδος από αυτές τις εντολές. 63

64 Κατάσταση Λειτουργιάς 64 Εισαγωγή Η κατάσταση λειτουργίας αναφέρεται στους διαφόρους τρόπους που ο επεξεργαστής δημιουργεί ένα λειτουργικό περιβάλλον για τον εαυτό του. Πιο συγκεκριμένα η κατάσταση λειτουργίας ελέγχει τον τρόπο που ο επεξεργαστής βλέπει και ελέγχει τη μνήμη του συστήματος και τις λειτουργίες που χρησιμοποιεί. Υπάρχουν τρεις διαφορετικές καταστάσεις λειτουργίας, που προήλθαν από την εξέλιξη των επεξεργαστών από την αρχή τους με το 8088chip της Intel. Πραγματική κατάσταση λειτουργίας (Real Mode) Ο πρώτος υπολογιστής της ΙΒΜ μπορούσε να διευθυνσιοδοτήσει μόνο 1 MB από τη μνήμη του συστήματος και η αρχική έκδοση του DOS ήταν σχεδιασμένη με αυτό τον περιορισμό. Το DOS είναι από τη φύση του ένα μονής λειτουργίας λειτουργικό σύστημα, πράγμα που σημαίνει ότι μπορεί να τρέχει μόνο ένα πρόγραμμα κάθε φορά. Οι αποφάσεις που πάρθηκαν στην αρχή της ιστορίας των υπολογιστών έχουν διατηρηθεί μέχρι και σήμερα και κάθε νέος επεξεργαστής, εφοδιάζεται με την ικανότητα να λειτουργεί με αυτή τη μέθοδο, έτσι ώστε να είναι συμβατός με το αρχικό 8088 chip της Intel. Αυτή η κατάσταση λειτουργίας ονομάζεται real mode. Όταν ένας σύγχρονος επεξεργαστής λειτουργεί σε real mode, ενεργεί σαν ένας πολύ γρήγορος Αυτό σημαίνει ότι έχει το πλεονέκτημα της ταχύτητας, αλλά από την άλλη η πρόσβαση στη μνήμη γίνεται με τους ίδιους περιορισμούς του πρώτου 8088: ο περιορισμός του 1 MB της διευθυνδιοδότησης της μνήμης και η αργή πρόσβαση στη μνήμη, που δεν εκμεταλλεύεται τα πλεονεκτήματα της πλήρους 32-bit επεξεργασίας των σύγχρονων επεξεργαστών. Όλοι οι επεξεργαστές έχουν διαθέσιμο το real mode και στην πραγματικότητα ο υπολογιστής ξεκινάει κανονικά σε real mode. Επεξεργαστής που λειτουργεί σε real mode Το real mode χρησιμοποιείται από το DOS και τις άλλες τυπικές εφαρμογές του DOS. Στην ουσία, σήμερα υπάρχουν μερικά απλά προγράμματα του DOS που χρησιμοποιούν μόνο τα 640K που το DOS προσφέρει. Ακόμα και μέσω DOS υπάρχουν διαθέσιμα ειδικά προγράμματα, που "επεκτείνουν" τις δυνατότητες διευθυνδιοδότησης του και του

65 επιτρέπουν να έχει πρόσβαση σε περισσότερη μνήμη ( περισσότερη από 1 MB) και ταχύτερη 32-bit πρόσβαση. Προστατευμένη κατάσταση λειτουργίας (Protected Mode) Ξεκινώντας με το chip στον IBM AT, μια νέα κατάσταση λειτουργίας παρουσιάστηκε που ονομαζόταν protected mode. Πρόκειται για μια πολύ πιο ισχυρή κατάσταση λειτουργίας από το real mode και χρησιμοποιείται σε όλα τα σύγχρονα λειτουργικά συστήματα πολυεργασίας (multitasking). Τα πλεονεκτήματα του protected mode (συγκρινόμενου με το real mode) είναι: Πλήρης πρόσβαση σε όλη τη μνήμη του συστήματος. Δεν υπάρχει ο περιορισμός του 1 ΜΒ στο protected mode. Ικανότητα για πολυεργασία, που σημαίνει ότι έχει το λειτουργικό σύστημα την ικανότητα να εκτελεί πολλά προγράμματα συγχρόνως. Υποστήριξη εικονικής μνήμης, που επιτρέπει στο σύστημα να χρησιμοποιεί το σκληρό δίσκο, για επιπλέον μνήμη στο σύστημα όταν χρειάζεται. Ταχύτερη (32-bit) πρόσβαση στη μνήμη και ταχύτεροι 32-bits οδηγοί τις μεταφορές εισόδου / εξόδου. Το όνομα αυτής της κατάστασης, προέρχεται από τη βασική χρήση της, η οποία είναι μέσω λειτουργικών συστημάτων πολυεργασίας. Κάθε πρόγραμμα που τρέχει έχει τις δικές του προσδιορισμένες περιοχές της μνήμης, οι οποίες προστατεύονται από συγκρούσεις με άλλα προγράμματα. Όταν ένα πρόγραμμα προσπαθεί να χρησιμοποιήσει μια διεύθυνση της μνήμης που δεν του είναι επιτρεπτή, δημιουργείται ένα "λάθος προστασίας". Αν και παρουσιάστηκε με τον 286, το protected mode είχε δημιουργηθεί από τις αρχές της δεκαετίας του '80, ωστόσο ήταν αντίθετο με το DOS. Η χρήση του protected mode δεν έγινε δημοφιλής παρά μόνο με την εξάπλωση του λειτουργικού συστήματος της Microsoft, Windows. Το protected mode είναι σήμερα η μέθοδος που χρησιμοποιείται από τους περισσότερους υπολογιστές. Τα περισσότερα λειτουργικά συστήματα χρησιμοποιούν protected mode, συμπεριλαμβανομένων των Windows 3.x, Windows 95, Windows NT και OS/2. Ακόμα και το DOS που κανονικά τρέχει σε real mode, μπορεί να τρέξει και σε protected mode χρησιμοποιώντας DPMI (DOS protected mode interface), που χρησιμοποιείται κυρίως από τα παιχνίδια του DOS, για να σπάσουν τον περιορισμό των 640K της συμβατικής μνήμης. Εικονική πραγματική κατάσταση λειτουργίας (Virtual Real Mode) Η τρίτη κατάσταση λειτουργίας του επεξεργαστή είναι στην ουσία μια συμπληρωματική ικανότητα, μια βελτίωση του protected mode. Το protected mode χρησιμοποιείται κανονικά για να τρέξουν γραφικά λειτουργικά συστήματα πολυεργασίας, όπως οι διάφορες εκδόσεις των Windows. Υπάρχει συχνά η επιθυμία να είναι δυνατό να τρέξουμε προγράμματα του DOS κάτω από τα Windows, αλλά τα προγράμματα του DOS πρέπει να τρέξουν σε real mode, όχι σε protected mode. Το virtual real mode δημιουργήθηκε για να λύσει αυτό το πρόβλημα. Στην ουσία, εξομοιώνει το real mode μέσα στο protected mode, επιτρέποντας έτσι στα προγράμματα του DOS να τρέχουν. Ένα protected mode λειτουργικό σύστημα, όπως είναι τα Windows, μπορεί στην ουσία να δημιουργήσει πολλαπλά εικονικά real mode μηχανήματα, κάθε ένα από τα οποία εμφανίζεται στο λογισμικό που τρέχει σε αυτό σαν να είναι το μόνο λογισμικό που τρέχει στον υπολογιστή. 65

66 Το virtual real mode είναι αυτό που χρησιμοποιείται όταν τρέχουμε ένα DOS παιχνίδι στα Windows 95. Όταν ξεκινάει μια εφαρμογή του DOS, τα Windows 95 δημιουργούν μια εικονική DOS μηχανή για να τρέξει εκεί η εφαρμογή. Το virtual real mode παρουσιάστηκε αρχικά στην οικογένεια των επεξεργαστών

67 Τα εσωτερικά του μέρη 67 Εισαγωγή Όπως κάθε πολύπλοκο κομμάτι του εξοπλισμού, έτσι και ο επεξεργαστής είναι διαχωρισμένος εσωτερικά σε διάφορα μέρη, που το καθένα εκτελεί μια λειτουργία. Το πως λειτουργούν, ποικίλλει από υπολογιστή σε υπολογιστή αλλά όλοι οι επεξεργαστές περιλαμβάνουν τα ακόλουθα βασικά μέρη. Πολλά από αυτά συχνά αποκαλούνται και "μονάδες". Καταχωρητές Οι καταχωρητές είναι τοπικές περιοχές μνήμης μέσα στον επεξεργαστή, που χρησιμοποιούνται για να κρατούν δεδομένα, τα οποία επεξεργάζονται εκείνη τη στιγμή. Κάθε επεξεργαστής έχει μερικούς καταχωρητές, κάποιους αφοσιωμένους σε μια συγκεκριμένη λειτουργία και άλλους διαθέσιμους για γενική χρήση από τους προγραμματιστές. Οι καταχωρητές είναι η ταχύτερη μνήμη, διαθέσιμη για χρήση στους υπολογιστές, ακόμα πιο γρήγορη και από την L1 cache. Οι περισσότερες λειτουργίες γίνονται στους καταχωρητές. Ο επεξεργαστής δεν μπορεί για παράδειγμα να εκτελεί πράξεις στη μνήμη. Αν θέλουμε να προσθέσουμε τον αριθμό 1 σε μια περιοχή της μνήμης, ο επεξεργαστής κανονικά θα το κάνει αυτό, φορτώνοντας την αρχική τιμή από τη μνήμη στον καταχωρητή, προσθέτοντας τον αριθμό 1 στον καταχωρητή και σώζοντας μετά την τιμή πίσω στη μνήμη. Αυτό φυσικά γίνεται πάρα πολύ γρήγορα και χωρίς να το καταλαβαίνει ο χρήστης. Το πλάτος (σε bits) των καταχωρητών του επεξεργαστή καθορίζει πόσα δεδομένα μπορεί να επεξεργαστεί σε μια χρονική στιγμή. Αυτό ορισμένες φορές χρησιμοποιείται για να προσδιορίσει το "μέγεθος" του επεξεργαστή. Για παράδειγμα, μπορεί να ακούσετε να μιλούν για "16 bit επεξεργαστή" ή "32 bit επεξεργαστή". Αυτός ο όρος συνήθως αναφέρεται στο μέγεθος του καταχωρητή μέσα στον επεξεργαστή. Ωστόσο, αυτός ο όρος κάποιες φορές χρησιμοποιείται λανθασμένα και κάποιοι αναφέροντας το μέγεθος του επεξεργαστή, εννοούν για παράδειγμα το εύρος του διαύλου του. Οι καταχωρητές του επεξεργαστή Όσους περισσότερους καταχωρητές έχει ο επεξεργαστής, τόσο μεγαλύτερη ευκινησία έχουν οι προγραμματιστές να γράψουν καλύτερο κώδικα. Ωστόσο, κάτι τέτοιο αυξάνει την πολυπλοκότητα του επεξεργαστή.

68 Μονάδα διασύνδεσης διαύλου 68 Η μονάδα διασύνδεσης διαύλου είναι ένα μέρος του επεξεργαστή που τον διασυνδέει με τον υπόλοιπο υπολογιστή. Το όνομά του προέρχεται από το γεγονός ότι σχετίζεται με κινούμενες πληροφορίες πάνω στο δίαυλο του επεξεργαστή, το βασικό κανάλι για τη μεταφορά πληροφοριών από και προς τον επεξεργαστή. Η μονάδα διασύνδεσης διαύλου είναι υπεύθυνη για απόκριση σε όλα τα σήματα που φτάνουν στον επεξεργαστή και δημιουργεί όλα τα σήματα που στέλνονται από τον επεξεργαστή σε όλα τα υπόλοιπα μέρη του συστήματος. Η μονάδα διασύνδεσης διαύλου Μονάδα ελέγχου Η μονάδα ελέγχου είναι ένα κύκλωμα που ελέγχει τη ροή των πληροφοριών προς τον επεξεργαστή. Κατά κάποιο τρόπο είναι το "μυαλό μέσα στο μυαλό", καθώς ελέγχει ότι γίνεται μέσα στον επεξεργαστή, ο οποίος ελέγχει τον υπόλοιπο υπολογιστή. Οι λειτουργίες που εκτελούνται από τη μονάδα ελέγχου ποικίλλουν δραστικά από την εσωτερική αρχιτεκτονική του επεξεργαστή, καθώς η μονάδα ελέγχου εκτελεί αυτή την αρχιτεκτονική. Σε ένα κανονικό επεξεργαστή, που εκτελεί τις x86 εντολές η μονάδα ελέγχου εκτελεί τις λειτουργίες της ανάκλησης, της αποκωδικοποίησης, της εκτέλεσης των εντολών και μετά την αποθήκευση των αποτελεσμάτων. Σε ένα επεξεργαστή με πυρήνα RISC, η μονάδα ελέγχου έχει σαφώς περισσότερο έργο να κάνει. Διαχειρίζεται τη μετατροπή των x86 εντολών σε RISC μικροεντολές και διαμοιράζει τις μικροεντολές μεταξύ των διαφόρων μονάδων εκτέλεσης. Σε ένα τέτοιο επεξεργαστή η μονάδα ελέγχου μπορεί να είναι διαχωρισμένη σε μικρότερες μονάδες εξαιτίας της πολυπλοκότητας της εργασίας που πρέπει να εκτελέσει. Μονάδες εκτέλεσης ακεραίων Η περισσότερη από τη δουλειά που γίνεται σε ένα υπολογιστή γίνεται με ακέραιες πληροφορίες, κάτι που σημαίνει ότι ακέραια νούμερα και δεδομένα αναπαρίστανται από ακέραιους αριθμούς. Οι ακέραιοι περιλαμβάνουν ακέραιους αριθμούς, χαρακτήρες και άλλα παρόμοια δεδομένα. Οι μη ακέραιοι αριθμοί ονομάζονται αριθμοί κινητής υποδιαστολής και χειρίζονται διαφορετικά από τη μονάδα κινητής υποδιαστολής. Η

69 μονάδα ακεραίων μπορεί σε ορισμένους επεξεργαστές να χειριστεί και λειτουργίες κινητής υποδιαστολής, αλλά πολύ πιο αργά συγκρινόμενη με τη μονάδα κινητής υποδιαστολής. 69 Η μονάδα εκτέλεσης ακεραίων είναι εκεί που τελικά εκτελούνται οι εντολές. Παλαιότεροι επεξεργαστές είχαν μόνο μια τέτοια μονάδα και οι εντολές εκτελούνταν σειριακά. Οι πιο καινούριοι έχουν διάφορες τέτοιες μονάδες, επιτρέποντας σε περισσότερες από μια εντολές να εκτελούνται ταυτόχρονα, επιτρέποντας έτσι αύξηση της απόδοσης. Οι επεξεργαστές που μπορούν να το κάνουν αυτό ονομάζονται υπερβαθμωτοί (superscalar). Πιο εξελιγμένοι επεξεργαστές μπορεί να έχουν εξειδικευμένες τέτοιες μονάδες, σχεδιασμένες για την εκτέλεση συγκεκριμένων τύπων εντολών. Μονάδα κινητής υποδιαστολής (Floating Point Unit - FPU) και συνεπεξεργαστής (coprocessor) Η μονάδα κινητής υποδιαστολής είναι μια εξειδικευμένη μονάδα εκτέλεσης πράξεων μεταξύ αριθμών κινητής υποδιαστολής. Αριθμός κινητής υποδιαστολής είναι ο οποιοσδήποτε αριθμός εκτός από ακέραιος. Κάθε αριθμός με δεκαδική τελεία αναπαρίσταται σαν αριθμός κινητής υποδιαστολής. Οι πρώτοι επεξεργαστές μπορούσαν να χειριστούν άμεσα, μόνο ακέραιους αριθμούς. Ο χειρισμός των πραγματικών αριθμών γινόταν μέσω υπορουτίνων που φυσικά επιβάρυναν την ταχύτητα επεξεργασίας. Όταν χρειάζονταν περισσότερη μαθηματική δύναμη αναγκάζονταν να χρησιμοποιήσουν ένα μαθηματικό συνεπεξεργαστή (math coprocessor), μια μονάδα κινητής υποδιαστολής (Float Point Unit), που αναλάμβανε την εκτέλεση πολύπλοκων μαθηματικών υπολογισμών με μεγάλη ταχύτητα. Αργότερα ο συνεπεξεργαστής ήταν ενσωματωμένος στον επεξεργαστή. Επεξεργαστής Συνεπεξεργαστής DX Ενσωματωμένος 80486SX Pentium και επόμενοι επεξεργαστές Χωρίς Ενσωματωμένος Η χρησιμοποίηση του συνεπεξεργαστή αυξάνει την απόδοση του υπολογιστή όταν εκτελούνται προγράμματα που χρησιμοποιούν αριθμούς κινητής υποδιαστολής, όπως είναι τα προγράμματα τρισδιάστατων γραφικών, σαν το AutoCad. Στην περίπτωση όμως που εκτελούνται προγράμματα γραφείου, τα οποία δε χρησιμοποιούν αριθμούς κινητής υποδιαστολής, έτσι ώστε να χρησιμοποιείται ο συνεπεξεργαστής, η παρουσία του δεν αυξάνει την απόδοση του συστήματος.

70 Πρώτου επιπέδου κρυφή μνήμη (L1 cache) και ελεγκτής κρυφής μνήμης Όλοι οι σύγχρονοι επεξεργαστές έχουν μια μικρή, υψηλής ταχύτητας κρυφή μνήμη κοντά στο chip, για να κρατάει τα πιο πρόσφατα χρησιμοποιημένα δεδομένα και εντολές από τη μνήμη. Μια αρχή της επιστήμης των υπολογιστών που αποκαλείται τοπικότητα ισχυρίζεται ότι αν ο επεξεργαστής αναφέρθηκε σε μια περιοχή της μνήμης, είναι πολύ πιθανό να αναφερθεί ξανά σε αυτή πολύ σύντομα. Χρησιμοποιώντας μια κρυφή μνήμη για να κρατάει τις πιο πρόσφατα χρησιμοποιημένες τιμές της μνήμης, ο επεξεργαστής δε χρειάζεται κάθε φορά να πηγαίνει σε αυτή, για να τις φορτώσει. Αυτό παρέχει μια σημαντική αύξηση της απόδοσης, καθώς η μνήμη του συστήματος είναι πολύ πιο αργή από την κρυφή μνήμη του επεξεργαστή. Η κρυφή μνήμη του επεξεργαστή ονομάζεται βασική ( ή πρώτου επιπέδου) καθώς είναι η πιο κοντινή μνήμη στον επεξεργαστή. Κάθε φορά που ο επεξεργαστής απαιτεί πληροφορίες από τη μνήμη ο ελεγκτής της κρυφής μνήμης χρησιμοποιεί ειδικά κυκλώματα για να ελέγξει αν τα δεδομένα είναι ήδη στην κρυφή μνήμη. Αν είναι, ο επεξεργαστής εξοικονομεί το χρόνο της πρόσβασης στην κύρια μνήμη. Οι περισσότεροι επεξεργαστές χρησιμοποιούν επίσης μια δευτερεύουσα (δευτέρου επιπέδου) κρυφή μνήμη, για να κρατάει κάποια δεδομένα που δεν χωρούν στην βασική κρυφή μνήμη. 70 Η κρυφή μνήμη του επεξεργαστή Η τυπική βασική κρυφή μνήμη του επεξεργαστή ποικίλλει σε μέγεθος από 8KB μέχρι 64KB, με μεγαλύτερα μεγέθη στους πιο καινούριους επεξεργαστές. Αυτή η μνήμη είναι ταχύτατη καθώς τρέχει με την ταχύτητα του επεξεργαστή και είναι ενσωματωμένη μέσα σε αυτόν. Επιπρόσθετα, πολλές βασικές κρυφές μνήμες είναι συσχέτισης συνόλων, που βελτιώνει την πιθανότητες παρουσίας στην κρυφή μνήμη. Υπάρχουν δύο τρόποι που ο επεξεργαστής μπορεί να οργανώσει τη βασική του κρυφή μνήμη. Κάποιοι επεξεργαστές έχουν μια απλή κρυφή μνήμη για να διαχειρίζονται και τις εντολές και τα δεδομένα των προγραμμάτων. Αυτή ονομάζεται ενιαία κρυφή μνήμη. Άλλοι επεξεργαστές έχουν διαφορετική κρυφή μνήμη για τα δεδομένα και τις εντολές. Σε κάποιες περιπτώσεις οι δύο αυτές διαφορετικές μορφές μπορεί να έχουν τελείως διαφορετικές ικανότητες.

71 Βασικά χαρακτηριστικά αρχιτεκτονικής 71 Γενιά επεξεργαστ ή Μονάδες εκτέλεση ς ακεραίω ν FPU Βάθος Pipelin e L1 Cache (Δεδομένα/Εντολέ ς) Θέση L2 Cache Προαιρετική Προαιρετική Προαιρετική DX 1 Προαιρετική SX 1 Προαιρετική DX 1 Ενσωματωμέν η 5 8 KB Ενιαία Motherboard 80486SX 1 Προαιρετική 5 8 KB Ενιαία Motherboard 80486DX2 1 Ενσωματωμέν η 5 8 KB Ενιαία Motherboard 80486DX4 1 Ενσωματωμέν η 5 8 KB (AMD, Cyrix) 16 KB (Intel) Ενιαία Motherboard AMD 5x86 1 Ενσωματωμέν η Cyrix 5x86 1 Ενσωματωμέν η 5 16 KB Ενιαία Motherboard 6 16 KB Ενιαία Motherboard Pentium 2 Ενσωματωμέν η 5 8 KB / 8 KB Motherboard Pentium OverDrive (για 80486s) Pentium OverDrive (για Pentiums) 2 Ενσωματωμέν η 2 Ενσωματωμέν η 5 16 KB / 16 KB Motherboard 5 8 KB / 8 KB Motherboard Pentium με MMX 4 (2 για MMX) Ενσωματωμέν η 6 16 KB / 16 KB Motherboard Pentium με MMX 4 (2 για MMX) Ενσωματωμέν η 6 16 KB / 16 KB Motherboard

72 OverDrive 72 6x86 2 Ενσωματωμέν η K5 5 Ενσωματωμέν η Pentium Pro 4 Ενσωματωμέν η Pentium II 5 Ενσωματωμέν η K6 6 Ενσωματωμέν η 7 16 KB Ενιαία Motherboard 5 8 KB / 16 KB Motherboard 14 8 KB / 8 KB Ενσωματωμέν η, Ταχύτητα του επεξεργαστή KB / 16 KB SEC, μισή ταχύτητα του επεξεργαστή 6 32 KB / 32 KB Motherboard 6x86MX 2 Ενσωματωμέν η 7 64 KB Ενιαία KB Εντολές Motherboard

73 Διαδρομή Δεδομένων 73 Διαδρομή δεδομένων Η εσωτερική οργάνωση ενός τμήματος του επεξεργαστή παρουσιάζεται στην παρακάτω εικόνα. Αυτό το τμήμα λέγεται διαδρομή δεδομένων και αποτελείται από τους καταχωρητές και την ALU. Η εσωτερική οργάνωση ενός τμήματος του επεξεργαστή Οι καταχωρητές τροφοδοτούν δύο καταχωρητές εισόδου της αριθμητικής λογικής μονάδας (ALU), τους Α και Β. Σε αυτούς αποθηκεύεται η είσοδος της ALU, ενώ αυτή εκτελεί υπολογισμούς. Η ALU εκτελεί πράξεις και εξάγει το αποτέλεσμα στον καταχωρητή εξόδου. Το περιεχόμενο του καταχωρητή εξόδου μπορεί να αποθηκευτεί σ' ένα καταχωρητή και από κει πίσω στη μνήμη. Γενικότερα οι εντολές που φτάνουν στον επεξεργαστή μπορούν να χωριστούν σε τρεις κατηγορίες: καταχωρητή-μνήμης: Αυτές οι εντολές επιτρέπουν την ανάκτηση των λέξεων της μνήμης και την τοποθέτησή τους σε καταχωρητές, έτσι ώστε να χρησιμοποιηθούν ως είσοδοι στην ALU σε επόμενες εντολές. καταχωρητή-καταχωρητή: Προσκομίζουν δύο τελεστέους από τους καταχωρητές, τους τοποθετούν στους καταχωρητές εισόδου της ALU, εκτελούν μια πράξη μ' αυτούς και αποθηκεύουν το αποτέλεσμα σ' ένα καταχωρητή.

74 μνήμης-μνήμης: Προσκομίζουν δύο τελεστέους από τη μνήμη, τους τοποθετούν στους καταχωρητές εισόδου της ALU, εκτελούν την πράξη και αποθηκεύουν το αποτέλεσμα στη μνήμη. 74

75 Διαδικασία Εκτέλεσης Εντολών 75 Η εκτέλεση μιας εντολής δεν είναι κάτι που συμβαίνει σε ένα απλό βήμα, αλλά είναι σπασμένη σε πολλά υποβήματα. Το πόσα υποβήματα θα υπάρχουν εξαρτάται από τον τύπο του επεξεργαστή, καθώς κάποιοι διαχωρίζουν την εντολή σε πολλά περισσότερα υποβήματα από άλλους. Διοχέτευση (pipelining) Οι παλαιότεροι επεξεργαστές εκτελούσαν τις εντολές τελείως σειριακά, η πρώτη εντολή ξεκινούσε την εκτέλεση, ολοκληρώνονταν και μετά άρχιζε να εκτελείται η επόμενη. Το πρόβλημα με αυτό είναι ότι είναι μη αποδοτικό, καθώς η εκτέλεση γινόταν σε βήματα. Έπρεπε να ολοκληρωθούν όλα τα βήματα της εντολής 1 για να ξεκινήσει η εκτέλεση της εντολής 2, σαν σε μια γραμμή συναρμολόγησης ένας εργάτης στην αρχή της γραμμής να πρέπει να περιμένει να τελειώσει ο εργάτης στο τέλος της γραμμής έτσι ώστε να ξεκινήσει να κάνει κάτι άλλο. Σε κάθε χρονική στιγμή όλοι οι εργάτες της γραμμής συναρμολόγησης θα κάθονται πλην ενός. Φυσικά σε μια τέτοια γραμμή τα πράγματα δεν γίνονται ακριβώς έτσι. Κάθε εργάτης μόλις ολοκληρώσει ένα τμήμα το δίνει στον αμέσως επόμενό του και ξεκινάει να δημιουργεί ένα καινούριο. Συνεπώς όλοι οι εργάτες δουλεύουν συνεχώς. Οι σύγχρονοι επεξεργαστές κάνουν ακριβώς την ίδια λειτουργία με τις εντολές. Το πρώτο βήμα της εκτέλεσης μιας εντολής εκτελείται και όταν η εντολή περάσει στο επόμενο βήμα, αρχίζει μια καινούρια εντολή. Αυτή η διαδικασία ονομάζεται διοχέτευση. Τα βήματα στη διοχέτευση συχνά αποκαλούνται και στάδια (stages). Η διοχέτευση οδηγεί σε δραματική αύξηση της απόδοσης του συστήματος, συγκρινόμενη με τη σειριακή εκτέλεση εντολών, στην οποία πολλά κυκλώματα του επεξεργαστή παρέμεναν ανενεργά. Σε όσα περισσότερα στάδια διαχωριστεί η διοχέτευση, τόση μεγαλύτερη, θεωρητικά, ταχύτητα θα έχει το σύστημα μας. Διοχέτευση 5 σταδίων

76 76 Φυσικά βήματα εκτέλεσης Οι επεξεργαστές που εκτελούν τα φυσικά βήματα είναι αυτοί που τρέχουν το τυπικό κώδικα x86 άμεσα, χωρίς μετάφραση σε RISC, όπως οι μικρο-εντολές. Οι πραγματικές φάσεις εκτέλεσης ποικίλλουν από επεξεργαστή σε επεξεργαστή, με κάποιους πιο προοδευμένους να χρησιμοποιούν μικρότερα βήματα από άλλους. Ωστόσο, όλοι ακολουθούν τα ίδια βασικά βήματα. 1. Προσκόμιση της επόμενης εντολής από τη μνήμη και αποθήκευση της στον καταχωρητή εντολών (IR). 2. Αλλαγή του μετρητή προγράμματος (PC), ώστε να δείχνει στην επόμενη εντολή. 3. Προσδιορισμός του τύπου της εντολής που προσκομίστηκε. 4. Σε περίπτωση που η εντολή χρησιμοποιεί δεδομένα από τη μνήμη, προσδιορίζεται η θέση τους. 5. Ανάκτηση των δεδομένων, αν χρειάζεται και αποθήκευση τους σε εσωτερικούς καταχωρητές του επεξεργαστή. 6. Εκτέλεση της εντολής. 7. Αποθήκευση των αποτελεσμάτων στην κατάλληλη θέση. Η ακολουθία των βημάτων είναι γνωστή ως κύκλος προσκόμισης - αποκωδικοποίησης - εκτέλεσης (fetch - decode - execute).

77 Η απόδοσή του 77 Εισαγωγή Εξαιτίας της σημαντικότητάς του, η αξία του επεξεργαστή μετράται χρησιμοποιώντας πολύ λίγες παραμέτρους. Καθώς οι περισσότεροι επεξεργαστές λειτουργούν με τον ίδιο τρόπο και έχουν παρόμοια εξωτερικά χαρακτηριστικά, η ερώτηση που γεννιέται είναι "πόσο γρήγορα μπορεί να τρέξει"; Συντελεστές απόδοσης επεξεργαστή Καθώς η απόδοση ενός επεξεργαστή βασίζεται (στις περισσότερες περιπτώσεις) στο πόσες εντολές μπορεί να εκτελέσει σε μια συγκεκριμένη χρονική περίοδο, έχει γίνει πλέον πολύ συνηθισμένο να χρησιμοποιούμε τις λέξεις "απόδοση" και "ταχύτητα" εναλλακτικά. Δυστυχώς η λέξη "ταχύτητα" έχει πολλές ερμηνείες όταν αναφέρεται στον επεξεργαστή και συνεπώς μπορεί να προκληθεί κάποια σύγχυση. Υπάρχουν δύο παράγοντες που καθορίζουν το επίπεδο απόδοσης του επεξεργαστή: Η ταχύτητα του ρολογιού: Η ταχύτητα ρολογιού του επεξεργαστή είναι ένα μέτρο για το πόσο γρήγορα τρέχει, δηλαδή πόσους κύκλους ρολογιού έχει για να δουλέψει σε μια συγκεκριμένη περίοδο. Χρησιμοποιώντας την αναλογία του ποδηλάτου, αυτό είναι παρόμοιο με το πόσο γρήγορα κάνουμε πετάλι. Αρχιτεκτονική: Ο εσωτερικός σχεδιασμός και αρχιτεκτονική του επεξεργαστή καθορίζει το πόσο αποδοτικά ο επεξεργαστής λειτουργεί. Χρησιμοποιώντας την αναλογία του ποδηλάτου, πρόκειται για το πόσο σκληρά κάνουμε πετάλι. Ο επεξεργαστής Β λειτουργεί με τη διπλάσια ταχύτητα ρολογιού σε σχέση με τον Α Η συχνότητα του ρολογιού είναι εύκολη στην κατανόηση, είναι μόνο ένα νούμερο, ενώ η αρχιτεκτονική είναι και πολύπλοκη και δυσνόητη, δεν προκαλεί έκπληξη το γεγονός ότι δίνεται περισσότερη προσοχή στη συχνότητα του ρολογιού. Κάτι τέτοιο όμως είναι ανεπιτυχές, γιατί ο υπολογισμός μόνο της ταχύτητας του ρολογιού είναι ανεπαρκής, αφού φανερώνει μόνο μια πλευρά της εικόνας. Ένα σπουδαίο παράδειγμα, που φανερώνει την αξία της αρχιτεκτονικής είναι η σειρά επεξεργαστών K5 της AMD. Κάποιοι από αυτούς τους επεξεργαστές είχαν διαφορετική απόδοση αν και έτρεχαν με την ίδια ταχύτητα ρολογιού. Για παράδειγμα, ο K5-PR100 και ο K5-PR133 λειτουργούσαν και οι δύο με την ίδια ταχύτητα ρολογιού, 100 MHz, αλλά ο PR133 είχε 33% καλύτερη απόδοση, εξαιτίας των αλλαγών που είχαν γίνει στην αρχιτεκτονική του.

78 Απόδοση του επεξεργαστή και του συστήματος 78 Είναι πολύ βασικό να καταλάβουμε ότι ο επεξεργαστής δεν είναι το μόνο στοιχείο που καθορίζει τη συνολική απόδοση του συστήματος. Είναι ένας σημαντικός παράγοντας, αλλά δεν είναι ο μόνος. Ο λόγος είναι ότι αυξάνοντας την ταχύτητα του επεξεργαστή βελτιώνεται η απόδοση του συστήματος μόνο από την πλευρά που αφορά τον επεξεργαστή. Στα περισσότερα συστήματα, ο επεξεργαστής είναι ήδη αρκετά γρήγορος, αλλά υπάρχουν άλλα μέρη του συστήματος, όπως η μνήμη, οι δίαυλοι, ο σκληρός δίσκος και ειδικά η κάρτα γραφικών, που μειώνουν την απόδοση του συστήματος. Καθώς οι περισσότεροι επεξεργαστές είναι πολύ πιο γρήγοροι από τα άλλα μέρη του συστήματος, σπαταλούν πολύ χρόνο περιμένοντας πληροφορίες από αυτά.

79 1 η και 2 η γενιά Το 1978 η Intel δημιούργησε τον επεξεργαστή 8086, που ήταν ο πρώτος 16-bit επεξεργαστής, χρησιμοποιώντας ένα 16-bit δίαυλο συστήματος (μνήμης). Ωστόσο, εκείνη την εποχή, το 16-bit hardware, όπως η μητρική πλακέτα, ήταν πολύ ακριβό και δυσεύρετο, ενώ οι μικροϋπολογιστές των 8 bits ήταν το στάνταρ. Το 1979 η Intel ξανασχεδίασε τον επεξεργαστή, έτσι ώστε να ταιριάζει με το ήδη υπάρχων 8 bit hardware. Ο πρώτος προσωπικός υπολογιστής (PC), το 1981, χρησιμοποιούσε ένα επεξεργαστή Ο 8088 είναι ένας 16-bit επεξεργαστής μόνο όμως εσωτερικά. Το εύρος των εξωτερικών διαύλων ήταν μόνο 8 bits, δίνοντας έτσι συμβατότητα με το υπάρχων hardware. Στην πραγματικότητα ο 8088 ήταν ένας 16/8 bits επεξεργαστής. Λογικά, θα μπορούσε να ονομαστεί 8086SX. Ο 8086 ήταν ο πρώτος επεξεργαστής εξολοκλήρου στα 16- bits στην οικογένεια της Intel. Ο επεξεργαστής Ο 286, που δημιουργήθηκε το 1982, ήταν επίσης ένας 16-bit επεξεργαστής. Είχε όμως ένα μεγάλο πλεονέκτημα σε σχέση με τους επεξεργαστές της πρώτης γενιάς. Η συχνότητα του ρολογιού είχε αυξηθεί, αλλά η κύρια βελτίωση ήταν στο χειρισμό των εντολών. Ο 286 επεξεργάζονταν περισσότερα δεδομένα σε κάθε χτύπημα του ρολογιού σε σχέση με τους 8086/8088. Στην αρχική του ταχύτητα (6 MHz) είχε 4 φορές καλύτερη απόδοση σε σχέση με τον 8086, ο οποίος λειτουργούσε στα 4.77 MHz. Αργότερα παρουσιάστηκε με συχνότητα 8, 10 και 12 MHz και χρησιμοποιήθηκε στους IBM PC-AT από το 1984.

80 80 Ο επεξεργαστής Μια άλλη καινοτομία ήταν η ικανότητα του να λειτουργεί σε προστατευμένη κατάσταση λειτουργίας (protected mode), μια νέα μορφή λειτουργίας με 24-bit εικονική διεύθυνση, μορφή η οποία σηματοδοτούσε την αλλαγή από το DOS στα Windows και στην πολυεργασία (multitasking). Παρ' όλα αυτά δεν μπορούσαμε να αλλάξουμε από προστατευμένη σε πραγματική κατάσταση λειτουργίας χωρίς να επανεκκινήσουμε τον υπολογιστή και το μόνο λειτουργικό σύστημα που μπορούσε να χρησιμοποιήσει ήταν το OS/2.

81 3 η και 4 η γενιά H αλλαγή προς τον 386 ήρθε στις 14 Οκτωβρίου Ο ήταν ο πρώτος 32-bit επεξεργαστής. Για το "παραδοσιακό" DOS αυτή δεν ήταν μια επανάσταση. Ένας καλός 286 λειτουργούσε με την ίδια ταχύτητα με τον 386, παρά την υλοποίηση της 32-bit μορφής του δεύτερου. Ο επεξεργαστής 386 Ο 386 μπορούσε να διευθυνσιοδοτήσει περισσότερα από 4GB μνήμης. Λειτουργούσε σε συχνότητες των 16, 20 και 33 MHz. Αργότερα, η Cyrix και η AMD δημιούργησαν κλώνους που λειτουργούσαν στα 40 MHz. O 386 παρουσίασε μια νέα μορφή εργασίας εκτός της κανονικής και της προστατευμένης κατάστασης λειτουργίας του 286. Η νέα μορφή ονομάστηκε εικονική πραγματική κατάσταση λειτουργίας εφάρμοζε την πολυεργασία ( multitasking), καθώς ο επεξεργαστής μπορούσε να δημιουργήσει διάφορες εικονικές 8086, που λειτουργούσε η κάθε μια στο δικό της χώρο μνήμης. Ο 386 ήταν ο πρώτος υπολογιστής που λειτουργούσε καλά με τις πρώτες εκδόσεις των Windows SX Αυτό το chip ήταν μια δημοφιλής, οικονομική έκδοση του 386DX. Είχε μόνο 16-bit εξωτερικούς διαύλους δεδομένων, σε αντίθεση με τον DX, που είχε 32-bit. Επίσης ο SX είχε μόνο 24 γραμμές διευθύνσεων. Έτσι μπορούσε να διευθυνσιοδοτήσει το πολύ μέχρι 16MB RAM. Δεν ήταν πραγματικός 386, αλλά η απαίτηση του για φθηνότερη μητρική πλακέτα τον έκανε πολύ δημοφιλή.

82 Ο 486 παρουσιάστηκε στις 10 Απριλίου Γενικά, ο 486 λειτουργούσε δύο φορές πιο γρήγορα από τους προκατόχους του. Αυτό έγινε εξαιτίας της καλύτερης υλοποίησης των x86 εντολών. Ο 486 τις χειριζόταν πιο γρήγορα. Παράλληλα, η ταχύτητα των διαύλων αυξήθηκε, αλλά και ο 386DX και ο 486DX ήταν 32-bit chips. Η καινοτομία στον 486 είναι ο ενσωματωμένος μαθηματικός συνεπεξεργαστής. Πριν, έπρεπε να εγκατασταθεί σαν ένα ξεχωριστό 387 chip. Ο 486 επίσης είχε 8KB L2 cache SX Ο επεξεργαστής 486 O 80486SX ήταν μια οικονομικότερη έκδοση του 486DX, καθώς ο μαθηματικός συνεπεξεργαστής είχε απλά παραληφθεί. Cyrix 486SLC: Η Cyrix και η Texas Instruments δημιούργησαν μια σειρά από 486SLC chips. Ο επεξεργαστής αυτός χρησιμοποιούσε το ίδιο σύνολο εντολών με τον 486SX και λειτουργούσε εσωτερικά με 32 bits, όπως και ο επεξεργαστής της Intel. Ωστόσο, εξωτερικά λειτουργούσε στα 16 bits (όπως ο 386SX). Έτσι μπορούσε να χειριστεί μόνο 16 ΜB RAM. Επιπλέον, είχε μόνο 1 KB εσωτερική κρυφή μνήμη, ενώ δεν είχε μαθηματικό συνεπεξεργαστή. Στην ουσία, αυτό το chip ήταν βελτιωμένη έκδοση των 286/386SXs. IBM 486SLC2: H IBM είχε τη δική της παραγωγή 486 chips. Οι σειρές αυτές ονομάστηκαν SLC2 και SLC3. Ο SLC3 ήταν επίσης γνωστός και ως "Μπλε Αστραπή". Αυτά τα chips θα μπορούσαν να συγκριθούν με τον 486SX της Intel καθώς δεν είχαν μαθηματικό συνεπεξεργαστή. Ωστόσο είχαν 16 KB εσωτερική κρυφή μνήμη (ο 486SX είχε 8 ΚΒ). Αυτό που μείωνε την απόδοσή τους ήταν η αλληλεπίδρασή τους με τους διαύλους. Ο SLC2 λειτουργούσε στα 25 MHz εξωτερικά και 50 MHz εσωτερικά, ενώ ο SLC3 λειτουργούσε στα 25/75 MHz και 33/100 MHz. Η IBM κατασκεύασε αυτά τα chips αποκλειστικά για τους δικούς της υπολογιστές και δεν πουλήθηκαν ποτέ χωριστά. Επιπλέον ανάπτυξη των 486 DX4: Ο επεξεργαστής DX4 της Intel είναι μια βελτίωση της σειράς 486. Η ταχύτητα του έχει τριπλασιαστεί από 25 σε 75 MHz και από 33 σε 100 MHz. 'Ένα άλλο DX4 chip είχε αύξηση της συχνότητας από 25 σε 83 MHz. Ο DX4 είχε 16 ΚΒ εσωτερική κρυφή μνήμη, που λειτουργούσε στα 3.3 Volt, μπορούσε όμως να αντέξει και 5 Volt, για να είναι συμβατός με τις ήδη υπάρχουσες μητρικές πλακέτες.

83 5Χ86: Η AMD δημιούργησε μια σειρά επεξεργαστών που ονόμασε 5Χ86. Πρόκειται για βελτιωμένους 486, που προσεγγίζουν την 5η γενιά επεξεργαστών, εξ' ου και το όνομα τους. Το μοντέλο που λειτουργούσε στα 120 MHz ήταν αξιοσημείωτο. Μπορούσε πολύ εύκολα να συντονιστεί έτσι ώστε να λειτουργεί στα 160 MHz. 83

84 5 η γενιά 84 Pentium Classic (P54C) Αυτό το chip αναπτύχθηκε από την Intel στη Χάιφα, στο Ισραήλ και παρουσιάστηκε στις 22 Μαρτίου Ο επεξεργαστής Pentium είναι υπερβαθμωτός, πράγμα που σημαίνει ότι μπορεί να εκτελεί περισσότερες από μια εντολές ανά χτύπο ρολογιού. Τυπικά εκτελεί 2 εντολές. Με αυτό το ρυθμό, μπορούμε να το συγκρίνουμε με ένα διπλό 486. Παράλληλα είχαν γίνει και μεγάλες αλλαγές στο δίαυλο μνήμης. Το μήκος του διπλασιάστηκε σε 64 bits και η ταχύτητα του αυξήθηκε σε 60 ή 66 MHz. Αυτή ήταν μια ουσιαστική βελτίωση σε σχέση με την τεχνολογία του 486. Pentium Classic (P54C) Οι πρώτοι επεξεργαστές Pentium έφταναν σε 2 εκδόσεις, μια στα 60 MHz και μια στα 66 MHz. Και οι δύο αυτές εκδόσεις λειτουργούσαν στα 5 Volt. Έτσι παραγόταν όμως πάρα πολύ θερμότητα. Λεγόταν ειρωνικά ότι μπορούσες να τηγανίσεις ένα αυγό πάνω τους. Η επόμενη γενιά Pentium λειτουργούσε με συντελεστή διπλασιασμού χρονισμού 1.5 και στα 3.5 Volt. Έτσι λύθηκε το πρόβλημα της θερμότητας. Από τότε η Intel είχε δύο γραμμές Pentium. Αυτή που η ταχύτητα του διαύλου μνήμης είναι 60 MHz (P90, P120, P150, P180) και αυτή που η ταχύτητα του διαύλου μνήμης είναι 66 MHz (P100, P133, P166, P200). Cyrix 6X86 Αυτό το chip είναι μια οικονομική, εναλλακτική λύση ως προς τον Pentium. Παρουσιάστηκε από τη Cyrix στις 5 Φεβρουαρίου 1996 και είναι ένα οικονομικό αντίγραφο του Pentium. Το chip της Cyrix είναι συμβατό με Pentium, καθώς προσαρμόζεται στην υποδοχή Socket 7. Όταν η Cyrix πρότεινε την 6η γενιά στο όνομά της, αυτό οφειλόταν στο γεγονός ότι ο 6Χ86 είχε τεχνικά πλεονεκτήματα σε σχέση με τον Pentium, με αποτέλεσμα να πετυχαίνει καλύτερες επιδόσεις στην ίδια συχνότητα του ρολογιού. Προώθησε λοιπόν τους επεξεργαστές της συγκρίνοντάς τους με τη συχνότητα των επεξεργαστών της Intel.

85 85 Cyrix 6X86 Ο 6Χ86 είχε χαμηλότερη εσωτερική ταχύτητα από αυτή που δήλωνε το όνομα του. Ο παρακάτω πίνακας περιέχει κάποια στοιχεία για διάφορα μοντέλα. Μοντέλο Cyrix Ταχύτητα επεξεργαστή Διπλασιασμός χρονισμού Ταχύτητα διαύλου μνήμης P MHz 2 50 MHz P MHz 2 55 MHz P MHz 2 66 MHz P MHz 2 75 MHz Ένα ενδιαφέρον στοιχείο είναι ότι ο 6Χ86 P200+ ήταν ο πρώτος επεξεργαστής που λειτουργούσε με ταχύτητα διαύλου μνήμης μεγαλύτερη από 66 MHz. Ωστόσο ήταν δύσκολο να βρεθούν μητρικές πλακέτες με chipsets ικανά για τέτοια ταχύτητα. Έτσι αυτό το chip δεν κατάφερε να καταλάβει μια σημαντική θέση στην αγορά. Ο 6Χ86 αργότερα βελτιώθηκε με τη χρησιμοποίηση διπλής τάσης. Αυτό ελλάτωσε την κατανάλωση του σε ενέργεια και την παραγόμενη θερμότητα. AMD K5 Ο Κ5 ήταν ένα αντίγραφο Pentium. Ο παλιός K5 για παράδειγμα πουλήθηκε σαν PR133. Αυτό σημαίνει ότι το chip λειτουργούσε σαν Pentium P133. Παρ' όλα αυτά η εσωτερική του ταχύτητα ήταν μόνο 100 MHz. Επίσης έπρεπε να εγκατασταθεί πάνω στη μητρική πλακέτα σαν P133. AMD K5

86 Ο Κ5 επίσης υπήρχε και σαν PR166. Όπως υποδηλώνει και το όνομα του ο επεξεργαστής αυτός δημιουργήθηκε για να ανταγωνιστεί τον P166 της Intel. Λειτουργούσε με εσωτερική συχνότητα μόλις στα MHz (1.75*66 MHz) η ταχύτητα του όμως ήταν τουλάχιστον στα ίδια επίπεδα με αυτή του P166. Αυτό οφειλόταν στην βελτιστοποιημένη κρυφή μνήμη και άλλες νέες βελτιώσεις που είχε. Το μόνο σημείο που υστερούσε σε σχέση με τον P166 ήταν σε λειτουργίες σχετικές με αριθμούς κινητής υποδιαστολής. Αυτές είναι απαραίτητες σε 3D υπολογισμούς στο AutoCad και άλλες παρόμοιες εφαρμογές. Ο PR133 και ο PR166 κόστιζαν πολύ λιγότερο από τους αντίστοιχους Pentium επεξεργαστές και ήταν πολύ δημοφιλείς σε χαμηλού προϋπολογισμού υπολογιστές. Pentium MMX (P55C) 86 O P55C Pentium παρουσιάστηκε στις 8 Ιανουαρίου MMX (MultiMedia extension) είναι ένα νέο σύνολο εντολών (57 νέες εντολές, 4 νέοι τύποι δεδομένων και οχτώ 64-bit καταχωρητές), το οποίο επεκτείνει τις δυνατότητες του επεξεργαστή. Πρόκειται για μια προσθήκη στο ήδη υπάρχων σύνολο εντολών του Pentium. Οι ΜΜΧ εντολές είναι σχεδιασμένες για προγράμματα πολυμέσων. Οι προγραμματιστές μπορούν να χρησιμοποιήσουν αυτές τις εντολές στα προγράμματα τους. Οι εντολές επιτρέπουν στον Pentium να εκτελέσει το πρόγραμμα ταχύτερα. Η Cyrix και η AMD χρησιμοποιούν MMX στη δική τους 6η γενιά επεξεργαστών. Pentium MMX (P55C) Συγκρινόμενος με τον κλασικό Pentium, ο Pentium MMX ήταν επιπλέον βελτιωμένος με 32 KB L1 cache (ο Pentium είχε 16 ΚΒ). Επίσης, υπήρχαν και κάποιες άλλες βελτιώσεις στον επεξεργαστή. Αυτές οι βελτιώσεις μαζί έφεραν 10%-20% μεγαλύτερη απόδοση στις ίδιες συχνότητες του ρολογιού. Η συχνότητα των νέων επεξεργαστών ήταν 166, 200 και 233 MHz. Ο P55C απαιτεί μια νέα μητρική πλακέτα. Όχι εξαιτίας των MMX εντολών, αλλά εξαιτίας των αλλαγών στην τροφοδοσία του. Ο P55C λειτουργεί με τεχνολογία διπλής τάσης. Για να μειώσει τη δημιουργία θερμότητας, αυτό το chip απαιτεί δύο διαφορετικές τάσεις: 2.8 Volt στον πυρήνα και 3.3 Volt στα τμήματα εισόδου/εξόδου. Οι παλιές μητρικές πλακέτες για τον P54C παρείχαν μόνο μια τάση στον επεξεργαστή, συνεπώς αυτός χρειαζόταν καινούρια μητρική πλακέτα. Για χρήση στους φορητούς υπολογιστές η Intel δημιούργησε μια έκδοση εξοικονόμησης ενέργειας του Pentium MMX. Ήταν ο επεξεργαστής Tillamook, ο οποίος είναι κατασκευασμένος χρησιμοποιώντας τεχνολογία 0.25 micron (εκατομμυριοστό) και λειτουργεί με συχνότητα 166, 200 και 233 MHz.

87 IDT WinChip 87 H IDT είναι μια μικρή εταιρία η οποία παράγει χαμηλής κόστους επεξεργαστές, οι οποίοι μοιάζουν με Pentium MMX. Ο WinChip C6 επεξεργαστής Έχει transistors. Έχει δημιουργηθεί με 4 επιπέδων CMOS τεχνολογία, 0.35 micron. Τοποθετείται στην υποδοχή Socket 7. Λειτουργεί στα 200 MHz IDT WinChip Ο νέος επεξεργαστής WinChip2 3D (19 Μαΐου 1998) Τοποθετείται στην υποδοχή Socket 7 και λειτουργεί στα 266 και 300 MHz. Έχει δημιουργηθεί με 0.25 micron τεχνολογία. Έχει transistors. Μέγεθος "καλουπιού" μόλις 88 mm 2 κάνοντας τον μικρότερο x86 επεξεργαστή στον κόσμο. Υπερβαθμωτός, MMX και 3DNow!. Υποστήριξη διαύλων 100 MHz. Το σκάνδαλο των Pentiums Ο Pentium χτυπήθηκε από ένα σκάνδαλο στο τέλος του 1994, όταν ένα πρόβλημα στο μαθηματικό συνεπεξεργαστή (FPU) έγινε δημόσια γνωστό. Αυτός υπολόγιζε λάθος σε μια συγκεκριμένη διαίρεση. Η Intel γνώριζε αυτό το πρόβλημα από την αρχή του καλοκαιριού αλλά με κάποιο τρόπο το κράτησε μυστικό. Η Intel ισχυρίστηκε πως αυτό το λάθος συνέβαινε πάρα πολύ σπάνια. Η Compaq αμέσως τροποποίησε την παραγωγή της για να αχρηστεύσει τον μαθηματικό συνεπεξεργαστή. Σύντομα η IBM ανακοίνωσε ότι θα σταματήσει την παραγωγή PCs χρησιμοποιώντας Pentium. Είχε υπολογίσει πως αυτό το λάθος συνέβαινε κάθε 24 μέρες. Εκείνο τον καιρό η

88 IBM προσπαθούσε να απαλλαχθεί από το μονοπώλιο της Intel. Κινήθηκαν λοιπόν προς την κατασκευή υπολογιστών με επεξεργαστές όπως Power PC, Cyrix και NexGen. Έτσι χρησιμοποίησε το σκάνδαλο γι' αυτό το σκοπό. Μπορείτε να δείτε το λάθος στο παρακάτω σχήμα, όπου το κελί Α3 έπρεπε να ισούται με το κελί Α1. 88 Το σκάνδαλο των Pentiums Η Intel υποτίμησε την αξία αυτού του λάθους υπολογισμού, ιδίως όσον αφορά τους χρήστες που έκαναν πολύπλοκους μαθηματικούς υπολογισμούς. Η IBM από την πλευρά της δραματοποίησε πάρα πολύ αυτό το λάθος, για πολιτικούς λόγους. Όλα αυτά συνέβησαν τον Δεκέμβριο του 1994, όταν η Intel έκανε τη μεγάλη της διαφημιστική τηλεοπτική καμπάνια για τον Pentium, στις Ηνωμένες Πολιτείες.

89 89 6 η γενιά Pentium Pro Η δημιουργία του Pentium Pro ξεκίνησε το 1991, στο Oregon. Τελικά παρουσιάστηκε την 1η Νοεμβρίου Ο Pentium Pro είναι ένας καθαρά RISC επεξεργαστής, βέλτιστος για 32-bit επεξεργασία στα Windows NT ή στο OS/2. Το νέο χαρακτηριστικό του ήταν ότι η L2 cache ήταν ενσωματωμένη. Έτσι έμοιαζε με 2 chips ενωμένα σε ένα. Τα νέα χαρακτηριστικά ήταν: Ενσωματωμένη L2 cache με 256 ή 512 KB. Είναι συνδεδεμένη με τον επεξεργαστή μόνη της χρησιμοποιώντας 64-bit δίαυλο. Έτσι η L2 cache λειτουργεί με την ταχύτητα που λειτουργεί ο επεξεργαστής. Πολλαπλής διακλάδωσης πρόβλεψη, που ο επεξεργαστής προβλέπει τη νέα εντολή. Ανάλυση ροής δεδομένων, που μειώνει την καθυστέρηση των δεδομένων. Θεωρητική εκτέλεση, που ο επεξεργαστής προσπαθεί να προβλέψει αποτελέσματα εντολών. 4 διοχετεύσεις για ταυτόχρονη εκτέλεση εντολών. 2.9 Volt, 4 επιπέδων BiCMOS τεχνολογία επεξεργαστή. Πατενταρισμένο πρωτόκολλο. Έτσι, άλλοι κατασκευαστές επεξεργαστών να μη μπορούν να χρησιμοποιήσουν την υποδοχή του Pentium Pro και το chipset του. Pentium Pro Ο Pentium Pro είναι πρωταρχικά βελτιωμένος για την εκτέλεση 32-bit προγραμμάτων. Συχνά ακούγεται για την φτωχή του απόδοση όταν εκτελεί 16bit προγράμματα. Με την παρουσίαση του Pentium II, το ενδιαφέρον για τον Pentium Pro εξασθένισε και στο τέλος του 1998 σταμάτησε η παραγωγή του. Ωστόσο πουλήθηκε λίγο και μετά την παρουσίαση του Pentium II. Συγκρίνοντας τον με την πρώτη γενιά Pentium ΙΙ ο Pro είχε πλεονεκτήματα όταν χρησιμοποιούταν σε κεντρικούς servers.

90 90 Pentium Pro 1 η γενιά Pentium ΙΙ Max. RAM 4GB 512MB ταχύτητα L2 cach3 200 MHz 150 MHz Μax. αριθμός επεξεργαστών 4 2 AMD K6 Ο επεξεργαστής Κ6 της AMD παρουσιάστηκε στις 2 Απριλίου Το chip αυτό αποδίδει πολύ καλύτερα από τον Pentium MMX και προσαρμόζεται στην υποδοχή Socket 7. Ο Κ6 είναι εφοδιασμένος με ΚΒ L1 cache και MMX. Περιλαμβάνει transistors. Συνεπώς τοποθετείται στην 6η γενιά υπολογιστών. Ο Κ6 είναι (όπως και ο K5) συμβατός με Pentium. Έτσι μπορεί να τοποθετηθεί στην υποδοχή Socket 7, σε μία κλασική Pentium μητρική πλακέτα. Σε άλλες μητρικές ίσως χρειαστεί να ανανεωθεί το BIOS για να λειτουργήσει. Ο Κ6 αποδίδει καλύτερα όταν το BIOS αναγνωρίζει το chip, ώστε όλες οι δυνατότητες του να αξιοποιούνται. Αυτό απαιτεί μητρικές πλακέτες με διπλή τάση. Ο Κ6-200 χρειάζεται 2.9 Volt για τον πυρήνα του, ενώ τα άλλα μοντέλα χρειάζονται 2.8 Volt όπως ο Pentium MMX. AMD K6 Το έβδομο μοντέλο Κ6 λειτουργεί στα 300 MHz. Αυτές οι πολύ καλές αποδόσεις πωλούνται σε πολύ λογικές τιμές. Το πρόβλημα φαίνεται πως είναι να παραχθούν αρκετά chips. AMD K6-2 και Κ6-3 Η επόμενη έκδοση του Κ6 είχε το κωδικό όνομα "Chomper". Αυτό το 8o μοντέλο του Κ6 προωθήθηκε στην αγορά σαν Κ6-2 και όπως και το 7o μοντέλο του Κ6 είναι κατασκευασμένο με τεχνολογία 0.25 micron. Ο Κ6-2 (28 Μαΐου 1998) είναι φτιαγμένος για δίαυλο μνήμης με συχνότητα 100 MHz. Περιέχει επίσης ένα νέο 3D plug-in (το οποίο αποκαλείται 3DNow!) για καλύτερη απόδοση κυρίως στα παιχνίδια. Πρόκειται για 21 νέες εντολές, οι οποίες μπορούν να χρησιμοποιηθούν από τους προγραμματιστές παρέχοντας καλύτερη 3D απόδοση. Για να έχουμε όφελος από αυτές τις νέες εντολές πρέπει να έχουμε μια κάρτα γραφικών ή ένα παιχνίδι, που σχετίζονται άμεσα με αυτές. Το

91 91 3DNow! δεν είναι συμβατό με MMX αλλά ο επεξεργαστής διαχειρίζεται και τα δύο εξίσου καλά. Επίσης η Cyrix και η IDT λάνσαραν επεξεργαστές με 3DNow!. AMD K6-2 Ο Κ6-2 έχει πολύ καλή απόδοση. Μπορούμε να τον συγκρίνουμε με τα μοντέλα του Pentium II. Ένας Κ6-2 στα 350 MHz έχει περίπου την ίδια απόδοση με ένα Pentium II-350, αλλά πωλείται πολύ φθηνότερα. Η εξοικονόμηση που παρέχει είναι ακόμα μεγαλύτερη, λόγω της οικονομικότερης μητρικής πλακέτας που χρησιμοποιεί. Δεν λειτουργούν όλα τα μοντέλα του Κ6-2 με συχνότητα διαύλου μνήμης 100 MHz. Στον παρακάτω πίνακα παρουσιάζονται κάποιες εκδόσεις με την συχνότητα του διαύλου που απαιτούν. Κ6-2 Συχνότητα διαύλου Συχνότητα επεξεργαστή 266 MHz 66 MHz 4*66 MHz 266 MHz 88 MHz 3*88 MHz 300 MHz 100 MHz 3*100 MHz 333 MHz 95 MHz 3.5*95 MHz 350 MHz 100 MHz 3.5*100 MHz 380 MHz 95 MHz 4*95 MHz Το επόμενο μοντέλο του Κ6 (9ο) είχε το κωδικό όνομα "Sharptooth" ("κοφτερό δόντι") και πρόκειται για τον επεξεργαστή Κ6-3. Ο επεξεργαστής αυτός λειτουργεί με τρία επίπεδα κρυφής μνήμης. Ο επεξεργαστής είναι ο ίδιος με του K6-2, αλλά επιπρόσθετα είναι ενσωματωμένη η L2 cache με 256KB. Η L2 cache λειτουργεί με την ταχύτητα του επεξεργαστή, όπως και στον Pentium Pro. Αυτό αυξάνει την ταχύτητα του Κ6 πολύ. Ο επεξεργαστής αυτός άνοιξε το δρόμο για μια νέα διάταξη στη μητρική πλακέτα, με L3 cache μεγαλύτερη από 1ΜΒ. Η νέα αυτή ρύθμιση απαιτεί καινούρια chipsets. Ακόμα όμως και χωρίς L3 cache μπορούμε να έχουμε απόδοση συγκρινόμενη με αυτή του Pentium II-400 MHz.

92 Pentium II 92 Pentium II "Klamath" ήταν το κωδικό όνομα του επόμενου κορυφαίου επεξεργαστή της Intel. Πρόκειται για ένα μερικώς βελτιωμένο Pentium Pro μοντέλο. Ο νέος αυτός επεξεργαστής που στάλθηκε στην αγορά με το όνομα Pentium II περιλαμβάνει ένα επεξεργαστή τοποθετημένο μαζί με 512 ΚΒ L2 σε ένα SEC (Single Edge Contact) συνδεδεμένο με τη μητρική πλακέτα χρησιμοποιώντας την υποδοχή Slot 1. MMX εντολές. βελτιωμένη εκτέλεση 16bit προγραμμάτων. διπλασιασμένη και βελτιωμένη L1 cache (16+16 KB). νέα αυξημένη εσωτερική ταχύτητα: από 233 μέχρι 300 MHz. L2 cache, η οποία λειτουργεί στη μισή ταχύτητα του επεξεργαστή. Pentium II Η πιο ενδιαφέρουσα αλλαγή, ήταν ο διαχωρισμός του επεξεργαστή και της L2 cache. Η Intel βρήκε πολύ δαπανηρό να συνενώνει αυτά τα δύο, σε ένα chip, όπως στον Pentium Pro. Για να διευκολύνει τη μαζική παραγωγή η Intel χρησιμοποίησε κρυφή μνήμη άλλης εταιρίας, της Toshiba. Ο χρόνος προσπέλασης της ήταν 7 ns επιτρέποντας μέγιστη συχνότητα 150 MHz. Με το νέο σχεδιασμό η κρυφή μνήμη έχει τον δικό της δίαυλο και λειτουργεί στη μισή ταχύτητα του επεξεργαστή, δηλαδή 133 ή 150 MHz. Πρόκειται σαφώς για μια οπισθοδρόμηση σε σχέση με τον Pentium Pro, ο οποίος μπορούσε να λειτουργήσει με ταχύτητα 200 MHz μεταξύ επεξεργαστή και L2 cache. Η οπισθοδρόμηση αυτή καλύφθηκε από τη βελτιωμένη L1 cache. Ο παρακάτω πίνακας περιέχει στοιχεία σχετικά με την cache RAM διαφόρων επεξεργαστών. Επεξεργαστής ρυθμός μεταφοράς L1 συχνότητα L2 ρυθμός μεταφοράς L2 Pentium ΜB/sec 66 MHz 67 ΜB/sec Pentium 200 MMX 790 ΜB/sec 66 MHz 74 ΜB/sec Pentium Pro ΜB/sec 200 MHz 316 ΜB/sec Pentium II ΜB/sec 133 MHz 221 ΜB/sec

93 Cyrix 6X86MX (MII) 93 Η Cyrix επίσης έχει ένα chip υψηλής απόδοσης, το οποίο τοποθετείται μεταξύ της 5ης και της 6ης γενιάς. Είχε αναγγελθεί ως MΙΙ αλλά όταν παρουσιάστηκε στις 30 Μαΐου 1997, μετονομάστηκε σε 6Χ86ΜΧ. Αργότερα ονομάστηκε ξανά MII. Cyrix MII Το chip αυτό είναι συμβατό με Pentium MMX. 'Έτσι παρέχει περισσότερες πιθανότητες να συναρμολογηθούν προσωπικοί υπολογιστές με τις συνηθισμένες "Socket 7" μητρικές πλακέτες. Ο 6Χ86MX έχει 64 ΚΒ εσωτερική κρυφή μνήμη. Η Cyrix ακόμα χρησιμοποίησε τεχνολογία που δεν υπήρχε στον Pentium ΜΜΧ. Όταν σχεδίασε αυτό το chip αποφάσισε να το συγκρίνει με τους γνήσιους Pentium, μολονότι η εσωτερική του ταχύτητα είναι χαμηλότερη σε σχέση με τους αντίστοιχους επεξεργαστές της Intel. Ο επεξεργαστής αυτός έχει πολλούς εσωτερικούς καταχωρητές. Επεξεργαστής αριθμός 32-bit καταχωρητών του επεξεργαστή Pentium MMX 8 6X86MX 32 Pentium Pro 40 K6 48 Cyrix 6X86MX

94 Ο 6Χ86MX, όπως όλοι οι επεξεργαστές της Cyrix, έχει ένα πρόβλημα σχετικό με τη μονάδα κινητής υποδιαστολής. Ωστόσο, όταν χρησιμοποιείται για τις συνηθισμένες εφαρμογές γραφείου, το πρόβλημα δεν αυτό επηρεάζει καθόλου την απόδοση του επεξεργαστή. 94 6X86MX Συχνότητα επεξεργαστή Συχνότητα διαύλου μνήμης PR MHz 60 MHz PR MHz 66 MHz PR MHz 75 MHz PR MHz 75 MHz PR MHz 66 MHz PR MHz 83 MHz PR MHz 100 MHz Ο επόμενος Pentium II, "Descutes" Στις 26 Ιανουαρίου 1998, η Intel παρουσίασε το νέο Pentium II μοντέλο της. Ήταν ο πρώτος, της δεύτερης γενιάς Pentium II, γνωστός με το κωδικό όνομα "Descutes". Το chip αυτό έχει παραχθεί με τεχνολογία 0.25 micron, η οποία μειώνει την κατανάλωση ενέργειας περισσότερο από 50% σε σχέση με το προηγούμενο μοντέλο Pentium II ("Klamath") με τεχνολογία 0.35 micron. Η τάση του πυρήνα έχει μειωθεί από τα 2.8 στα 2 Volt. Στις 15 Απριλίου η Intel ανακοίνωσε την επόμενη έκδοση του "Descutes". Η ταχύτητα του διαύλου συστήματος έχει ανέβει στα 100 MHz. Αυτή η συχνότητα πολλαπλασιαζόμενη με συντελεστές χρονισμού 3.5, 4 και 4.5 κάνει τον επεξεργαστή να λειτουργεί στα 350, 400 και 450 MHz. Celeron, ένας Pentium II-SX Από τις αρχές του 1998 η Intel αντιμετώπιζε δυσκολίες με τον Pentium II, καθώς ήταν πολύ ακριβός. Πολλοί χρήστες αγόρασαν τον AMD K6-233, ο οποίος πρόσφερε πολύ καλή απόδοση σε λογική τιμή. Έτσι η Intel δημιούργησε ένα καινούριο επεξεργαστή, που ονομάστηκε Celeron. Είναι ένας Pentium II, εκτός από την L2 cache, η οποία απομακρύνθηκε. Χρησιμοποιεί ένα πυρήνα Convigton και μπορούμε να αποκαλέσουμε τον επεξεργαστή αυτό Pentium II-SX. Μέσα στο 1998 η Intel αντικατέστησε τους Pentium MMΧ με τους Celerons.

95 95 Intel Celeron Αυτός ο οικονομικός επεξεργαστής εγκαθίσταται στην υποδοχή Slot 1 και λειτουργεί με ταχύτητα διαύλου μνήμης 66 MHz. Η εσωτερική ταχύτητα είναι 266 ή 300 MHz και παρέχει καλή απόδοση για πράξεις με αριθμούς κινητής υποδιαστολής και "βαριά" προγράμματα MMX, κυρίως παιχνίδια. Όσον αφορά τις εφαρμογές γραφείου η έλλειψη L2 cache είναι ένα μεγάλο μειονέκτημα. Ο Celeron είναι ένας επεξεργαστής που η αύξηση χρονισμού του (overclocking) μπορεί να έχει πολύ καλά αποτελέσματα, καθώς πολλά προβλήματα ενός τέτοιου εγχειρήματος προέρχονται από την L2 cache, η οποία δεν μπορεί να λειτουργήσει με πολύ υψηλές συχνότητες. Χωρίς όμως την L2 cache το πρόβλημα αυτό δεν υπάρχει στον Celeron. Mendocino Μια νέα παραλλαγή του Pentium II έχει το κωδικό όνομα Mendocino. Υπάρχει σε δύο εκδόσεις: στα 300 και στα 333 MHz. Το ενδιαφέρον είναι ότι αυτός ο επεξεργαστής περιλαμβάνει 128 KB L2 cache, μέσα στον επεξεργαστή. Έτσι παρέχει πολύ καλή απόδοση, καθώς η L2 cache λειτουργεί με την ταχύτητα του επεξεργαστή. Το κατασκευαστικό κόστος, με την πρόσθεση των 128 KB ενοποιημένης L2 cache αυξήθηκε μόνο 10%, ενώ η απόδοση αυξήθηκε κατά 30%-40%. Intel Mendocino Ο νέος Celeron που βασίζεται στον Mendocino και λειτουργεί στα 300 MHz ονομάστηκε με ένα "Α" σαν κατάληξη (Celeron 300A), για να ξεχωρίζει από τον Celeron 300 χωρίς L2 cache. Τα δύο νέα μοντέλα είναι ο Celeron 300A και 333. Αναμένεται να έχουν μεγάλη επιτυχία, καθώς έχουν πολύ χαμηλή τιμή σε σχέση με τους ισοδύναμους Pentiums ΙΙ

96 Pentium II, Xeon 96 Στις 26 Ιουλίου 1998, η Intel παρουσίασε ένα νέο Pentium II επεξεργαστή που ονομάστηκε Xeon. Πρόκειται για ένα Pentium ΙΙ, ο οποίος προσαρμόζεται σε μια νέα υποδοχή, την Slot 2. Ο επεξεργαστής αυτός είναι δύο φορές ψηλότερος από τον προηγούμενο Pentium II, αλλά υπάρχουν άλλες σημαντικές καινοτομίες και βελτιώσεις. Νέου τύπου L2 cache chips: CSRAM (Custom SRAM), η οποία λειτουργεί με την ταχύτητα του επεξεργαστή. Διάφορα μεγέθη L2 cache: 512, 1024, 2048KB L2 RAM. Περισσότεροι από τέσσερις (ή ακόμα και οχτώ) Xeons σε ένα server. Intel Xeon Ακολουθεί ένας πίνακας με διάφορα χαρακτηριστικά κάποιων επεξεργαστών 6 ης γενιάς της Intel. Επεξεργαστής Χρονιά Max. χρονισμός επεξεργαστή/διαύλου L2 cache Yποδοχ ή Τεχνολογία επεξεργασίας Επιπλέον εντολές Pentium Pro /66 MHz KB πλήρη ταχύτητα Socket micron MMX Pentium II Klamath Pentium II Descutes a /66 MHz 512KB μισή ταχύτητα /66 MHz 512KB μισή ταχύτητα Slot micron MMX Slot micron MMX Pentium II Descutes b /100 MHz 512KB μισή ταχύτητα Slot micron MMX Celeron /66 MHz Χωρίς Slot micron MMX Celeron "A" Mendocino /66 MHz 128KB πλήρη ταχύτητα Slot micron MMX Xeon /100 MHz KB πλήρη ταχύτητα Slot micron MMX

97 Εισαγωγή Δίαυλοι Υπολογιστών 97 Κατά την εκτέλεση των προγραμμάτων πρέπει να γίνει μεταφορά δεδομένων από και προς τη μνήμη. Αυτό γίνεται μέσω των αποκαλούμενων διαύλων ή αρτηριών (Busses). Γενικότερα, η επικοινωνία όλων των συσκευών του υπολογιστή γίνεται μέσω διαύλων. Ένας δίαυλος είναι στην πραγματικότητα ένα κανάλι επικοινωνίας, πάνω στο οποίο ρέει η πληροφορία μεταξύ δύο ή περισσοτέρων συσκευών. Πάνω σε ένα δίαυλο υπάρχουν σημεία πρόσβασης, ή χώροι στους οποίους μπορούν να συνδεθούν οι διάφορες συσκευές και να γίνουν μέλη του διαύλου, τα οποία μέλη μπορούν να στείλουν και να λάβουν πληροφορίες. Υπάρχουν τρεις τύποι διαύλων, δίαυλος διευθύνσεων, δεδομένων και ελέγχου. Οι δίαυλοι αυτοί απαρτίζονται από διάφορες γραμμές, σε κάθε μία από τις οποίες μπορεί να περάσει ένα ηλεκτρικό σήμα, που πάντα αντιστοιχεί σε ένα δυαδικό σύμβολο "0" ή "1". Όταν η μονάδα ελέγχου θέλει να ανακαλέσει ένα δεδομένο που βρίσκεται στη μνήμη, στέλνει τη διεύθυνση αυτής της θέσης μνήμης στο δίαυλο διευθύνσεων (address bus). Ένα άμεσο αποτέλεσμα αυτού είναι ότι το μέγεθος του διαύλου διευθύνσεων καθορίζει και το μέγιστο πλήθος των θέσεων μνήμης που ο επεξεργαστής μπορεί να προσπελάσει άμεσα. Το μέγεθος αυτό είναι 2 n, όπου n είναι το πλήθος των γραμμών του διαύλου διευθύνσεων. Έτσι για παράδειγμα, ένας επεξεργαστής με δίαυλο διευθύνσεων 16 γραμμών μπορεί να προσπελάσει άμεσα 2 16 = 64 KB μνήμης. Αν τώρα καθοριστεί η επιθυμητή διεύθυνση, το περιεχόμενο της θέσης αυτής μπορεί να μεταφερθεί προς ή από τον επεξεργαστή, μέσω του διαύλου δεδομένων (data bus). Το πλήθος των γραμμών του διαύλου δεδομένων, καθορίζει και την ποσότητα (πλήθος) των στοιχείων που διακινούνται από και προς τη μνήμη με μια ενέργεια μεταφοράς (ανάγνωσης / εγγραφής). Έτσι, ένας δίαυλος δεδομένων 8 γραμμών, μεταφέρει κάθε φορά δεδομένα μεγέθους ενός byte. Τέλος, ο δίαυλος ελέγχου (control bus)απαρτίζεται από γραμμές, μέσα από τις οποίες στέλνονται από τη μονάδα ελέγχου διάφορα σήματα για τη διαχείριση των διευθύνσεων, τη μεταφορά των δεδομένων κ.α. Για παράδειγμα το σήμα ανάγνωσης ή εγγραφής στη μνήμη διέρχεται από το δίαυλο αυτό. Υπάρχουν πολλοί διαφορετικοί τύποι διαύλων, οι οποίοι χρησιμοποιούνται σήμερα και φυσικά θα τους δούμε αναλυτικά. Σε επίπεδο επεξεργαστή όμως, οι πιο σημαντικοί δίαυλοι είναι δύο: ο δίαυλος επεξεργαστή (Processor bus) και ο δίαυλος μνήμης (memory bus) τους οποίους και θα εξετάσουμε πρώτα απ' όλους. Ιεραρχία διαύλων Ένας υπολογιστής έχει, κατά κάποιο τρόπο, μία ιεραρχία διαφορετικών διαύλων. Η ιεραρχία αυτή προκύπτει από το γεγονός, ότι κάθε ένας από αυτούς τους διαύλους είναι λίγο πιο "μακριά" από τον επεξεργαστή, σε σχέση με εκείνον που είναι στο προηγούμενο επίπεδο της ιεραρχίας. Κάθε ένας συνδέεται με το πάνω από αυτόν επίπεδο, ενώνοντας τα διάφορα μέρη του υπολογιστή και επίσης κάθε δίαυλος είναι γενικά πιο αργός από αυτόν του προηγούμενου επιπέδου. Η ιεραρχία αυτή αποτελείται από τους ακόλουθους διαύλους: Δίαυλος επεξεργαστή (Processor Bus): Το υψηλότερο επίπεδο διαύλου, τον οποίο χρησιμοποιεί το chipset για να διακινεί πληροφορία από και προς τον επεξεργαστή.

98 98 Δίαυλος επεξεργαστή Δίαυλος κρυφής μνήμης (Cache Bus): Χρησιμοποιείται σε αρχιτεκτονικές υψηλού επιπέδου, όπως αυτή των Pentium Pro και Pentium II και είναι ειδικός δίαυλος, ο οποίος συνδέει τον επεξεργαστή με την κρυφή μνήμη. Κοινοί όμως επεξεργαστές, που χρησιμοποιούν 5ης γενιάς motherboards και chipsets, έχουν την κρυφή μνήμη συνδεδεμένη πάνω στο δίαυλο μνήμης. Διασύνδεση κρυφής μνήμης σε συστήματα νέας αρχιτεκτονικής Διασύνδεση κρυφής μνήμης σε παλιότερης αρχιτεκτονικής συστήματα Δίαυλος μνήμης (Memory Bus): Είναι ένας δευτέρου επιπέδου δίαυλος, ο οποίος συνδέει το υποσύστημα της κύριας μνήμης με τον επεξεργαστή και το chipset. Σε πολλά συστήματα, ο δίαυλος μνήμης και ο δίαυλος επεξεργαστή είναι στην ουσία το ίδιο πράγμα.

99 99 Δίαυλος μνήμης Τοπικός δίαυλος εισόδου-εξόδου (Local I/O Bus): Αυτός είναι ένας υψηλής ταχύτητας δίαυλος εισόδου-εξόδου, που χρησιμοποιείται για να συνδέει περιφερειακά, σημαντικά για την απόδοση του συστήματος, με την κύρια μνήμη, τον επεξεργαστή και το chipset. Για παράδειγμα, κάρτες video, σκληροί δίσκοι, αλλά και υψηλής ταχύτητας διασυνδέσεις δικτύων, χρησιμοποιούν τέτοιου είδους δίαυλο. Οι δύο πιο κοινοί δίαυλοι εισόδου-εξόδου είναι ο VLB (VESA Local Bus) και ο PCI (Peripheral Component Interconnect Bus). Τυπικός δίαυλος εισόδου-εξόδου (Standard I/O Bus): Ο δίαυλος αυτός είναι συνδεδεμένος στους τρείς παραπάνω διαύλους και χρησιμοποιείται για αργότερα περιφερειακά (ποντίκια, modems, κανονικές κάρτες ήχου κλπ). Επίσης, ο δίαυλος αυτός χρησιμοποιείται και για συμβατότητα με παλιότερες συσκευές. Στα περισσότερα σύγχρονα PCs ο δίαυλος αυτός είναι τύπου ISA. Οι δύο τελευταίοι δίαυλοι συνδέονται πάνω στο δίαυλο μνήμης μέσω μιας γέφυρας. Δίαυλοι Ε/Ε ( PCI και ISA) Το chipset συστήματος είναι ο μηχανισμός που ελέγχει όλη τη διαδικασία της επικοινωνίας και εξασφαλίζει ότι κάθε συσκευή του συστήματος επικοινωνεί σωστά με τις υπόλοιπες. Μερικά σύγχρονα PCs χρησιμοποιούν ένα επιπρόσθετο δίαυλο, ο οποίος είναι ειδικά σχεδιασμένος για επικοινωνίες γραφικών (Graphics). Πρέπει όμως να πούμε, ότι αυτό δεν είναι ένας πραγματικός δίαυλος αλλά μία θύρα επικοινωνίας, όπως λέει και το όνομά του: AGP (Accelerated raphics Port). Η διαφορά μεταξύ ενός διαύλου και μίας θύρας, είναι ότι ένας δίαυλος είναι γενικά σχεδιασμένος για πολλές συσκευές, οι οποίες θα τον διαμοιράζονται, ενώ μία θύρα είναι σχεδιασμένη μόνο για δύο συσκευές.

100 Χαρακτηριστικά Διαύλων 100 Δίαυλοι διευθύνσεων δεδομένων και ελέγχου Κάθε δίαυλος, όπως ήδη είπαμε, αποτελείται από τρία διαφορετικά μέρη: το δίαυλο δεδομένων (data bus), το δίαυλο διευθύνσεων (address bus) και το δίαυλο ελέγχου (controll bus). Ο δίαυλος δεδομένων είναι αυτός που μεταφέρει τα πραγματικά δεδομένα και τις περισσότερες φορές όταν μιλούμε για δίαυλο εννοούμε ακριβώς αυτόν. Ο δίαυλος διευθύνσεων είναι το σύνολο των γραμμών που μεταφέρουν την πληροφορία για την περιοχή της μνήμης που θα χρησιμοποιηθεί, είτε για ανάγνωση είτε για γραφή. Τέλος, υπάρχει και ο δίαυλος ελέγχου, ο οποίος επιβλέπει το πως λειτουργεί όλος ο δίαυλος και επιτρέπουν στους χρήστες του διαύλου να δίνουν σήματα όταν έχουν διαθέσιμα δεδομένα. Δίαυλοι διευθύνσεων, δεδομένων και ελέγχου Εύρος διαύλου Ένας δίαυλος είναι ένα κανάλι μέσω του οποίου ρέει η πληροφορία. Όσο πιο πλατύ είναι αυτό το κανάλι, τόσο περισσότερη πληροφορία μπορεί περάσει από αυτό ταυτόχρονα. Το πλάτος αυτό ονομάζεται εύρος διαύλου (bus width). Ο αρχικός ISA δίαυλος στο IBM PC ήταν εύρους 8 bits, ενώ ο δίαυλος αυτός χρησιμοποιεί πλέον 16 bits. Οι άλλοι δίαυλοι εισόδου-εξόδου έχουν εύρος 32 bits. Οι δίαυλοι επεξεργαστή και μνήμης, στα Pentium και μεταγενέστερα PCs, έχουν εύρος 64 bits.

101 101 Εύρος ζώνης διαύλου Ο δίαυλος διευθύνσεων μπορεί να έχει ένα εύρος, το οποίο να ορίζεται ανεξάρτητα από το εύρος του διαύλου δεδομένων. Το εύρος του διαύλου διευθύνσεων δείχνει πόσες πολλές, διαφορετικές περιοχές μνήμης μπορούν να προσπελαστούν από τον επεξεργαστή, δηλαδή να μεταφερθούν από εκεί δεδομένα ή να αποσταλούν εκεί δεδομένα. Έτσι στην παραπάνω εικόνα, που έχουμε δίαυλο διευθύνσεων με εύρος 10 bits, το μέγιστο πλήθος διευθύνσεων μνήμης που μπορεί να αναγνωριστεί είναι 2 10 = Ταχύτητα διαύλου Η ταχύτητα του διαύλου (bus speed) αναπαριστά το πόσα πολλά bits πληροφορίας μπορούν να σταλούν, μέσω κάθε σύρματος, σε κάθε δευτερόλεπτο. Οι περισσότεροι δίαυλοι μεταφέρουν ένα bit δεδομένων σε κάθε γραμμή, ανά έναν κύκλο (χτύπο) ρολογιού, αν και νεότεροι δίαυλοι υψηλής απόδοσης, όπως ο AGP, μπορούν να μεταφέρουν δύο bits σε ένα χτύπο ρολογιού, διπλασιάζοντας έτσι την απόδοση. Παρόμοια, παλιότεροι δίαυλοι, όπως ο ISA, μπορεί να χρειάζονται δύο κύκλους ρολογιού για να μεταφέρουν ένα bit, μειώνοντας την απόδοση στο μισό. Εύρος ζώνης διαύλου Το εύρος ζώνης (bus bandwidht), που επίσης λέγεται και ρυθμός (thoughput), αναφέρεται στη συνολική ποσότητα δεδομένων, τα οποία μπορούν, θεωρητικά, να μεταφερθούν από το δίαυλο σε ένα συγκεκριμένο διάστημα χρόνου.

102 102 Χαμηλό και υψηλό εύρος ζώνης Ο παρακάτω πίνακας δείχνει το θεωρητικό εύρος ζώνης των περισσοτέρων από τους συνηθισμένους διαύλους εισόδου-εξόδου που χρησιμοποιούνται σήμερα στα PCs: Bus Εύρος (bits) Ταχύτητα (MHz) Εύρος ζώνης (MBytes/sec) 8-bit ISA bit ISA EISA VLB PCI bit PCI AGP AGP (x2 mode) 32 66x AGP (x4 mode) 32 66x4 1,017.3 Διασύνδεση διαύλου Σε ένα σύστημα το οποίο έχει πολλούς διαύλους, πρέπει να παρέχονται κυκλώματα από το chipset, για να συνδέουν τους διαύλους (Bus Interfacing) και να επιτρέπουν στις συσκευές που βρίσκονται πάνω σε έναν από αυτούς, να επικοινωνούν με μία συσκευή ενός άλλου διαύλου. Αυτή η συσκευή ονομάζεται "Γέφυρα" (Bridge). Η πιο κοινή γέφυρα είναι η PCI- ISA, η οποία είναι μέρος του system chipset σε Pentium και Pentium Pro PCs. Ο δίαυλος PCI επίσης, έχει μια γέφυρα στο δίαυλο επεξεργαστή, την οποία μπορούμε να δούμε από το "System devices" στο διαχειριστή συσκευών στα Windows 95.

103 103 Διαχείριση διαύλου Διαχείριση συσκευών από τα Windows '95 Γέφυρα PCI-ISA Στους διαύλους με υψηλό εύρος ζώνης, μία μεγάλη ποσότητα από πληροφορίες ρέει μέσω του καναλιού κάθε δευτερόλεπτο. Κανονικά, απαιτείται ο επεξεργαστής να ελέγχει τη μεταφορά αυτής της πληροφορίας. Στην ουσία, ο επεξεργαστής είναι ο μεσάζων και όπως σε πολλές περιπτώσεις, είναι ο πλέον ικανός να εκτελέσει τη μεταφορά σωστά. Ωστόσο, είναι δυνατό να μην ενοχλείται ο επεξεργαστής κάθε φορά που πρέπει να γίνει μεταφορά δεδομένων από μια συσκευή σε μια άλλη. Αυτό γίνεται έχοντας ικανές συσκευές να πάρουν τον έλεγχο του διαύλου και να δουλεύουν μόνες τους. Οι συσκευές που μπορούν να κάνουν κάτι τέτοιο, λέγονται διαχειριστές διαύλου (bus masters) και η τεχνική αυτή λέγεται διαχείριση διαύλου (Bus Mastering). Θεωρητικά, ο επεξεργαστής μπορεί να κάνει άλλες λειτουργίες στον ελεύθερο πλέον χρόνο του, αλλά στην πραγματικότητα υπάρχουν πολλοί πολύπλοκοι παράγοντες, οι οποίοι επιδρούν σ' αυτό. Προκειμένου να δουλέψει σωστά η διαχείριση διαύλου, πρέπει να υπάρχει μία υπηρεσία που να διαιτητεύει τις αιτήσεις (διαιτησία διαύλου) μεταξύ των διαφόρων συσκευών και αυτή η υπηρεσία παρέχεται από το chipset. Η διαχείριση διαύλου ονομάζεται επίσης και "first party" DMA, από τη στιγμή που η δουλειά ελέγχεται από τη συσκευή που κάνει τη μεταφορά. Στις μέρες μας, η καλύτερη διαχείριση διαύλου γίνεται στο δίαυλο PCI. Επίσης, έχει προστεθεί υποστήριξη και για συσκευές IDE/ATA σκληρών δίσκων, με σκοπό να κάνουν διαχείριση διαύλου (σε δίαυλο PCI), κάτω από ορισμένες συνθήκες.

104 Δίαυλοι Επιπέδου Συστήματος 104 Δίαυλοι επεξεργαστή και μνήμης Ο δίαυλος επεξεργαστή είναι ένα σύνολο από γραμμές (σύρματα), οι οποίες χρησιμοποιούνται για να μεταφέρουν πληροφορία από και προς τον επεξεργαστή. Η δραστηριότητα αυτή ελέγχεται λογικά από το chipset συστήματος. Ο δίαυλος μνήμης συνδέει το δίαυλο επεξεργαστή με την κύρια μνήμη και την κρυφή μνήμη. Στην πραγματικότητα, ο δίαυλος επεξεργαστή και μνήμης μπορεί να θεωρηθεί σαν το ίδιο πράγμα και οι περισσότεροι χρήστες το αναφέρουν δίαυλο μνήμης. Ο δίαυλος αυτός είναι το κύριο κανάλι επικοινωνίας, σε επίπεδο συστήματος, για ολόκληρο τον υπολογιστή. Όλες οι μεταφορές από και προς τον επεξεργαστή, γίνονται μέσω αυτού του διαύλου. Ειδικός δίαυλος κρυφής μνήμης Δίαυλοι επεξεργαστή και μνήμης Οι συνηθισμένοι επεξεργαστές χρησιμοποιούν L2 cache πάνω στη μητρική πλακέτα και συνδέονται μ' αυτή χρησιμοποιώντας τον κανονικό δίαυλο μνήμης. Για να επιτύχουν καλύτερη απόδοση, πολλοί νεότεροι επεξεργαστές χρησιμοποιούν έναν αφοσιωμένο εδικό δίαυλο υψηλής ταχύτητας, για να συνδέονται με την L2 cache. Για παράδειγμα, ο τυπικός Pentium 200, τρέχει σε ένα δίαυλο συστήματος ταχύτητας 66 MHz στην οποία τρέχει επίσης και η cache, αλλά ο νέος Pentium Pro 200 έχει μία ολοκληρωμένη L2 cache, η οποία τρέχει στην ταχύτητα του ίδιου του επεξεργαστή. Ένας ειδικός δίαυλος διαχειρίζεται αυτή, την υψηλής ταχύτητας σύνδεση μεταξύ επεξεργαστή και L2 cache, η οποία βρίσκεται ολόκληρη στην ίδια, την Pentium Pro συσκευασία, αφού αυτή περιέχει και την L2 cache και τον επεξεργαστή. Ο επεξεργαστής Pentium II έχει και αυτός μια διευθέτηση παρόμοια, έχει δηλαδή την L2 cache στην ίδια συσκευασία με τον επεξεργαστή. Στην περίπτωση όμως αυτή, ο δίαυλος της L2 cache τρέχει στο μισό της ταχύτητας του επεξεργαστή, έτσι ένας Pentium II 266 MHz χρησιμοποιεί ένα δίαυλο κρυφής μνήμης, ο οποίος τρέχει στα 133 MHz. Η ταχύτητα αυτή είναι πιο αργή από αυτή του Pentium Pro, αλλά πολύ πιο γρήγορη από αυτή του Pentium. Αυτοί οι δίαυλοι είναι και οι δύο transactional (non blocking), έτσι επιτρέπουν παράλληλες αιτήσεις για την κρυφή μνήμη, αυξάνοντας κατακόρυφα την απόδοση. Την ύπαρξη αυτού του ξεχωριστού διαύλου για την L2 cache, η Intel την ονομάζει DIB (Dual Independent Bus) architecture.

105 Ένα άλλο πλεονέκτημα αυτής της σχεδίασης είναι το γεγονός ότι, το να έχουμε ξεχωριστές κρυφές μνήμης και διαύλους για αυτές, είναι κάτι που βοηθά πάρα πολύ σε περιβάλλοντα πολυεπεξεργασίας. Όχι μόνο κάθε επεξεργαστής έχει τη δική του κρυφή μνήμη, χωρίς να πρέπει να διαμοιραστεί την ίδια με κάποιους άλλους, αλλά και η κάθε κρυφή μνήμη έχει το δικό της δίαυλο επικοινωνίας με τον επεξεργαστή που υπηρετεί. 105 Αρχιτεκτονική DIB (Dual Independent Bus) Δίαυλος δεδομένων επεξεργαστή και μνήμης Ο δίαυλος δεδομένων είναι εκείνο το κανάλι επικοινωνίας, το οποίο ευνοούν οι περισσότεροι όταν μιλούν γενικά για δίαυλο. Είναι εκείνες οι γραμμές, που πραγματικά μεταφέρουν τα δεδομένα του υπολογιστή. Όσο πιο πλατύ (ευρύ) είναι το τμήμα αυτό του διαύλου, τόσο περισσότερη πληροφορία μπορεί να μεταφερθεί ταυτόχρονα. Ευρύτεροι δίαυλοι δεδομένων, σημαίνει γενικά καλύτερη απόδοση. Η ταχύτητα του διαύλου καθορίζεται από την ταχύτητα του ρολογιού του συστήματος και είναι το άλλο σημαντικό στοιχείο για την απόδοση του διαύλου. Το εύρος ζώνης του διαύλου δεδομένων είναι η ποσότητα της πληροφορίας, που μπορεί να περάσει από αυτόν και είναι συνάρτηση του εύρους του διαύλου (bits) και της ταχύτητάς του (σε MHz). Το εύρος του είναι ο αριθμός των γραμμών του και η ταχύτητα είναι το πόσο γρήγορα ταξιδεύουν τα ηλεκτρικά σήματα πάνω στο δίαυλο αυτό. Συνεπώς το εύρος ζώνης είναι η ποσότητα της κίνησης, που ο δίαυλος υποστηρίζει για ένα συγκεκριμένο χρόνο, κάτι το οποίο, όπως είπαμε, είναι συνάρτηση του αριθμού των γραμμών και της ταχύτητας μεταφοράς του σήματος πάνω στις γραμμές αυτές. Το εύρος ζώνης του διαύλου δεδομένων είναι πολύ σημαντικό για τους σύγχρονους υπολογιστές, γιατί από αυτό εξαρτάται η γενική απόδοση όλου του συστήματος. Οι επεξεργαστές, σήμερα, τρέχουν πολύ πιο γρήγορα από όλα τα υπόλοιπα μέρη του υπολογιστή και η αύξηση της ταχύτητας, με την οποία τα δεδομένα μπορούν να μεταφερθούν σ' αυτόν έχει σημαντικότερη επίδραση στη γενική απόδοση του υπολογιστή, από ότι η αύξηση της ταχύτητας του ίδιου του επεξεργαστή. Αυτό εξηγεί και το γιατί ένας Pentium 150 MHz δεν είναι πολύ πιο γρήγορος από έναν Pentium 133. Ο Pentium 150 τρέχει σε ένα δίαυλο μνήμης των 60 MHz και ο Pentium 133 σε ένα δίαυλο των 66 MHz. Μία αύξηση 10% της ταχύτητας του διαύλου, επιφέρει μεγαλύτερη βελτίωση στην απόδοση, από ότι μια αύξηση 10% στην ταχύτητα του ίδιου του επεξεργαστή.

106 106 Χαμηλό και υψηλό εύρος ζώνης Μέγεθος και εύρος ζώνης διαύλων δεδομένων, διαφόρων επεξεργαστών Ο παρακάτω πίνακας δείχνει το μέγεθος του διαύλου δεδομένων, την ταχύτητα και το εύρος ζώνης, για διάφορους επεξεργαστές. Όπως μπορούμε να δούμε, ενώ τα τελευταία χρόνια οι ταχύτητες των επεξεργαστών έχουν αυξηθεί κατά πολύ, οι ταχύτητες του διαύλου μνήμης παραμένουν σχεδόν αμετάβλητες και το εύρος ζώνης στην ουσία έχει μείνει σταθερό από την παρουσίαση του Pentium, ο οποίος έτρεχε σε δίαυλο μνήμης των 66 MHz, το Υπάρχουν τρεις διαφορετικοί πίνακες, οι οποίοι απεικονίζουν τις τρεις διαφορετικές περιοχές ταχυτήτων που χρησιμοποιούνται στους υπολογιστές, τα τελευταία 15 χρόνια. Σε κάθε πίνακα, η οικογένεια του επεξεργαστή παρατίθεται μαζί με το εύρος του διαύλου μνήμης και επίσης φαίνεται και το εύρος ζώνης σε MB/s, για κάθε δίαυλο μνήμης, που χρησιμοποιείται από τους επεξεργαστές. Θυμηθείτε ότι οι πολλαπλασιαστές ρολογιού του επεξεργαστή σε πολλούς 486 και μεταγενέστερους υπολογιστές, έχουν ως αποτέλεσμα οι επεξεργαστές να τρέχουν σε ταχύτητες πολλαπλάσιες της ταχύτητας του διαύλου μνήμης. Εδώ θα πρέπει να πούμε, ότι δεν πρέπει να μπερδεύουμε το μέγεθος του διαύλου μνήμης με αυτό του επεξεργαστή. Για παράδειγμα όταν ακούμε δίαυλο μνήμης 64 bits, δε θα πρέπει να συμπεραίνουμε ότι ο επεξεργαστής είναι επίσης 64 bits, αφού στην πραγματικότητα το μέγεθος του επεξεργαστή καθορίζεται από το μέγεθος των εσωτερικών καταχωρητών του.

107 Πρώτη και δεύτερη γενιά επεξεργαστών: 107 Οικογένεια επεξεργαστή Εύρος (bits) 4.77 MHz 6 MHz 8 MHz 10 MHz 12 MHz 16 MHz 20 MHz Τρίτη και τέταρτη γενιά επεξεργαστών (και Pentium Overdrive για 486): Οικογένεια επεξεργαστή Εύρος (bits) 16 MHz 20 MHz 25 MHz 33 MHz 40 MHz 50 MHz 80386DX SX DX SX DX DX AMD 5x Cyrix 5x Pentium OverDrive (για 80486s)

108 108 Πέμπτης και έκτης γενιάς επεξεργαστές (εκτός Pentium Overdrive για 486): Οικογένεια επεξεργαστή Εύρος (bits) 50 MHz 55 MHz 60 MHz 66 MHz 75 MHz Pentium Pentium OverDrive (για Pentiums) Pentium με MMX Pentium με MMX OverDrive x K Pentium Pro Pentium II K Δίαυλος διευθύνσεων επεξεργαστή και μνήμης Ο δίαυλος διευθύνσεων είναι το σύνολο των γραμμών, το οποίο μεταφέρει πληροφορία για την περιοχή της μνήμης, που πρέπει να χρησιμοποιηθεί. Στο δίαυλο αυτό δε μεταφέρονται πραγματικά δεδομένα, αλλά διευθύνσεις μνήμης, οι οποίες ελέγχουν την περιοχή της μνήμης από την οποία είτε θα διαβαστούν τα δεδομένα, είτε θα γραφούν εκεί. Η ταχύτητα του διαύλου αυτού είναι η ίδια με αυτή του διαύλου δεδομένων, τον οποίο συνοδεύει. Αυτό είναι φυσικό, γιατί δε θα είχε νόημα, αν για παράδειγμα είχαμε ένα γρήγορο δίαυλο δεδομένων, μέσω του οποίου τα δεδομένα θα έφταναν πιο πριν στη μνήμη, από ότι η διεύθυνση για το που πρέπει αυτά να τοποθετηθούν. Το εύρος του διαύλου διευθύνσεων ελέγχει την ικανότητα διευθυνσιοδότησης του επεξεργαστή, το οποίο είναι η ποσότητα της κύριας μνήμης, που μπορεί ο επεξεργαστής να αναγνωρίσει, για να διαβάσει ή να γράψει. Όσο πιο ευρύς είναι ο δίαυλος διευθύνσεων, τόσο περισσότερα ψηφία μπορεί να έχει ο αριθμός διεύθυνσης που βγαίνει από τον επεξεργαστή. Το εύρος των διαύλων δεδομένων και διευθύνσεων δε συσχετίζεται. Μπορούμε να έχουμε ένα δίαυλο δεδομένων με πολλές γραμμές και ένα δίαυλο διευθύνσεων ή το αντίθετο. Το μέγεθος του διαύλου διευθύνσεων δεν είναι κάτι που εξετάζεται συχνά και αυτό γιατί δεν έχει άμεση επιρροή στην απόδοση. Οι επεξεργαστές, συνήθως, μπορούν να διευθυνσιοδοτήσουν πολύ περισσότερη φυσική μνήμη, από ότι οι χρήστες χρησιμοποιούν και στην πραγματικότητα, το chipset και η μητρική πλακέτα είναι οι ουσιαστικοί παράγοντες, που περιορίζουν τη μέγιστη κύρια μνήμη που μπορεί να χρησιμοποιηθεί σε ένα σύστημα. Για παράδειγμα ένας Pentium μπορεί θεωρητικά να

109 διευθυνσιοδοτήσει 4 GB κύριας μνήμης, αλλά οι περισσότερες μητρικές δε μπορούν να υποστηρίξουν περισσότερη, από το ένα τέταρτο αυτού του αριθμού. Μέγεθος διαύλου διευθύνσεων και μέγιστη κύρια μνήμη, για συγκεκριμένους επεξεργαστές 109 Ο παρακάτω πίνακας δείχνει το εύρος του διαύλου διευθύνσεων και τη μέγιστη κύρια μνήμη που υποστηρίζουν διάφοροι επεξεργαστές: Επεξεργαστές Εύρος διαύλου διευθύνσεων (bits) Μέγιστη ποσότητα κύριας μνήμης 8088, MB 80286, 80386SX MB 80386DX, 80486DX, 80486SX, 80486DX2, 80486DX4, AMD 5x86, Cyrix 5x86, Pentium, Pentium OverDrive, Pentium MMX, Pentium MMX OverDrive, 6x86, K5, K6, 6x86MX 32 4 GB Pentium Pro, Pentium II GB

110 Δίαυλοι Εισόδου/Εξόδου 110 Εισαγωγή Έχουμε δει πριν, ότι οι δίαυλοι του υπολογιστή είναι βασικά λεωφόροι δεδομένων πάνω στη μητρική πλακέτα. Η υψηλή ταχύτητα των διαύλων που είναι κοντά στον επεξεργαστή δημιουργεί ηλεκτρικό "θόρυβο" και μερικά άλλα προβλήματα. Επομένως, η ταχύτητα πρέπει να μειωθεί όταν θελήσουμε να προσθέσουμε κάρτες επέκτασης ή άλλες συσκευές. Αυτό γίνεται, γιατί πολύ λίγες κάρτες επέκτασης μπορούν να λειτουργήσουν σε ταχύτητες πάνω των 40 MHz. Επομένως οι σύγχρονοι υπολογιστές έχουν επιπρόσθετους διαύλους. Εντούτοις, οι πρώτοι υπολογιστές είχαν ένα μόνο δίαυλο, ο οποίος ήταν κοινός για επεξεργαστή, κύρια μνήμη και περιφερειακές συσκευές εισόδου-εξόδου. Αρχιτεκτονική ενός διαύλου Οι πρώτοι επεξεργαστές έτρεχαν σε σχετικά χαμηλές συχνότητες ρολογιών και όλα τα εξαρτήματα του υπολογιστή μπορούσαν να συμβαδίζουν με τις ταχύτητες αυτές. Πρώτα το 1987, η Compaq σχεδίασε, το πως μπορούμε να διαχωρίσουμε το system bus από το δίαυλο Ε/Ε. Έτσι θα μπορούσαν να τρέχουν σε διαφορετικές ταχύτητες. Αυτή η πολυδιαυλική αρχιτεκτονική έχει γίνει πρότυπο από τότε. Οι σύγχρονοι υπολογιστές έχουν περισσότερους από ένα δίαυλο Ε/Ε. Η ιδέα του τοπικού διαύλου Η μετάβαση από εφαρμογές κειμένου σε εφαρμογές γραφικών άρχισε πολύ νωρίς, τη δεκαετία του '90, μαζί με την αυξανόμενη δημοτικότητα του παραθυρικού περιβάλλοντος του λειτουργικού συστήματος Windows. Η αύξηση στην ποσότητα πληροφορίας που πρέπει να μετακινηθεί μεταξύ επεξεργαστή, μνήμης, κάρτας γραφικών και σκληρού δίσκου, όταν χρησιμοποιείται γραφικό λειτουργικό σύστημα, αντί για ένα σύστημα το οποίο θα βασίζεται στη γραμμή εντολών (DOS), είναι τεράστια. Μία γεμάτη όψη οθόνης με μονόχρωμο κείμενο, είναι 4000 bytes πληροφορίας, το οποίο σημαίνει 2000 bytes για χαρακτήρες και 2000 bytes για χαρακτηριστικά της οθόνης. Ωστόσο, μία τυπική όψη οθόνης σε περιβάλλον Windows με ρύθμιση 256 χρώματα, απαιτεί πάνω από bytes, μία αύξηση δηλαδή πάνω από 15000%. Εντελώς πληροφοριακά, να πούμε ότι μία υψηλή ανάλυση 1600x1200 στα 16 εκατομμύρια που χρησιμοποιείται σήμερα, απαιτεί 5.8 εκατομμύρια bytes πληροφορίας. Επίσης, η μετατροπή του προσανατολισμού του λογισμικού σε γραφικό περιβάλλον, σημαίνει πολύ μεγάλες απαιτήσεις σε προγράμματα και αποθηκευτικό χώρο. Από άποψη εισόδου-εξόδου, πολύ περισσότερες είσοδοι-έξοδοι χρειαζόταν να διαχειριστούν τα επιπλέον δεδομένα, που κατευθύνονταν από και προς την κάρτα γραφικών και φυσικά,

111 διαρκώς αυξανόμενες απαιτήσεις για μέγεθος και ταχύτητα σκληρών δίσκων. Την εποχή αυτή που μιλάμε, η IBM είχε ήδη προσανατολιστεί στον επεξεργαστή 80486, ο οποίος παρείχε πολύ καλύτερη απόδοση από τους προηγούμενους επεξεργαστές. Ο δίαυλος ISA, οποίος ακόμη έτρεχε στην ίδια ταχύτητα και είχε το ίδιο εύρος ζώνης, που είχε και στα IBM AT, ήταν γενικά ακατάλληλος, για την αυξανόμενη αυτή ανάγκη και σύντομα έγινε ο περιοριστικός παράγοντας στη βελτίωση της απόδοσης. Η αύξηση την ταχύτητα του επεξεργαστή δε θα είχε μεγάλη βελτίωση, αν αυτός ακόμη περίμενε έναν αργό δίαυλο να του μεταφέρει δεδομένα. Η λύση ήταν η δημιουργία ενός νέου, γρηγορότερου διαύλου, ο οποίος θα αύξανε το δίαυλο ISA και θα χρησιμοποιούταν ειδικά για συσκευές με υψηλό εύρος ζώνης, όπως οι κάρτες γραφικών. Αυτός ο νέος δίαυλος θα μπορούσε να τοποθετηθεί πάνω ή κοντά στον πολύ γρηγορότερο δίαυλο μνήμης του επεξεργαστή, να τον αφήσει να τρέξει στην (ή πολύ κοντά στην) εξωτερική ταχύτητα του επεξεργαστή και να επιτρέψει στα δεδομένα να ρέουν μεταξύ αυτών των συσκευών και του επεξεργαστή, χωρίς να πρέπει να περάσουν μέσω του αργού διαύλου ISA. Τοποθετώντας αυτές τις συσκευές κοντά στον επεξεργαστή γεννήθηκε ο πρώτος τοπικός δίαυλος ο οποίος λεγόταν VESA Local Bus, ενώ σήμερα, η επιλογή για τοπικό δίαυλο είναι ο δίαυλος PCI. Τι κάνει ένας δίαυλος Ε/Ε; Οι δίαυλοι εισόδου-εξόδου συνδέουν τον επεξεργαστή με όλα τα άλλα μέρη του υπολογιστή, εκτός από την κύρια μνήμη. Τα δεδομένα μετακινούνται πάνω στους διαύλους εισόδου-εξόδου, από το ένα μέρος στο άλλο και από εκεί στον επεξεργαστή και την κύρια μνήμη. Οι δίαυλοι εισόδου-εξόδου διαφέρουν από τον τοπικό δίαυλο στην ταχύτητα, μιας και η ταχύτητά τους θα είναι πάντα χαμηλότερη από την ταχύτητα του διαύλου αυτού. Με το πέρασμα των χρόνων διάφοροι δίαυλοι εισόδου-εξόδου έχουν αναπτυχθεί, ωστόσο, στους σύγχρονους υπολογιστές μπορούμε να βρούμε συνήθως 4 διαύλους: Ο δίαυλος ISA, ο οποίος είναι ένας παλιός, χαμηλής ταχύτητας δίαυλος και χρησιμοποιείται ακόμη και τώρα, κυρίως για λόγους συμβατότητας. Ο δίαυλος PCI, ο οποίος είναι νέος και υψηλής ταχύτητας δίαυλος. Ο δίαυλος USB, που είναι νέος αλλά χαμηλής ταχύτητας δίαυλος. Ο δίαυλος AGP, ο οποίος, στην πραγματικότητα είναι μία θύρα επικοινωνίας και χρησιμοποιείται μόνο για κάρτες γραφικών. Όπως είπαμε πιο πριν, οι δίαυλοι εισόδου-εξόδου είναι στην ουσία επέκταση του τοπικού διαύλου. Πάνω στη μητρική πλακέτα, ο τοπικός δίαυλος τελειώνει σε έναν ελεγκτή, ο οποίος σχηματίζει μια γέφυρα προς τους διαύλους Ε/Ε. Στην πραγματικότητα, οι δίαυλοι έχουν επιφέρει μια πολύ κεντρική τακτοποίηση, στη μετακίνηση των δεδομένων του υπολογιστή. Πραγματικά, όλα τα μέρη, εκτός του επεξεργαστή, επικοινωνούν μεταξύ τους αλλά και με την κύρια μνήμη, μέσω των διαύλων Ε/Ε. 111

112 Παλαιότεροι τύποι διαύλων 112 Industry Standard Architecture (ISA) Bus Ο πλέον κοινός δίαυλος στους υπολογιστές, είναι ο ISA και είναι τα αρχικά των λέξεων Industry Standard Architecture. Ο δίαυλος αυτός είναι σημαντικός, ακόμη και στους νεότερους υπολογιστές, παρά το γεγονός ότι είναι γενικά ίδιος, από τότε που επεκτάθηκε στα 16 bits, το Ο ISA δίαυλος έγινε τελικώς ένα εμπόδιο στην απόδοση και αναβαθμίστηκε με επιπρόσθετους διαύλους υψηλής ταχύτητας, αλλά ο δίαυλος αυτός συνεχίζει την παρουσία του, για το λόγο ότι υπάρχουν πάρα πολλά περιφερειακά τα οποία βασίζονται σ' αυτόν και τον χρησιμοποιούν ως πρότυπο. Επίσης, υπάρχουν ακόμη πολλές συσκευές για τις οποίες η ταχύτητα του διαύλου ISA είναι υπεραρκετή και θα είναι για αρκετό καιρό ακόμη (πχ τα τυπικά modems). Τα βασικά χαρακτηριστικά του διαύλου αυτού, η ταχύτητα και το εύρος του, μπορούν να φανούν κοιτάζοντας τους επεξεργαστές, με τους οποίους ταίριαζε στους πρώτους υπολογιστές. Ο αρχικός δίαυλος ISA στο IBM PC, είχε εύρος 8 bits, αντανακλώντας το εύρος των 8 bits του διαύλου δεδομένων του επεξεργαστή 8088 και έτρεχε στα 4.77 MHz (όπως και η ταχύτητα των πρώτων 8088s). Το 1984, παρουσιάστηκε ο IBM AT που χρησιμοποιούσε τον επεξεργαστή της Intel και ο δίαυλος αυτός (ISA) διπλασιάστηκε στα 16 bits (εύρος διαύλου δεδομένων του 80286) και 8 MHz. Αργότερα, οι επεξεργαστές AT έγιναν φυσικά πιο γρήγοροι και τελικώς, οι δίαυλοι δεδομένων έγιναν ευρύτεροι, αλλά την εποχή εκείνη η επιθυμία για συμβατότητα με τις παλιότερες υπάρχουσες συσκευές, οδήγησε τους κατασκευαστές στο να συνεχίσουν να αλλάζουν το ίδιο πρότυπο και έτσι παρέμειναν σε έναν παρόμοιο τύπο διαύλου. Ο δίαυλος ISA παρέχει έναν αποδεκτό ρυθμό (throughput) για συσκευές χαμηλού εύρους ζώνης και τελικώς, εξασφαλίζει συμβατότητα σχεδόν με κάθε υπολογιστή της αγοράς. Πολλές κάρτες επέκτασης, ακόμη και πολύ σύγχρονες, είναι ακόμη των 8 bits και χρησιμοποιούν μόνο το πρώτο μέρος της υποδοχής του ISA, ενώ οι κάρτες εύρους 16 bits τα χρησιμοποιούν και τα δύο μέρη. Γενικά, αυτές είναι κάρτες, για τις οποίες η χαμηλή απόδοση του διαύλου ISA δεν είναι σημαντικό θέμα. Ωστόσο, πρόσβαση στα IRQs από 9 ως 15, παρέχεται μέσω συρμάτων στο μέρος των 16 bits του ISA slot. Αυτός είναι ο λόγος που τα περισσότερα modems για παράδειγμα δεν μπορούν να οριστούν σε υψηλούς αριθμούς IRQs. Τα IRQs δεν μπορούν να διαμοιραστούν μεταξύ των συσκευών ISA. Δίαυλος ISA

113 Περιληπτικώς για τον ISA δίαυλο μπορούμε να πούμε ότι: Ήταν μια βελτίωση του αρχικού IBM XT διαύλου, ο οποίος είχε εύρος μόνο 8 bits. Είναι ευρύς 16 bits και έχει μέγιστη ταχύτητα 8 MHz. Επομένως, απαιτεί 2-3 κύκλους του ρολογιού, για να μεταφέρει 16 bits. Έχει μια θεωρητική ικανότητα μεταφοράς 8MBps, ωστόσο, η πραγματική του ταχύτητα μεταφοράς δεν ξεπερνά τα 1 με 2 MBps. Έχει δύο μορφές: Ο εσωτερικός, ο οποίος χρησιμοποιείται σε απλές θύρες, όπως για πληκτρολόγιο, οδηγό δισκέτας, σειριακές και παράλληλες θύρες, κ.λπ. Ο εξωτερικός, ο οποίος μπορεί να συνδεθεί με προσαρμοστές (adapters) των 16 bits. Οι ISA υποδοχές (Slots) χρησιμοποιούνται σήμερα κυρίως για την κοινή κάρτα ήχου (16 bit) Sound Blaster και τις συμβατές με αυτή, αλλά και για modems. 113 Εξωτερικές και εσωτερικές μονάδες του διαύλου ISA Micro Channel Architecture (MCA) Bus Ο δίαυλος MCA (Micro Channel Architecture), ήταν η προσπάθεια της IBM να αντικαταστήσει το δίαυλο ISA με κάτι καλύτερο και μεγαλύτερο. Όταν παρουσιάστηκε ο 80386, στα μέσα της δεκαετίας του '80, με εύρος διαύλου δεδομένων 32 bits, η IBM προσπάθησε να δημιουργήσει ένα δίαυλο, ο οποίος θα ταίριαζε σε αυτό το εύρος. Έτσι, ο δίαυλος MCA έχει εύρος 32 bits και προσφέρει μερικές σημαντικές βελτιώσεις, σχετικά με τον ISA. Είναι σχετικά γρήγορος, με ένα ρυθμό μεταφοράς πάνω από 40 MBps και ταχύτητα στα MHz, ενώ ένα από τα μειονεκτήματά του είναι το πολύ απλό κύκλωμα ελεγκτή DMA. Ο δίαυλος αυτός έχει μερικά πολύ εντυπωσιακά χαρακτηριστικά, τα οποία παρουσιάστηκαν το 1987, περίπου 7 χρόνια πριν ο δίαυλος PCI να παρουσιάσει παρόμοια χαρακτηριστικά στους υπολογιστές. Κατά κάποιο τρόπο, ήταν μπροστά από την εποχή του, επειδή σε σχέση με το δίαυλο ISA, δεν ήταν ένα περιοριστικός παράγοντας της απόδοσης. Ο δίαυλος αυτός είχε τα εξής χαρακτηριστικά: Εύρος διαύλου 32 bits: Ο δίαυλος MCA είχε εύρος 32 bits, το ίδιο με το VLB και τον PCI τοπικό δίαυλο. Είχε μακράν καλύτερο ρυθμό από το δίαυλο ISA.

114 Διαχείριση διαύλου: Ο δίαυλος αυτός υποστήριζε προσαρμοστές διαχείρισης διαύλου, για μεγαλύτερη αποδοτικότητα, συμπεριλαμβανομένης και κατάλληλης διαιτησίας διαύλου. Plug and Play (PnP): Ο MCA διαμόρφωνε αυτομάτως κάρτες προσαρμοστών. Έτσι, δεν ήταν ανάγκη καθυστερούμε με jumpers. Αυτό ήταν 8 χρόνια πριν από τα Windows 95 μετατρέψουν το PnP σε κυρίαρχη τάση. Ο MCA είχε ένα μεγάλο φάσμα δυνατοτήτων, αλλά δυστυχώς η IBM πήρε δύο αποφάσεις, οι οποίες απέτρεψαν στο δίαυλο αυτό να γίνει εμπορική επιτυχία. Πρώτα, έκανε τον MCA ασύμβατο με τον ISA, κάτι που σημαίνει ότι οι ISA κάρτες δε δούλευαν καθόλου σε ένα σύστημα MCA. Δεύτερον, η IBM αποφάσισε να κάνει το δίαυλο MCA ιδιόκτητο. Στην πραγματικότητα, έκανε το ίδιο και με το δίαυλο ISA, ωστόσο τότε είχε τα μέσα να κάμψει τις αντιστάσεις, ενώ τώρα δεν μπορούσε γιατί οι διάφοροι αντιγράφοντας άρχισαν να μην υποκύπτουν στις επιθυμίες της IBM. Αυτοί οι δύο παράγοντες, σε συνδυασμό με το αυξανόμενο κόστος των συστημάτων MCA, οδήγησε στο θάνατο του διαύλου MCA, αν και χρησιμοποιείται ακόμη σε διάφορους RISC 6000 UNIX servers (εξυπηρετητές) της IBM. 114 Extended Industry Standard (EISA) bus Εδώ, το όνομα αυτό δεν είναι δεικτικό της πραγματικότητας. Ο δίαυλος EISA ποτέ δεν έγινε δημοφιλής και φυσικά ένα πρότυπο αγοράς. Ο δίαυλος αυτός προέκυψε ως απάντηση της Compaq στο δίαυλο MCA της IBM και ακολούθησε ένα παρόμοιο δρόμο ανάπτυξης, με τα ίδια αποτελέσματα. Η Compaq απέφυγε τα δύο κύρια λάθη που έκανε η IBM όταν ανέπτυξε το δικό της δίαυλο. Πρώτα, έκανε το δίαυλο αυτό συμβατό με τον ISA και δεύτερον, έδωσαν τα σχέδια του διαύλου αυτού σε όλους τους κατασκευαστές, ωστόσο, ο δίαυλος αυτός ήταν παρόμοιος με το δίαυλο MCA σε όρους τεχνολογίας, αλλά και σε όρους αποδοχής από την αγορά: είχε σημαντικά πλεονεκτήματα σε σχέση με το δίαυλο ISA και ποτέ δεν έγινε αρκετά δημοφιλής στην αγορά των υπολογιστών, ωστόσο, χρησιμοποιείται ακόμη σε μερικούς servers. Μερικά από τα κύρια χαρακτηριστικά του διαύλου αυτού ήταν: Συμβατότητα με τον ISA: Οι κάρτες ISA δούλευαν σωστά πάνω σε EISA slots. Εύρος διαύλου 32 bits: Όπως ο MCA, ο δίαυλος αυτός είχε επεκταθεί στα 32 bits. Ταχύτητα διαύλου 8 MHz: Ο δίαυλος αυτός όπως και ο ISA είχε μία ταχύτητα της τάξης των 8 MHz. Διαχείριση διαύλου: Ο EISA δίαυλος υποστηρίζει προσαρμοστές διαχείρισης διαύλου για μεγαλύτερη αποδοτικότητα, συμπεριλαμβανομένης και κατάλληλης διαιτησίας διαύλου. Plug and Play (PnP): Ο EISA διαμορφώνει αυτομάτως κάρτες προσαρμοστών, παρομοίως με τα σημερινά πρότυπα PnP στα σύγχρονα συστήματα. VESA Local Bus (VLB) Ο πρώτος τοπικός δίαυλος που δημιουργήθηκε ήταν ο VESA Local bus (VLB) και παρουσιάστηκε το Η λέξη VESA συμβολίζει τα αρχικά των λέξεων Video Electronics Standatd Association. Ο κύριος λόγος ανάπτυξης του VLB ήταν για να βελτιώσει την απόδοση των γραφικών στους υπολογιστές. Ο δίαυλος αυτός έχει εύρος 32 bits και είναι κατά κάποιο τρόπο μία απευθείας επέκταση του διαύλου επεξεργαστή/μνήμης του 486. Ένα VLB slot είναι ένα ISA slot των 16 bits με τρίτο και τέταρτο συνδετήρα slot προστιθέμενο στο τέλος. Συνήθως ο δίαυλος VLB τρέχει στα 33 MHz, αν και είναι δυνατές και μεγαλύτερες ταχύτητες σε μερικά συστήματα. Από τη στιγμή που είναι μία επέκταση

115 του διαύλου ISA, κάρτες επέκτασης τύπου ISA μπορούν να χρησιμοποιούνται σε VLB slots, αν και είναι καλύτερα να τοποθετούμε τις κάρτες ISA στα δικά τους slots και να αφήνουμε τα (λίγα) VLB slots για τις VLB κάρτες οι οποίες δε δουλεύουν πάνω σε slots τύπου ISA. Η χρήση πάντως μίας κάρτας γραφικών VLB και ενός ελεγκτή εισόδου-εξόδου, αυξάνει κατά πολύ την απόδοση του συστήματος σε σχέση με τη χρήση ISA καρτών και ελεγκτών. Ο δίαυλος αυτός ήταν πολύ δημοφιλής κατά τη διάρκεια της μεγάλης εξάπλωσης των 486, αλλά με την εμφάνιση των Pentium και του διαύλου PCI το 1994, άρχισε να μη χρησιμοποιείται και σήμερα πλέον μας δίνει το δικαίωμα να πούμε ότι ήταν ένα φαινόμενο περίπου 3-4 ετών. Τα προβλήματα που υπήρχαν με το δίαυλο VLB ήταν αρκετά. Μερικά από αυτά είναι: Η σχεδίαση ήταν βασισμένη πάρα πολύ στον επεξεργαστή 486 και στην προσπάθεια να προσαρμοστεί ο δίαυλος αυτός σε επεξεργαστές Pentium, δημιουργούσε μια σειρά από προβλήματα συμβατότητας. Ο ίδιος ο δίαυλος ήταν πολύ δύσκολος από άποψη ηλεκτρονικών. Για παράδειγμα, ο αριθμός των καρτών που μπορούσαν να χρησιμοποιηθούν πάνω στο δίαυλο, ήταν λίγες και συχνά υπήρχαν προβλήματα χρονισμού όταν χρησιμοποιούνταν περισσότερες από μία κάρτες. Ο δίαυλος αυτός δεν υποστήριζε κατάλληλη διαχείριση διαύλου, από τη στιγμή που δεν υπήρχε καλή διαιτησία διαύλου και επίσης δεν υποστήριζε PnP. Ο δίαυλος αυτός είναι πλέον απαρχαιωμένος και δε χρησιμοποιείται ούτε σε motherboards 486, τα οποία χρησιμοποιούν PCI. Ωστόσο, αυτά τα συστήματα ακόμη προσφέρουν ικανοποιητική απόδοση και είναι πολύ φτηνά. 115

116 Δίαυλος PCI 116 Εισαγωγή Στις μέρες μας ο πλέον δημοφιλής τοπικός δίαυλος εισόδου-εξόδου είναι ο δίαυλος PCI (Peripheral Component Interconnect), ο οποίος αναπτύχθηκε από την Intel το Είναι σημαντικό εφόδιο των συστημάτων 5ης και 6ης γενιάς, αν και τον χρησιμοποιούν και οι τελευταίες μητρικές πλακέτες της γενιάς 486. Όπως και ο VLB, ο δίαυλος PCI έχει εύρος 32 bits και συνήθως τρέχει στα 33 MHz. Το κύριο πλεονέκτημά του, πάνω από τον επεξεργαστή και το δίαυλο VLB, βρίσκεται στο chipset το οποίο τον ελέγχει. Ο δίαυλος αυτός ελέγχεται από ένα ειδικό κύκλωμα στο chipset, το οποίο είναι σχεδιασμένο ειδικά για να τον διαχειρίζεται, ενώ ο VLB ήταν βασικά μία επέκταση μόνο του διαύλου επεξεργαστή 486. Ο PCI δεν είναι "ζευγάρι" με τον 486 κατά αυτόν τον τρόπο και το chipset παρέχει κατάλληλη διαιτησία διαύλου, όπως και ευκολίες ελέγχου, για να ενεργοποιήσει τον PCI και να προσφέρει πολύ περισσότερα, από αυτά που μπορούσε να προσφέρει ο VLB. Επίσης, ο PCI χρησιμοποιείται εκτός της πλατφόρμας προσωπικού υπολογιστή, παρέχοντας ένα βαθμό καθολικότητας και επιτρέποντας στους κατασκευαστές να εξοικονομούν κόστος σχεδίασης. Δίαυλος PCI Απόδοση του διαύλου PCI Ο δίαυλος PCI παρέχει ανώτερη απόδοση σε σχέση με τον τοπικό δίαυλο VLB. Στην πραγματικότητα, είναι ο καλύτερος γενικά δίαυλος εισόδου-εξόδου, σε ότι αφορά την απόδοση, που χρησιμοποιείται σήμερα στους υπολογιστές. Αυτό οφείλεται σε διάφορους παράγοντες: Μέθοδος ριπής (Burst mode): Ο δίαυλος PCI μπορεί να μεταφέρει πληροφορία κατά ριπή, όπου αφού δίνεται μία αρχική διεύθυνση, πολλά σύνολα δεδομένων μπορούν να μεταφερθούν μαζί, κάτι που είναι παρόμοιο με τον τρόπο που δουλεύει η κρυφή μνήμη. Διαχείριση διαύλου (Bus Mastering): Ο PCI υποστηρίζει πολύ καλή διαχείριση διαύλου, κάτι το οποίο έχει ως αποτέλεσμα βελτιωμένη απόδοση. Επιλογές υψηλού εύρους ζώνης (High Bandwidth Options): Η προδιαγραφή του διαύλου PCI στην έκδοση 2.1 αναφέρει επεκτασιμότητα σε ένα εύρος των 64 bits

117 και σε μία ταχύτητα των 66 MHz. Αν η σχεδίαση αυτή υλοποιηθεί, θα τετραπλασιαστεί το εύρος ζώνης, που σήμερα έχει ο δίαυλος αυτός. Στην πραγματικότητα, ο δίαυλος PCI των 64 bits θέλει ακόμη πολύ για να υλοποιηθεί και η ταχύτητα είναι περιορισμένη στα 33 MHz, κυρίως για λόγους συμβατότητας. Ίσως μείνουμε για πολύ ακόμη σε μία ταχύτητα των 33 MHz και σε εύρος των 32 bits, αλλά φαίνεται ότι επιλογές υψηλότερης απόδοσης από αυτής του PCI, αρχίζουν να εμφανίζονται και μία από αυτές είναι η νέα Accelerated Graphics Port. Η ταχύτητα του διαύλου PCI μπορεί να ρυθμιστεί συγχρόνως και ασυγχρόνως, με βάση το chipset και το motherboard. Σε μία συγχρονισμένη ρύθμιση (που χρησιμοποιείται και στους περισσότερους υπολογιστές), ο δίαυλος τρέχει στο μισό της ταχύτητας του διαύλου μνήμης. Από τη στιγμή που ο δίαυλος μνήμης τρέχει συνήθως στα 50, 60 ή 66 MHz, ο δίαυλος PCI θα τρέχει στα 25, 30, ή στα 33 MHz αντίστοιχα. Σε μία ασύγχρονη ρύθμιση, η ταχύτητα του διαύλου PCI μπορεί να είναι ανεξάρτητη από την ταχύτητα του διαύλου μνήμης. Αυτό συνήθως ελέγχεται από jumpers πάνω στη μητρική πλακέτα ή από ρυθμίσεις του BIOS. Η αύξηση του χρονισμού του δίαυλου μνήμης σε έναν υπολογιστή, είναι κάτι που θα κάνει και τα περιφερειακά να είναι επίσης υπερ-χρονισμένα. Υποδοχές επέκτασης του PCI 117 Ο δίαυλος PCI προσφέρει περισσότερες υποδοχές από τις περισσότερες υλοποιήσεις του διαύλου VLB, χωρίς μάλιστα τα ηλεκτρικά προβλήματα τα οποία βασάνιζαν το δίαυλο VLB. Τα περισσότερα συστήματα PCI υποστηρίζουν 3 ή 4 PCI υποδοχές. Ο δίαυλος PCI προσφέρει μία μεγάλη ποικιλία καρτών επέκτασης, σε σχέση με το δίαυλο VLB. Οι πλέον γνωστές είναι οι κάρτες ήχου, οι ελεγκτές SCSI και υψηλής ταχύτητας κάρτες δικτύου. Επίσης, οι οδηγοί σκληρών δίσκων είναι πάνω στο δίαυλο PCI, αλλά είναι συνήθως απευθείας συνδεδεμένοι πάνω στο motherboard. Ωστόσο, θα έπρεπε να σημειωθεί ότι συγκεκριμένες λειτουργίες δεν μπορούν να παρέχονται πάνω στο δίαυλο PCI. Για παράδειγμα, σειριακές και παράλληλες θύρες πρέπει να παραμείνουν στο δίαυλο ISA. Ευτυχώς, ο δίαυλος ISA μπορεί ακόμη να διαχειρίζεται αυτές τις συσκευές πολύ ικανοποιητικά. Εσωτερικές διακοπές του διαύλου PCI Ο δίαυλος PCI χρησιμοποιεί το δικό του εσωτερικό σύστημα διακοπών (interrupt system), για την ενασχόληση με τις αιτήσεις από τις κάρτες του διαύλου. Αυτές οι διακοπές συχνά ονομάζονται "#A", "#B", "#C" και "#D" για να αποφεύγεται η σύγχυση με τα κανονικά αριθμημένα IRQs του συστήματος, τα οποία επίσης μερικές φορές ονομάζονται "#1" ως "#4". Αυτά τα επίπεδα διακοπών δε φαίνονται γενικά στο χρήστη, εκτός από το περιβάλλον του BIOS, όπου οι διακοπές αυτές μπορούν να χρησιμοποιηθούν, για να ορίσουν τον τρόπο λειτουργίας των καρτών PCI. Όταν αυτές οι διακοπές λαμβάνονται από τις κάρτες που είναι στις υποδοχές, χαρτογραφούνται στις κανονικές διακοπές, συνήθως στα IRQ9 έως IRQ12. Οι PCI υποδοχές στα περισσότερα συστήματα μπορούν να χαρτογραφηθούν το πολύ σε 4 κανονικά IRQs. Σε συστήματα τα οποία έχουν περισσότερες από 4 PCI υποδοχές ή έχουν 4 υποδοχές και έναν ελεγκτή USB, δύο ή περισσότερες συσκευές PCI διαμοιράζονται ένα IRQ. Αν χρησιμοποιούμε Windows 95 OEM SR2, μπορεί να δούμε επιπρόσθετες καταχωρήσεις για PCI συσκευές κάτω από το Device Manager. Κάθε συσκευή μπορεί να έχει μία επιπρόσθετη καταχώρηση με τον τίτλο "IRQ Holder for PCI Steering". PCI steering (πηδαλιούχηση) είναι στην πραγματικότητα ένα χαρακτηριστικό, το οποίο είναι μέρος του Plug and Play του συστήματος και ενεργοποιεί το IRQ που χρησιμοποιείται για συσκευές PCI να ελέγχεται από το λειτουργικό σύστημα, ώστε να αποφεύγονται προβλήματα πηγών.

118 Διαχείριση διαύλου PCI 118 Όπως είπαμε στην ενότητα γενικά χαρακτηριστικά διαύλων, διαχείριση διαύλου είναι η ικανότητα των συσκευών του διαύλου PCI (και φυσικά του chipset) να παίρνουν τον έλεγχο του διαύλου και να εκτελούν άμεσα τις μεταφορές, χωρίς δηλαδή την παρέμβαση του επεξεργαστή. Ο δίαυλος PCI είναι ο πρώτος δίαυλος, που έκανε δημοφιλή τη διαχείριση διαύλου. Πιθανόν, επειδή για πρώτη φορά υπήρχαν λειτουργικά συστήματα και λογισμικό εφαρμογών, τα οποία ήταν πραγματικά ικανά να ωφεληθούν από αυτό. Ο δίαυλος PCI υποστηρίζει πολύ καλή διαχείριση διαύλου και παρέχει ευκολίες διαιτησίας διαύλου, μέσω του system chipset. Η σχεδίαση του PCI επιτρέπει διαχείριση διαύλου από πολλές συσκευές πάνω στο δίαυλο ταυτόχρονα, με ένα κύκλωμα διαιτησίας να δουλεύει, για να εξασφαλίσει ότι καμία συσκευή του διαύλου (συμπεριλαμβανομένου και του επεξεργαστή) δε θα αφήσει εκτός καμία άλλη συσκευή. Την ίδια στιγμή, επιτρέπει σε κάθε συγκεκριμένη συσκευή να χρησιμοποιεί όλο το εύρος ζώνης του διαύλου, αν καμία άλλη συσκευή δε χρειάζεται να μεταφέρει οτιδήποτε. Κατά κάποιο τρόπο, ο δίαυλος PCI δρα σαν ένα μικρό "τοπικό δίκτυο" εντός του υπολογιστή, στον οποίο πολλές συσκευές μπορούν να μιλούν η μία στην άλλη, διαμοιραζόμενες ένα κανάλι επικοινωνίας το οποίο διαχειρίζεται το chipset. IDE διαχείριση διαύλου PCI Ο δίαυλος PCI επιτρέπει επίσης να ορίσουμε συμβατούς IDE/ATA σκληρούς δίσκους για διαχειριστές διαύλου. Κάτω από κατάλληλες συνθήκες αυτό μπορεί να αυξήσει την απόδοση σε σχέση με τη χρήση PIO modes, οι οποίοι είναι ο εξ' ορισμού τρόπος με τον οποίο οι IDE/ATA σκληροί δίσκοι μεταφέρουν δεδομένα από και προς το σύστημα. Όταν χρησιμοποιείται PCI διαχείριση διαύλου, οι συσκευές IDE/ATA χρησιμοποιούν DMA modes για να μεταφέρουν δεδομένα, αντί να χρησιμοποιούν PIO. Από τη στιγμή που αυτή η ικανότητα έγινε διαθέσιμη, έχει γίνει μια από τις πιο διάσημες λειτουργίες των σύγχρονων υπολογιστών. Υπάρχει μεγάλη σύγχυση μεταξύ των χρηστών υπολογιστών, σχετικά με το τι είναι και πώς δουλεύει η IDE διαχείριση διαύλου PCI. Συγκεκριμένα, υπάρχουν πάρα πολλές παρανοήσεις σχετικά με τα πλεονεκτήματα απόδοσης αυτού του διαύλου. Επιπλέον, έχουν υπάρξει πολλά προβλήματα συμβατότητας όταν προσπαθούμε να κάνουμε αυτή την τεχνολογία να δουλέψει. Η IDE διαχείριση διαύλου απαιτεί όλα τα ακόλουθα χαρακτηριστικά προκειμένου να δουλέψει: Ικανό σύστημα Hardware για διαχείριση διαύλου: Αυτό περιλαμβάνει μητρική πλακέτα, chipset, δίαυλο και BIOS. Οι περισσότερες σύγχρονες μητρικές πλακέτες, οι οποίες χρησιμοποιούν την οικογένεια του Intel chipset 340 (FX, HX, VX, TX) ή Intel 440FX Pentium Pro chipset, υποστηρίζουν IDE διαχείριση διαύλου. Σκληρό δίσκο διαχείρισης διαύλου: Κανονικά, αυτό σημαίνει ότι ο οδηγός πρέπει να είναι ικανός τουλάχιστον, να κάνει μεταφορές με πολυλεκτικό DMA mode 2. Όλοι επίσης οι Ultra ATA σκληροί δίσκοι υποστηρίζουν διαχείριση διαύλου. Λειτουργικό σύστημα πολυεργασίας 32 bits: Αυτό συνήθως σημαίνει Linux, Windows NT, Windows 95, ή άλλα παρόμοια. Οδηγοί διαχείρισης διαύλου: Ένας ειδικός οδηγός πρέπει να παρέχεται στο λειτουργικό σύστημα, για να ενεργοποιεί τη λειτουργία της διαχείρισης διαύλου. Κατά την εγκατάσταση όλων αυτών μπορεί χρειαστεί πάρα πολύ δουλειά. Συγκεκριμένα, τα ακόλουθα είναι πολύ συνηθισμένα προβλήματα τα οποία αντιμετωπίζονται στην προσπαθεί εγκατάστασης διαχείρισης διαύλου:

119 Θέματα λαθών οδηγού και ασυμβατότητας, ειδικά με παλιότερους οδηγούς, οι οποίοι είναι "γενικής χρήσης" και συντονίζονται για μία συγκεκριμένη μητρική πλακέτα. Παλιοί σκληροί δίσκοι δε δουλεύουν σωστά. Προβλήματα με ανόμοιους οδηγούς, συνδεδεμένους στο ίδιο κανάλι IDE σαν master και slave. Προβλήματα, όταν χρησιμοποιείται ένας οδηγός CD-ROM μόνος σε ένα κανάλι IDE, χωρίς έναν οδηγό σκληρού δίσκου. Οδηγοί διαχείρισης διαύλου, οι οποίοι δε δουλεύουν σε συγκεκριμένες μητρικές. Επίσης, μερικές μητρικές ή συστήματα δε δουλεύουν καθόλου με διαχείριση διαύλου. Γενικά πρέπει να πούμε ότι η IDE διαχείριση διαύλου είναι χρήσιμη και μπορούμε να δούμε βελτιώσεις στην απόδοση του συστήματος όταν χρησιμοποιούμε ένα λειτουργικό σύστημα πραγματικής πολυεργασίας και τρέχουμε πολλές εφαρμογές ταυτόχρονα, οι οποίες να χρησιμοποιούν εντατικά το δίσκο. Η IDE διαχείριση διαύλου δεν πρόκειται να βοηθήσει στις ακόλουθες περιπτώσεις: Μεταφορά 100 MB από το C: στο D:. Ταχύτητα παιχνιδιών του DOS. Φόρτωμα εφαρμογών, εκτός και αν αρχίζουν δύο μαζί. Ταχύτητα εκτέλεσης λειτουργιών μίας μόνο εφαρμογής. Ειδικά: η IDE διαχείριση διαύλου δε θα βοηθήσει πραγματικά το λειτουργικό σύστημα Windows 95. Το λειτουργικό αυτό σύστημα δεν κάνει πραγματική πολυεργασία και σε πολλές περιπτώσεις ο επεξεργαστής καθυστερεί περιμένοντας να ολοκληρωθούν μεταφορές, ακόμη και όταν χρησιμοποιείται διαχείριση διαύλου. Έτσι, αν και ο επεξεργαστής είναι θεωρητικώς ελεύθερος να κάνει άλλα πράγματα, στην πραγματικότητα δεν τα κάνει. Επίσης, οι περισσότεροι άνθρωποι κάνουν πολυεργασία, εναλλασσόμενοι μεταξύ εφαρμογών που είναι ανοικτές, αλλά σπάνια έχουν οτιδήποτε να τρέχει ταυτόχρονα με κάτι άλλο. PCI Plug and Play Ο δίαυλος PCI είναι μέρος του προτύπου PnP που αναπτύχθηκε από την Intel σε συνεργασία με την Microsoft και πολλές άλλες εταιρίες. Τα συστήματα PCI ήταν τα πρώτα που έκαναν δημοφιλή τη χρήση του PnP. Το κύκλωμα chipset του PCI διαχειρίζεται την αναγνώριση των καρτών και δουλεύει μαζί με το λειτουργικό σύστημα και το BIOS για να ρυθμίσει αυτόματα τις κατανομές πηγών για συμβατά περιφερειακά. PCI με δύο μορφές 119 Στις σύγχρονες μητρικές πλακέτες ο δίαυλος PCI έχει δύο μορφές: 1. Εσωτερικός PCI, ο οποίος συνδέει τα EIDE channels πάνω στη μητρική πλακέτα. 2. Εξωτερικός PCI, που χρησιμοποιείται ως δίαυλος επέκτασης και έχει τυπικά 3-4 υποδοχές (slots) για τους PCI προσαρμοστές.

120 120 Εσωτερικές και εξωτερικές μονάδες Ο δίαυλος PCI συνεχίζει να αναπτύσσεται ακόμη. Υπάρχει μια ειδικά ενδιαφέρουσα ομάδα, η οποία αποτελείται από τις πιο σημαντικές εταιρίες (Intel, IBM, Apple, κ.λπ.), οι οποίες συντονίζουν και τυποποιούν την ανάπτυξη του διαύλου αυτού. Σύντομα θα δούμε PCI με υψηλότερη ταχύτητα διαύλου (66 MHz) και μεγαλύτερο εύρος ζώνης (64 bits). Εντούτοις, εναλλακτικοί δίαυλοι υπάρχουν ήδη στην αγορά. Ένα ζωντανό παράδειγμα είναι ο AGP δίαυλος (Accelerated Graphics Port). Ο AGP είναι βασικά ένας 66MHz PCI δίαυλος, ο οποίος είναι εμπλουτισμένος με άλλες τεχνολογικές δυνατότητες και είναι κατάλληλος για συστήματα γραφικών.

121 Δίαυλος AGP 121 Τι είναι ο AGP Η ανάγκη να αυξημένο εύρος ζώνης μεταξύ επεξεργαστή και υποσυστήματος γραφικών, αρχικά οδήγησε στην ανάπτυξη του τοπικού διαύλου εισόδου-εξόδου αρχίζοντας από τον VLB και τελικώς οδήγησε στο δίαυλο PCI. Η τάση αυτή συνεχίστηκε και η ανάγκη για μεγαλύτερο εύρος ζώνης πιέζει ξανά για να ξεπεραστούν τα όρια του διαύλου PCI. Όπως και πάνω στο δίαυλο ISA, έτσι και στον PCI, η κίνηση αρχίζει να γίνεται πολύ βαριά σε υπολογιστές υψηλού επιπέδου, όπου έχουμε κάρτες video, σκληρούς δίσκους, και άλλα περιφερειακά να ανταγωνίζονται όλα για το ίδιο εύρος ζώνης. Για να ξεπεραστεί ο κορεσμός του διαύλου PCI από την πληροφορία των γραφικών, έχει δημιουργηθεί από την Intel μία νέα διασύνδεση, σχεδιασμένη ειδικά για υποσυστήματα γραφικών και ονομάζεται Accelerated Graphics Port ή AGP. Ο AGP αναπτύχθηκε να καλύψει τις υψηλές απαιτήσεις σε γραφικά. Με τη χρήση του AGP απαιτείται και ο επεξεργαστής αλλά και το chipset να επεξεργάζονται περισσότερη πληροφορία και έτσι γίνεται καλύτερη χρήση του υπολογιστικού συστήματος. Ένα άλλο θέμα είναι η συνεχώς αυξανόμενη ζήτηση για μνήμη γραφικών. Καθώς ο υπολογισμός 3D γίνεται όλο και πιο κυρίαρχος στη χρήση, πολύ μεγαλύτερες ποσότητες μνήμης απαιτούνται όχι μόνο για εικόνες οθόνης, αλλά και για τρισδιάστατους υπολογισμούς. Υπάρχουν όμως δύο προβλήματα με αυτό: Το κόστος: Η μνήμης της κάρτας γραφικών είναι πολύ ακριβή συγκριτικά με την κανονική κύρια μνήμη. Περιορισμένο μέγεθος: Η ποσότητα της μνήμης σε μία κάρτα γραφικών είναι περιορισμένη. Αν αποφασίσουμε να βάλουμε 6 MB σε μία κάρτα, χρειαζόμαστε 4 MB για καταχωρητή εικόνας και μένουν 2 MB μνήμης για να γίνονται τρισδιάστατοι υπολογισμοί. Δεν είναι εύκολο να επεκτείνουμε αυτή τη μνήμη και δεν μπορούμε να τη χρησιμοποιήσουμε για οτιδήποτε άλλο αν δε χρειάζεται για επεξεργασία γραφικών, συνεπώς μένει αχρησιμοποίητη. Ο AGP ξεπερνά αυτά τα προβλήματα επιτρέποντας στον επεξεργαστή γραφικών, που βρίσκεται πάνω στην κάρτα γραφικών, να προσπελάσει την κύρια μνήμη του συστήματος για να κάνει τους υπολογισμούς που αυτός θέλει. Αυτό είναι πολύ αποδοτικό, επειδή αυτή η μνήμη μπορεί να διαμοιραστεί δυναμικά μεταξύ του επεξεργαστή συστήματος και του επεξεργαστή γραφικών, ανάλογα με τις ανάγκες του συστήματος. Η ιδέα πίσω από τον AGP είναι απλή: δημιουργεί μία γρήγορη, αφοσιωμένη διασύνδεση μεταξύ του chipset γραφικών και του επεξεργαστή του συστήματος. Η διασύνδεση είναι μόνο μεταξύ αυτών των δύο συσκευών και έχει τρία σημαντικά πλεονεκτήματα: κάνει ευκολότερη την υλοποίηση της θύρας, κάνει ευκολότερη την αύξηση της ταχύτητας του AGP και κάνει δυνατή την τοποθέτηση βελτιώσεων στη σχεδίαση, η οποία είναι ειδική για γραφικά.

122 122 Δίαυλος AGP Ο AGP θεωρείται θύρα επικοινωνίας και όχι ένας δίαυλος, επειδή περιλαμβάνει μόνο δύο συσκευές (επεξεργαστή και κάρτα γραφικών) και επειδή δεν είναι επεκτάσιμος. Ένα από τα μεγαλύτερα πλεονεκτήματα του AGP είναι ότι απομονώνει το υποσύστημα γραφικών από τον υπόλοιπο υπολογιστή, έτσι δεν είναι τόσο πολύ ένα σημείο τριβής για το εύρος ζώνης εισόδου-εξόδου, όσο ο δίαυλος PCI. Απομακρύνοντας την κάρτα γραφικών από το δίαυλο PCI, οι άλλες συσκευές του υπολογιστή, όπως είναι φυσικό, θα κερδίσουν από το βελτιωμένο εύρος ζώνης. Η τεχνολογία του AGP είναι νέα και παρουσιάστηκε στην αγορά το Η πρώτη υποστήριξη για αυτή τη νέα τεχνολογία βρίσκεται στο 440LX Pentium II chipset της Intel. Ένας από τους στόχους της Intel με τον AGP, ήταν να δημιουργήσει υψηλού επιπέδου γραφικά, χωρίς να χρειάζεται να υπάρχουν πολύ πολύπλοκες κάρτες γραφικών. Αρχικά, ο AGP διαδόθηκε ότι θα ήταν ένα χαρακτηριστικό του 430TX Pentium socket 7 chipset, αλλά κάτι τέτοιο δεν έγινε πραγματικότητα. Σήμερα πλέον, η Via και άλλες εταιρίες, είναι αυτές που φέρουν το μέλλον στην ανάπτυξη των chipsets και αρκετά τέτοια αναπτύσσονται, που έχουν την ικανότητα υποστήριξης AGP. Διασύνδεση AGP Η διασύνδεση του AGP είναι κατά πολλούς τρόπους παρόμοια με αυτή του PCI. Η υποδοχή είναι κατασκευαστικά ίδια σε σχήμα και μέγεθος, αλλά είναι μεγαλύτερο πάνω στη μητρική πλακέτα από ότι είναι οι υποδοχές του PCI. Η προδιαγραφή του AGP είναι πραγματικά βασισμένη στην προδιαγραφή PCI 2.1, η οποία περιλαμβάνει μία ταχύτητα 66 MHz με ένα πολύ υψηλό εύρος ζώνης, κάτι το οποίο ποτέ δεν υλοποιήθηκε σε προσωπικό υπολογιστή. Οι AGP μητρικές έχουν μόνο μία υποδοχή κάρτας επέκτασης για AGP κάρτα και συνήθως μία λιγότερη υποδοχή για PCI κάρτες. Υποδοχή του διαύλου AGP Εύρος, ταχύτητα και εύρος ζώνης του AGP Ο δίαυλος AGP έχει εύρος 32 bits όπως και ο PCI, αλλά αντί να τρέχει στο μισό της ταχύτητας του διαύλου συστήματος (μνήμης) σαν τον PCI, τρέχει στην ίδια ταχύτητα με αυτόν. Αυτό σημαίνει ότι μία τυπική Pentium II μητρική AGP τρέχει στα 66 MHz αντί για 33

123 όπως η PCI, κάτι που φυσικά αυξάνει αμέσως το εύρος ζώνης στο διπλάσιο. Αντί του ορίου των MB/s που έχει ο PCI, ο AGP στη χαμηλότερη ταχύτητά του, έχει ένα εύρος ζώνης της τάξεως των MB/s, έχοντας επίσης και το κέρδος του να μην πρέπει να διαμοιράζεται το ίδιο εύρος ζώνης με άλλες PCI συσκευές. Πέραν από το διπλασιασμό της ταχύτητας του διαύλου, ο AGP έχει ορίσει ένα 2Χ mode, το οποίο χρησιμοποιεί ειδική μέθοδος κωδικοποίησης του σήματος, κάτι το οποίο επιτρέπει αποστολή των διπλών δεδομένων μέσω της θύρας στην ίδια συχνότητα ρολογιού. Αυτό που κάνει το hardware είναι να στέλνει πληροφορία και στην αρχή αλλά και στο μέσο ενός παλμού ρολογιού. Σε κάθε κύκλο, το ρολόι αλλάζει το σήμα από "0" σε "1" και ξανά πίσω σε "0". Ενώ ο PCI για παράδειγμα μεταφέρει δεδομένα μόνο σε μία από αυτές τις αλλαγές του κύκλου ρολογιού, ο AGP μεταφέρει και στις δύο. Το αποτέλεσμα αυτού είναι ότι η απόδοση διπλασιάζεται ξανά σε ένα θεωρητικό εύρος ζώνης MB/s. Υπάρχει ακόμη ένα σχέδιο υλοποίησης 4X mode, το οποίο θα εκτελεί 4 μεταφορές ανά κύκλο ρολογιού με αποτέλεσμα να έχουμε ένα εύρος ζώνης της τάξεως των 1,017 MB/s! Αυτό είναι πολύ εντυπωσιακό, αλλά πρέπει να περιμένουμε ακόμη γιατί η τεχνολογία αυτή είναι πολύ νέα και δεν ξέρουμε αν είναι κάτι τέτοιο εφικτό. Είναι βέβαια πολύ καλό να μιλούμε για ένα εύρος ζώνης της τάξεως του 1 GB/s, αλλά υπάρχουν πολλά προβλήματα: αυτό είναι πολύ μεγαλύτερο από το εύρος ζώνης του διαύλου μνήμης που σήμερα χρησιμοποιείται στους υπολογιστές. Ο δίαυλος δεδομένων ενός Pentium ή μεταγενέστερου υπολογιστή είναι 64 bits ευρύς και τρέχει στα 66 MHz. Αυτό δίνει ένα συνολικό εύρος ζώνης της τάξης των MB/s, έτσι το 1 GB/s μέγιστο, δεν πρόκειται να βελτιώσει πολύ την απόδοση αν δεν κάνουμε το δίαυλο μνήμης να τρέχει πάνω από 66 MHz. Μελλοντικές μητρικές και chipsets θα ανεβάσουν το δίαυλο μνήμης στα 100 MHz, κάτι το οποίο θα έχει ως αποτέλεσμα ένα εύρος ζώνης ίσο με 763 MB/s, το οποίο θα είναι καλύτερο προς την κατεύθυνση του 4X mode, αλλά και πάλι όχι αρκετό. Επίσης, αξίζει να θυμηθούμε ότι ένας επεξεργαστής χρειάζεται να έχει πρόσβαση και στην κύρια μνήμη, όχι μόνο στο υποσύστημα γραφικών. Αν όλο το εύρος ζώνης (508.6 MB/s) καταλαμβάνεται από τα γραφικά, μέσω του AGP, θα υπάρχει μεγάλο πρόβλημα με τον επεξεργαστή. Επίσης, αν πάμε στα 100 MHz ταχύτητας διαύλου μνήμης θα έχουμε μικρότερο πρόβλημα με αυτό το θέμα. 123 Διοχέτευση αιτήσεων Κωδικοποίηση σήματος για AGP (2X mode) και PCI Ένα μεγάλο πλεονέκτημα απόδοσης, που έχει ο AGP είναι η ικανότητά του να διοχετεύει τις απαιτήσεις για δεδομένα. Η διοχέτευση χρησιμοποιήθηκε πρώτα από τους σύγχρονους

124 επεξεργαστές, σαν ένας τρόπος βελτίωσης της απόδοσης, αφήνοντας τα διαδοχικά μέρη των εργασιών επικαλυπτόμενα. Με τον AGP, το chipset γραφικών μπορεί να χρησιμοποιήσει μία παρόμοια τεχνική, όταν ζητείται πληροφορία από τη μνήμη, κάτι το οποίο βελτιώνει την απόδοση. Με την μέθοδο αυτή ο AGP υπερκαλύπτει τους χρόνους προσπέλασης της μνήμης ή του διαύλου για μία αίτηση ("ν") δίνοντας τις ακόλουθες αιτήσεις ("ν+1", "ν+2"...κλπ.). Στο δίαυλο PCI η αίτηση "ν+1" δεν πρόκειται να αρχίσει αν πρώτα δεν τελειώσει η μεταφορά δεδομένων της αίτησης "ν". Ο δίαυλος AGP, όπως και ο PCI, μπορεί να μεταφέρει δεδομένα κατά ριπή, να μεταφέρει δηλαδή πολλαπλά συνεχόμενα σύνολα (θέσεις μνήμης) δεδομένων για μία και μόνο αίτηση. Αυτό αυξάνει την απόδοση γιατί στο χρόνο που μεσολαβεί μέχρι την ανεύρεση των δεδομένων της πρώτης αίτησης στη μνήμη, μπορεί να γίνει αποστολή άλλων αιτήσεων. Έτσι, όταν ολοκληρωθεί η αποστολή αιτήσεων, θα αρχίσει αμέσως, όπως βλέπουμε στο παρακάτω σχήμα, η μεταφορά δεδομένων της πρώτης αίτησης, μετά της δεύτερης κοκ. 124 Διοχέτευση του διαύλου AGP Προσπέλαση κύριας μνήμης από τον AGP Ένα από τα κυριότερα χαρακτηριστικά του AGP είναι η δυνατότητα που έχει να διαμοιράζεται την κύρια μνήμη του συστήματος με το chipset γραφικών. Ο λόγος που αυτή η δυνατότητα ενσωματώθηκε στη σχεδίασή του, είναι για να επιτρέψει στο υποσύστημα γραφικών να έχει πρόσβαση σε μεγαλύτερες ποσότητες μνήμης, για επεξεργασία κυρίως 3D, χωρίς να χρειάζεται να τοποθετηθούν για το σκοπό αυτό μεγάλες ποσότητες της ακριβής ειδικής μνήμης πάνω στις κάρτες γραφικών. Τώρα η μνήμη που είναι πάνω στην κάρτα γραφικών, μοιράζεται για καταχωρητής εικόνας και άλλες χρήσεις που η κάρτα έχει για τη μνήμη. Από τη στιγμή που ο καταχωρητής εικόνας απαιτεί τεχνολογία μνήμης υψηλής απόδοσης, οι περισσότερες κάρτες χρησιμοποιούν αυτή την καλύτερη τεχνολογία για όλη τη μνήμη της κάρτας, κάτι το οποίο είναι συνήθως υπερβολικό για τα υπόλοιπα μέρη της. Πρέπει ωστόσο να πούμε, ότι ο AGP δεν είναι ίδιος με την unified memory architecture (UMA). Κάτω από UMA, όλη η μνήμη της κάρτας γραφικών, συμπεριλαμβανομένου και του καταχωρητή εικόνας, αναλαμβάνεται από την κύρια μνήμη. Κάτω από AGP, ο καταχωρητής εικόνας παραμένει στην κάρτα γραφικών, εκεί δηλαδή που ανήκει. Ο καταχωρητής εικόνας είναι το πλέον σημαντικό μέρος της μνήμης γραφικών και απαιτεί την υψηλότερη απόδοση, έτσι είναι καλύτερα να μένει πάνω στην κάρτα ώστε να μπορούν να χρησιμοποιηθούν ειδικές τεχνολογίες όπως VRAM. Αυτό που κάνει πάντως στην ουσία ο AGP, είναι να επιτρέπει στον επεξεργαστή γραφικών να προσπελαύνει την κύρια μνήμη για άλλες δουλειές που απαιτούν μνήμη, όπως οι λειτουργίες 3D.

125 AGP απαιτήσεις 125 Υπάρχει ένας αριθμός από διαφορετικές απαιτήσεις προκειμένου να μπορέσει το σύστημα να ωφεληθεί από το πλεονέκτημα του AGP: AGP κάρτα γραφικών: Αυτό είναι κάτι προφανές. AGP chipset μητρική: Το chipset στη μητρική πρέπει να είναι ικανό να υποστηρίζει AGP. Υποστήριξη λειτουργικού συστήματος: Το λειτουργικό σύστημα πρέπει να είναι ικανό να υποστηρίζει τη νέα διασύνδεση, μέσω εσωτερικών ρουτινών και οδηγών. Υποστήριξη οδηγών: Φυσικά η κάρτα γραφικών χρειάζεται ειδικούς οδηγούς προκειμένου να υποστηρίξει τον AGP και επίσης να εκμεταλλευτεί τα ειδικά χαρακτηριστικά του 2X mode.

126 Εισαγωγή Μνήμη Συστήματος 126 Η μνήμη του συστήματος (system memory), είναι ο χώρος στον οποίο αποθηκεύονται τα προγράμματα που "τρέχουν" σε μια δεδομένη χρονική στιγμή, καθώς και τα δεδομένα που χρησιμοποιούνται και παράγονται από αυτά τα προγράμματα. Ο όρος μνήμη (memory) είναι γενικός και αναφέρεται σε κάθε τμήμα του υπολογιστή, που μπορεί να αποθηκεύσει προσωρινά ή μόνιμα κάποιες πληροφορίες. Ωστόσο, ο όρος "μνήμη" αναφέρεται κυρίως στην κύρια μνήμη του συστήματος (main system memory), δηλαδή στο χώρο που αποθηκεύονται εντολές προς εκτέλεση από τον επεξεργαστή, καθώς και τα αντίστοιχα δεδομένα, που χρειάζονται για να εκτελεστούν σωστά οι παραπάνω εντολές. Η μνήμη του συστήματος παίζει σημαντικό ρόλο στη σωστή λειτουργία του υπολογιστή, αφού συνεισφέρει θετικά σε διάφορες παραμέτρους: Απόδοση: Το είδος και η ποσότητα της μνήμης του συστήματος επηρεάζει τη συνολική απόδοση του υπολογιστή. Για παράδειγμα, ανεπάρκεια στη μνήμη του συστήματος, μπορεί να αναγκάσει τον επεξεργαστή να εργάζεται μέχρι και 50% κάτω από την πραγματική του απόδοση. Υποστήριξη Λογισμικού: Τα νέα προγράμματα απαιτούν πολύ περισσότερη μνήμη σε σχέση με τα παλαιότερα. Έτσι, μεγαλύτερα ποσά μνήμης μας δίνουν τη δυνατότητα να "τρέξουμε" τα σύγχρονα προγράμματα που κυκλοφορούν Αξιοπιστία και Σταθερότητα: Ανεπαρκής ποσότητα μνήμης καθώς και λανθασμένος τύπος μπορεί να προκαλέσουν την εμφάνιση διαφόρων μυστήριων προβλημάτων στο σύστημα. Αν χρησιμοποιήσουμε μνήμη υψηλής ποιότητας στην κατάλληλη ποσότητα, το σύστημα θα λειτουργεί ομαλά και τα προβλήματα που σχετίζονται με τη μνήμη σχεδόν θα εκλείψουν. Ωστόσο, στην περίπτωση που το σύστημά μας δεν υποστηρίζει κάποιον τύπο μνήμης υψηλής ποιότητας, είναι σίγουρο ότι θα εμφανιστούν σημαντικά προβλήματα. Επομένως θα πρέπει να χρησιμοποιούμε τον κατάλληλο τύπο μνήμης και στην κατάλληλη ποσότητα, προκειμένου να λειτουργεί η μνήμη σύμφωνα με τις προδιαγραφές της. Αναβάθμιση: Στην αγορά κυκλοφορούν διαφόρων τύπων μνήμες, από τις οποίες άλλες είναι πάρα πολύ δημοφιλείς και άλλες λιγότερο. Αν υπάρχει πρόθεση για μελλοντική αναβάθμιση του συστήματος, προτείνεται η επιλογή της μνήμης να είναι τέτοια που θα μπορεί να χρησιμοποιηθεί και στο νέο σύστημα.

127 Μνήμη Ανάγνωσης (ROM) 127 Εισαγωγή Η μνήμη ROM (Read Only Memory- Μνήμη Μόνο Ανάγνωσης) είναι ένας ειδικός τύπος μνήμης, τα περιεχόμενα της οποίας δε μεταβάλλονται. Έτσι, η μνήμη ROM είναι μνήμη μόνο ανάγνωσης, ενώ η κύρια μνήμη είναι μνήμη ανάγνωσης αλλά και γραφής. Υπάρχουν δυο κυρίως λόγοι εξαιτίας των οποίων χρησιμοποιείται η ROM στους υπολογιστές: Μονιμότητα: Σε πολλές εφαρμογές, όπως στους υπολογιστές (BIOS), στις ηλεκτρικές συσκευές, στα ηλεκτρονικά παιχνίδια κάποια δεδομένα πρέπει να παραμείνουν αποθηκευμένα ακόμα και μετά τη διακοπή της τροφοδοσίας. Για παράδειγμα, μέσα στο BIOS (Basic Input Output System) κάθε υπολογιστή είναι αποθηκευμένες δυαδικές πληροφορίες, που είναι απαραίτητες για την εκκίνησή του καθώς και για τον έλεγχο της σωστής λειτουργίας του. Οι πληροφορίες αυτές πρέπει να διατηρούνται πάντοτε, ανεξάρτητα από το αν ο υπολογιστής τροφοδοτείται ή όχι με ρεύμα. Η ROM, εξαιτίας του γεγονότος ότι διατηρεί τα περιεχόμενα της ονομάστηκε μη πτητική μνήμη (non-volatile storage). Οι σκληροί δίσκοι είναι επίσης μη πτητική μνήμη, ενώ η κύρια μνήμη δεν είναι, αφού δε διατηρεί τα περιεχόμενά της μετά τη διακοπή της τροφοδοσίας του υπολογιστή με ρεύμα. Ασφάλεια: Το γεγονός ότι δεν μπορούμε να μεταβάλλουμε τα περιεχόμενα μιας μνήμης ROM, έχει ως αποτέλεσμα να αποτελεί ένα είδος προστασίας έναντι των εσκεμμένων (ή τυχαίων) απόπειρων μεταβολής των περιεχομένων της. Έτσι, υπάρχει προστασία έναντι των ιών (τεχνικά υπάρχει περίπτωση να μολυνθεί από ιό μόνο ένα είδος μνήμης ROM: η μνήμη EPROM). Όπως ειπώθηκε παραπάνω, η μνήμη ROM χρησιμοποιείται για την αποθήκευση προγραμμάτων χαμηλού επιπέδου, που πρέπει να είναι διαθέσιμα κάθε στιγμή. Το πιο χαρακτηριστικό παράδειγμα είναι το BIOS program, που είναι αποθηκευμένο σε ένα ειδικό chip μνήμης ROM, το οποίο είναι γνωστό και ως system BIOS ROM. Αν και το βασικό κριτήριο διαχωρισμού των μνημών ROM από τα υπόλοιπα είδη μνημών, είναι η μονιμότητα των περιεχομένων τους, υπάρχουν κάποιοι τύποι ROMs στους οποίους μπορούμε, ακολουθώντας ειδικές διαδικασίες, να μεταβάλλουμε τα περιεχόμενά τους. Τέλος, θα πρέπει να γίνει κατανοητό, ότι η ταχύτητα μεταφοράς δεδομένων από μια μνήμη ROM είναι σαφώς μικρότερη από αυτή μιας μνήμης RAM, γι αυτό και τα περιεχόμενα της ROM αντιγράφονται στην κύρια μνήμη πριν χρησιμοποιηθούν για οποιοδήποτε σκοπό. Τυπική ROM Τα δεδομένα μιας τυπικής ROM (Standard ROM) εισάγονται κατά την κατασκευή της, με την έκθεση ενός φωτοευαίσθητου υλικού μέσω μιας μάσκας που περιέχει το επιθυμητό σχέδιο των bits και με την αφαίρεση στην συνέχεια της εκτεθειμένης (ή της μη εκτεθειμένης) επιφάνειας. Με τον τρόπο αυτό "καίγονται" κάποιοι σύνδεσμοι και αποτυπώνονται οι δυαδικές πληροφορίες. Από τη στιγμή που γίνει η εγγραφή της ROM, οι πληροφορίες δεν μπορούν να αλλάξουν, ενώ αν παρουσιαστεί τέτοια ανάγκη πρέπει να αντικατασταθεί το chip της ROM. Οι ROMs είναι πολύ φθηνότερες από τις RAMs, όταν γίνεται παραγγελία μεγάλων ποσοτήτων για την κάλυψη του κόστους κατασκευής της μάσκας. Δεν είναι όμως καθόλου ευέλικτες, αφού δεν μπορούν να τροποποιηθούν μετά την εγγραφή τους.

128 Προγραμματιζόμενη Μνήμη Ανάγνωσης Μόνο 128 Για να διευκολυνθεί η ανάπτυξη νέων εφαρμογών, αναπτύχθηκαν οι PROΜs (Programmable Read Only Memories - Προγραμματιζόμενες Μνήμες Μόνο Ανάγνωσης), που είναι πιο ευέλικτες, γιατί επιτρέπουν τον προγραμματισμό τους όχι μόνο από τον κατασκευαστή, αλλά και από το χρήστη. Ο χρήστης μπορεί να "γράψει" το πρόγραμμα του, χρησιμοποιώντας μια ειδική μηχανή γνωστή ως "προγραμματιστής PROM". Η μνήμη τοποθετείται στη μηχανή αυτή που έχει ήδη διαβάσει το πρόγραμμα και βραχυκυκλώνει (καίει) τους συνδέσμους ( fusible links), που στη PROM παριστάνουν "1". Από τη στιγμή αυτή, οι πληροφορίες που αποθηκεύτηκαν παραμένουν αναλλοίωτες. Ο προγραμματισμός της PROM είναι γνωστός και ως burning και κατά κάποιο τρόπο είναι μια διαδικασία παρόμοια με την εγγραφή των CD-R Διαγράψιμη PROM Το κάψιμο των συνδέσμων σε μια μνήμη PROM Η μνήμη EPROM (Erasble PROMs - Διαγράψιμη PROM) είναι η εξέλιξη της απλής PROM. Το χαρακτηριστικό των EPROMs είναι, ότι μπορούν να προγραμματιστούν πολλές φορές, διατηρώντας πάντα τα χαρακτηριστικά μιας PROM. Έτσι, όταν το κρυσταλλικό πλαίσιο μιας EPROM εκτίθεται σε ισχυρή υπεριώδη ακτινοβολία για 15 λεπτά περίπου, όλα τα bits που περιέχει γίνονται ίσα με "1". Στη συνέχεια, μπορούν να γραφτούν πληροφορίες σε αυτές με τη βοήθεια ενός προγραμματιστή PROM. Οι EPROMs είναι πολύ φθηνότερες από τις PROMs γιατί μπορούν να ξαναχρησιμοποιηθούν. Οι EPROMs κατά κάποιο τρόπο μοιάζουν με τα CD-RW, αφού μπορούμε να σβήσουμε τα περιεχόμενά τους και να γράψουμε νέες πληροφορίες.

129 129 Ηλεκτρικά Διαγράψιμη PROM Προγραμματιστής PROM Η μνήμη EEPROM (Electrically Erasble PROMs - Ηλεκτρικά Διαγράψιμη PROM - EEPROM) αποτελεί έναν τύπο EPROM, στον οποίο τα περιεχόμενα μπορούν να σβηστούν με την εφαρμογή ηλεκρικών παλμών και έτσι δε χρειάζεται να τοποθετήσουμε το chip της μνήμης στον ειδικό θάλαμο με τις υπεριώδης ακτίνες. Όλη η διαδικασία ελέγχεται από ειδικό λογισμικό. Στη συνέχεια, μπορούν να ξαναπρογραμματιστούν όπως και οι απλές ΕPROMs. Οι ΕEPROMs διαφέρουν από τις μνήμες RAM στο ότι η εγγραφή, αλλά και η διαγραφή ενός byte απαιτεί περισσότερο χρόνο αν και οι χρόνοι προσπέλασης για την ανάγνωση ROM, PROM, EPROM, και RAM είναι συγκρίσιμοι (λίγες εκατοντάδες nanoseconds). Η μνήμη EEPROM όπως φαίνεται με μικροσκόπιο (μεγένθυνση 1:3000) Τέλος, έχουν αναπτυχθεί οι EAROMs (Electrically Alterable ROM - Ηλεκτρικά Διαγράψιμη ROM) στις οποίες μπορούν να ξαναγραφτούν επιλεκτικά τα περιεχόμενα ορισμένων θέσεων τους, χωρίς να αποσυνδεθούν από τα άλλα κυκλώματα με τα οποία είναι συνδεδεμένες και χωρίς να εκτεθούν σε υπεριώδη ακτινοβολία. Η πιο κοινή εφαρμογή των μνημών EEPROM είναι το chip EEPROM στο οποίο αποθηκεύεται το BIOS program. Συγκεκριμένα, μπορούμε να ξαναπρογραμματίσουμε από την αρχή ή να αναβαθμίσουμε το BIOS program ενός υπολογιστή χωρίς να εξάγουμε το chip, αλλά με τη βοήθεια ειδικού λογισμικού. Η παραπάνω διαδικασία είναι γνωστή και ως flashing BIOS.

130 Μνήμη Τυχαίας Προσπέλασης (RAM) 130 Εισαγωγή Μια μονάδα μνήμης στην ουσία είναι ένα σύνολο από δυαδικά κύτταρα αποθήκευσης (τα δυαδικά κύτταρα μπορούν να αποθηκεύσουν είτε την τιμή "0", είτε την τιμή "1"). Πάνω στην κάρτα της μνήμης υπάρχουν και διάφορα ολοκληρωμένα κυκλώματα που ελέγχουν τη λειτουργία της (τρόπος αποθήκευσης και διαχείρησης της πληροφορίας, μεταφορά πληροφοριών από και προς αυτή). Για την καλύτερη κατανόηση της RAM θα μπορούσαμε να τη φανταστούμε ως ένα διδιάστατο πίνακα (n γραμμές και m στήλες), όπου σε κάθε κελί αποθηκεύεται η ελάχιστη πληροφορία, δηλαδή ένα bit "0" ή "1". Κάθε γραμμή του πίνακα έχει μια ξεχωριστή "διεύθυνση", που βοηθάει στην άμμεση προσπέλαση της πληροφορίας που είναι αποθηκευμμένη στα στοιχεία της γραμμής. Τα κελιά της μνήμης όπως φαίνονται με μικροσκόπιο Η ονομασία RAM προέρχεται από τη σύντμηση των λέξεων "Random Access Memory- Μνήμη τυχαίας προσπέλασης" και περιγράφει στην ουσία τον τρόπο λειτουργίας της RAM. Έτσι, οποιαδήποτε αίτηση (ανάκληση ή αποθήκευση πληροφοριών) για τη RAM συνοδεύεται και από τη διεύθυνση, στην οποία θα εκτελεστεί η αίτηση. Επειδή μπορεί να γίνει προσπέλαση σε οποιαδήποτε διεύθυνση για μεταφορά πληροφορίας, προέκυψε το όνομα "μνήμη τυχαίας προσπέλασης" που συντμήθηκε στον αγγλικό όρο RAM. Οι δυαδικές πληροφορίες αποθηκεύονται σαν ομάδες από bits, που είναι γνωστές ως "λέξεις" ("words"). Τα bits κάθε λέξης μεταφέρονται μέσα και έξω από τη μνήμη, όλα μαζί ως μια ομάδα.το περιεχόμενο κάθε λέξης είναι ένα σύνολο από "0" ή "1" και μπορεί να αντιπροσωπεύει έναν αριθμό, μια εντολή, έναν ή περισσότερους αλφαριθμητικούς χαρακτήρες ή ακόμα, οποιαδήποτε πληροφορία κωδικοποιημένη σε δυαδικό σύστημα. Συνήθως, μια ομάδα των 8 bits χαρακτηρίζεται ως 1 byte. Οι περισσότερες μνήμες υπολογιστών χρησιμοποιούν λέξεις που έχουν μήκος πολλαπλάσιο των 8 bits. Έτσι, μια λέξη των 16 bits περιλαμβάνει 2 bytes, μια λέξη των 32 bits περιλαμβάνει 4 bytes κ.ο.κ.

131 131 Τρόπος λειτουργίας της κύριας μνήμης RAM Η κύρια μνήμη διαφέρει από τη μνήμη ROM σε δυο σημεία: πρώτον, δεν μπορεί να διατηρήσει τα περιεχόμενά της όταν διακόπτεται η τροφοδοσία του υπολογιστή με ηλεκτρικό ρεύμα. Πρόκειται επομένως για μια πτητική μνήμη (volatile memory). Δεύτερον, από μια μνήμη RAM μπορούμε τόσο να διαβάσουμε, όσο και να γράψουμε πληροφορίες. Επομένως, μια πιο σωστή ονομασία για τη RAM, θα ήταν RWM (Read Write Memory). Η ονομασία RAM είναι λανθασμένη (έχει όμως επικρατήσει), αφού και η μνήμη ROM είναι τυχαίας προσπέλασης. Ο πραγματικός λόγος που κυριάρχησε η ονομασία RAM είναι το γεγονός ότι οι πρώτες εκδόσεις των μνημών ανάγνωσης-γραφής δεν υποστήριζαν τυχαία (random access) προσπέλαση, παρά μόνο σειριακή προσπέλαση (sequential access). Ιστορική Αναδρομή Στη δεκαετία του '80, ο ίδιος ο Bill Gates είχε δηλώσει ότι με 1 ΜΒ RAM έχουμε τόσο μεγάλη χωρητικότητα μνήμης, που ποτέ σχεδόν δε θα χρησιμοποιούνταν στο σύνολό της. Αυτό όμως γρήγορα αποδείχτηκε αναληθές. Αρχικά, οι προσωπικοί υπολογιστές ήταν εφοδιασμένοι με 64 ΚΒ, 256 ΚΒ, 512 ΚΒ και τελικά 1 ΜΒ μνήμης RAM. Για παράδειγμα, ο Commodore 64 είχε 64 ΚΒ RAM και "δούλευε" περίφημα σύμφωνα με τις απαιτήσεις της εποχής. Στη δεκαετία του '90 εμφανίστηκαν στην αγορά κάποια "εξελιγμένα" λειτουργικά συστήματα, όπως τα Windows. Τότε είναι που άρχισε και ο αγώνας δρόμου για το μέγεθος της μνήμης RAM, με φυσικό επακόλουθο τη μεγάλη πτώση των τιμών. Τα Windows, στην αρχική τους έκδοση, μπορούσαν να διευθυνσιοδοτήσουν μέχρι και 2 ΜΒ RAM, όμως γρήγορα τα 4 ΜΒ RAM έγιναν το πρότυπο. Σήμερα, τα 32 ΜΒ RAM σε PC είναι το ελάχιστο, ενώ στο κοντινό μέλλον τα 128 ΜΒ RAM θα αποτελούν το πρότυπο. Το πιο διαδεδομένο λειτουργικό σύστημα, τα Windows 95, απαιτούν άφθονη RAM, ενώ η νέα έκδοσή τους, τα Windows 98, έχουν τις ίδιες περίπου απαιτήσεις σε RAM, όμως κάνουν καλύτερη διαχείριση της διαθέσιμης RAM. Στατική RAM Η στατική RAM (Static RAM - SRAM) είναι ένας τύπος μνήμης RAM που έχει την ικανότητα να διατηρεί αναλλοίωτα τα περιεχόμενά της για όσο χρονικό διάστημα τροφοδοτείται με ρεύμα, χωρίς να απαιτείται κάποια επιπλέον εξωτερική επέμβαση. Στις SRAMs

132 χρησιμοιούνται ειδικοί διακόπτες (switches), που μπορεί να είναι ανοικτοί ή κλειστοί (on/off). Ο τρόπος κατασκευής της SRAM μοιάζει περισσότερο με την τεχνολογία που εφαρμόζεται στους επεξεργαστές: πολλά ολοκληρωμένα κυκλώματα, που έχουν τοποθετηθεί πάνω σε μια μικρή πλακέτα πυριτίου. Για την αποθήκευση κάθε bit στη μνήμη SRAM, απαιτούνται τέσσερα με έξι transistors, γι αυτό και το μέγεθος της SRAM είναι μεγαλύτερο από το μέγεθος της DRAM (κάθε bit χρειάζεται μόνο έναν πυκνωτή). Η πολυπλοκότητα και ο μεγάλος αριθμός transistors που χρησιμοποιούνται για τη μνήμη SRAM, είναι ο βασικότερος λόγος, εξαιτίας του οποίου η μνήμη SRAM έχει μεγαλύτερο κόστος από την DRAM. 132 Δυναμική RAM Ένα chip στατικής μνήμης RAM (SRAM) Η δυναμική RAM (Dynamic RAM - DRAM) είναι ένας τύπος RAM, που μπορεί να διατηρήσει αναλλοίωτα τα περιεχόμενά της, μόνο αν γίνεται συνεχής αναζωογόνηση σε αυτά από ένα ειδικό κύκλωμα που ονομάζεται refresh circuit (κύκλωμα αναζωογόνησης). Το κύκλωμα αναζωογόνησης διαβάζει με μεγάλη συχνότητα τα περιεχόμενα κάθε πυκνωτή (σε κάθε πυκνωτή μπορούμε να αποθηκεύσουμε ένα bit), ανεξάρτητα αν τα περιεχόμενα του πυκνωτή χρησιμοποιούνται ή όχι εκείνη τη στιγμή. Εξαιτίας του τρόπου κατασκευής του κυκλώματος αναζωογόνησης, το διάβασμα των περιεχομένων των πυκνωτών έχει ως αποτέλεσμα και τη διατήρηση τους. Αν το κύκλωμα αναζωογόνησης δεν υπήρχε, τότε τα περιεχόμενα της μνήμης θα χάνονταν ακόμα και όταν ο υπολογιστής τροφοδοτούνταν με ρεύμα. Η DRAM ονομάζεται δυναμική RAM, εξαιτίας της διαδικασίας αναζωογόνησης των περιεχομένων της. Όλοι οι υπολογιστές χρησιμοποιούν για κύρια μνήμη την DRAM αντί της SRAM, παρόλο που η DRAM είναι σημαντικά αργότερη και απαιτεί το κύκλωμα αναζωογόνησης. Ο λόγος που χρησιμοποιείται η DRAM είναι απλός: είναι πολύ πιο φθηνή από την SRAM, ενώ το chip της έχει μεγέθος περίπου ίσο με το 1/4 του μεγέθους του chip της SRAM. Οι μνήμες DRAM είναι μικρότερες σε μέγεθος και φθηνότερες από τις SRAMs, εξαιτίας του τρόπου κατασκευής τους. Στις SRAMs, για την αποθήκευση ενός μόνο bit απαιτούνται τέσσερα με έξι transistors, ενώ στις DRAMs για κάθε bit χρησιμοποιείται μόνο ένας πυκνωτής. Όταν ενεργοποιηθεί ο πυκνωτής κρατά ένα ηλεκτρικό φορτίο εάν πρέπει να αποθηκεύσει την πληροφορία "1", ενώ δεν έχει ηλεκτρικό φορτίο αν πρέπει να αποθηκεύσει την πληροφορία "0". Τα transistors χρησιμοποιούνται για να διαβάσουν το περιεχόμενο των πυκνωτών. Το βασικό πρόβλημα με τους πυκνωτές είναι ότι, μπορούν να διατηρήσουν το ηλεκτρικό φορτίο μόνο για μικρό χρονικό διάστημα, ενώ στη συνέχεια αποφορτίζονται. Το κύκλωμα αναζωογόνησης διαβάζει τα περιεχόμενα του πυκνωτή

133 (παρουσία φορτίου για την τιμή "1" και απουσία φορτίου για την τιμή "0") και πριν προλάβουν αυτά να αλλοιωθούν, τα αναζωογονεί (δηλαδή αν αντιληφθεί ηλεκτρικό φορτίο, το επαναφέρει σε μια ορισμένη ένταση, ενώ αν δεν αντιληφθεί ηλεκτρικό φορτίο, δεν κάνει τίποτα). 133 Ένας πυκνωτής που χρησιμοποιείται στις δυναμικές RAM (DRAM) Σύγκριση SRAM και DRAM Ο παραδοσιακός τύπος RAM είναι η DRAM (Dynamic RAM - Δυναμική RAM), ενώ υπάρχει και η SRAM (Static RAM - Στατική RAM). Η SRAM συνεχίζει να "θυμάται" τα περιεχόμενά της, ενώ η DRAM πρέπει να ενημερώνει (refresh) τα περιεχόμενά της κάθε milli second. Όσον αφορά το υλικό κατασκευής τους, η DRAM περιέχει μικροπυκνωτές (micro capacitor), ενώ στην SRAM συναντούμε διακόπτες (switches), που μπορούν να είναι ανοιχτοί ή κλειστοί (on/off). Έτσι λοιπόν, η SRAM ανταποκρίνεται γρηγορότερα από την DRAM. Ο χρόνος απόκρισης για την SRAM είναι μικρότερος των 4 ns και μπορεί να χρησιμοποιηθεί σε διαφορετικές εκδόσεις στην L2 Cache. Βέβαια, η DRAM είναι κατά πολύ φθηνότερη από την SRAM, ενώ συνεχώς αναπτύσονται νέοι τύποι DRAM, που είναι σαφώς γρηγορότεροι από τους παλιούς τύπους DRAM. Όπως είπαμε παραπάνω, η μνήμη SRAM, είναι στατική και δε χρειάζεται επομένως εξωτερική επέμβαση για να διατηρήσει τα περιεχόμενά της. Σε σχέση με τη μνήμη DRAM παρουσιάζει μερικά πλεονεκτήματα στα εξής θέματα: Απλότητα: Η SRAM δεν απαιτεί κάποιο εξωτερικό παράγοντα, ο οποίος θα ανανεώνει συνεχώς τα περιεχόμενά της, προκειμένου αυτά να παραμείνουν "αναλλοίωτα". Ταχύτητα: Η SRAM είναι σαφώς γρηγορότερη από την DRAM.

134 Ωστόσο, η SRAM παρουσιάζει τα παρακάτω μειονεκτήματα σε σχέση με την DRAM: Κόστος: Η SRAM έχει μεγαλύτερο κόστος αποθήκευσης για κάθε byte σε σχέση με τη μνήμη DRAM. Μέγεθος: Όσον αφορά το μέγεθος η SRAM καταλαμβάνει πολύ περισσότερο χώρο πάνω στο motherboard, σε σχέση με τη μνήμη DRAM. Συγκριτικά, έχει αποδειχθεί ότι η μνήμη SRAM είναι σαφώς ανώτερη από τη μνήμη DRAM. Ίσως κάποιος να αναρωτηθεί για ποιο λόγο δε χρησιμοποιούμε μόνο SRAMs στους υπολογιστές. Ο λόγος είναι κυρίως οικονομικός, αφού το κόστος της SRAM είναι μεγαλύτερο από το κόστος της DRAM. Δυστυχώς, το κόστος αγοράς, ακόμα και 32 ΜΒ SRAM είναι απογορευτικά υψηλό, με αποτέλεσμα να χρησιμοποιούμε για την κύρια μνήμη του συστήματος μνήμη DRAM. Η SRAM, βρίσκει εφαρμογή στην περίπτωση της L1 Cache και L2 cache. 134

135 Παράμετροι Μνήμης 135 Ο Ελεγκτής της μνήμης Σε κάθε υπολογιστή υπάρχει ένα ολοκληρωμένο κύκλωμα που ονομάζεται ελεγκτής μνήμης (memory controller) και ελέγχει τις λειτουργίες που σχετίζονται με τη μνήμη. Παράγει τα απαραίτητα σήματα για να γίνονται σωστά οι λειτουργίες της ανάγνωσης / γραφής στη μνήμη και συνδέει τη μνήμη με τα υπόλοιπα μέρη του υπολογιστή. Συνήθως, ο ελεγκτής μνήμης είναι ενσωματωμένος στο chipset συστήματος. Προσπέλαση μνήμης και χρόνος προσπέλασης Όταν διαβάζουμε ή γράφουμε στη μνήμη, λέμε ότι κάνουμε μια προσπέλαση (access) σε αυτή. Κάθε προσπέλαση στη μνήμη ελέγχεται από μια ειδική διαδικασία του ελεγκτή της μνήμης, η οποία παράγει τα σήματα που καθορίζουν πιο σημείο της μνήμης θα προσπελαστεί και τι είδους προσπέλαση (ανάγνωση / γραφή) θα γίνει. Για να κατανοήσουμε πως γίνεται η προσπέλαση στη μνήμη, θα πρέπει να αναφέρουμε τον τρόπο διευθυνσιοδότησης μέσα στο chip της. Έστω λοιπόν, ότι διαθέτουμε συνολικά 16 Mbit μνήμης, στη μορφή 4 Μbit *4. Αυτό λογικά σημαίνει ότι, υπάρχουν 4Μ= διαφορετικές διεθύνσεις (γραμμές), ενώ κάθε γραμμή έχει τέσσερα διαφορετικά κύτταρα αποθήκευσης. Για τη διευθυνσιοδότηση =2 22 διαφορετικών θέσεων, θα πρέπει οι δυαδικές διευθύνσεις να έχουν μήκος 22 bits. Ωστόσο, στην πράξη δεν υπάρχουν τόσες πολλές διευθύνσεις (γραμμές) μέσα στο chip της μνήμης. Θα μπορούσαμε να φανταστούμε τη μνήμη, ως ένα δισδιάστατο πίνακα (n γραμμές και m στήλες) κελιών, όπου σε κάθε κελί αποθηκεύεται η ελάχιστη πληροφορία, δηλαδή ένα bit "0" ή "1". Κάθε γραμμή του πίνακα έχει μια ξεχωριστή "διεύθυνση", που βοηθάει στην άμεση προσπέλαση της πληροφορίας, η οποία είναι αποθηκευμένη στα στοιχεία (κελιά) της γραμμής. Σε μια διεύθυνση των 22 bits τα 11 τελευταία bits χρησιμοποιούνται για να καθορίσουν τη γραμμή και τα πρώτα 11 bits για να καθορίσουν τη στήλη. Έστω για παράδειγμα ότι γίνεται μια αναφορά στη θέση μνήμης , που αντιστοιχεί στη δυαδική διεύθυνση " ". Πρώτα θα σταλούν τα 11 τελευταία bits " " που καθορίζουν τη διεύθυνση της γραμμής. Στην συνέχεια, θα σταλούν τα 11 πρώτα bits " " για τον καθορισμό της στήλης. Με μια πρώτη ματιά, φαίνεται ότι ο σχεδιασμός της μνήμης, βάσει του οποίου κατακερματίζουμε τη διεύθυνση, είναι πιο περίπλοκος, από το να χρησιμοποιούμε ολόκληρη τη διεύθυνση των 22bits για να καθορίσουμε μια γραμμή. Ο λόγος για τον οποίο γίνεται ο κατακερματισμός της διεύθυνσης, είναι καθαρά οικονομικός. Αν χρησιμοποιούσαμε και τα 22 bits για τη διεύθυνση κάθε γραμμής, το chip DRAM της μνήμης θα είχε 22 pins. Αντί για 22 pins, έχουμε 22-11=11 pins. Επίσης, θα χρειάζονται πλέον μόνο 11 σήματα ελέγχου, αντί για 22. Βέβαια, το να αποστέλεται η διεύθυνση σε δυο δόσεις, προκαλεί μια καθυστέρηση. Φυσικά οι υπολογιστές δεν διαθέτουν ένα μοναδικό chip μνήμης, αλλά πολλά, το πλήθος των οποίων εξαρτάται από το συνολικό μέγεθος της DRAM. Τα chips οργανώνονται σε modules, ενώ το αμέσως ανώτερο επίπεδο οργάνωσης είναι τα banks.

136 136 Διάγραμμα χρονισμού για μια διαδικασία ανάγνωσης από τη κύρια μνήμη Παρακάτω περιγράφεται με τη μορφή βημάτων, η διαδικασία ανάγνωσης από μια ασύγχρονη μνήμη DRAM. Ωστόσο, η νέας τεχνολογίας μνήμες DRAM, είναι συγχρονισμένες με τα κύριο ρολόι του συστήματος. Για την καλύτερη κατανόηση της διαδιακασίας θα υποθέσουμε ότι έχουμε το μοντέλο μνήμης DRAM που αναφέρθηκε παραπάνω, δηλαδή, στη διεύθυνση των 22 bits τα 11 τελευταία bits χρησιμοποιούνται για να καθορίσουν τη γραμμή και τα πρώτα 11 bits για να καθορίσουν τη στήλη: 1. Η διεύθυνση της μνήμης που πρόκειται να προσπελαστεί για ανάγνωση τοποθετείται στο δίαυλο των διευθύνσεων (address bus). 2. Ο ελεγκτής της μνήμης αποκωδικοποιεί τη διεύθυνση και καθορίζει, πιο chip της περιέχει τη διεύθυνση που θα προσπελαστεί. 3. Τα bits της διεύθυνσης που καθορίζουν τη "γραμμή" (τα 11 τελευταία bits) στέλνονται στο κατάλληλο chip. 4. Αφού περάσει αρκετός χρόνος μέχρι να σταθεροποιηθεί το σήμα που καθορίζει τη επιλεγόμενη γραμμή, ο ελεγκτής μνήμης παράγει ένα ειδικό σήμα που ονομάζεται row address strobe ή row address select ("/RAS") και έχει τιμή μηδέν. 5. Όταν το σήμα /RAS σταθεροποιηθεί στην τιμή μηδέν "0", έχει επιλεχθεί πλέον η κατάλληλη γραμμή και διαβάζονται τα περιεχόμενα της (όλες οι στήλες), από τα ειδικά κυκλώματα του chip. Ας σημειωθεί ότι αυτή η διαδικασία ανάγνωσης των περιεχομένων της γραμμής, αναζωογωνούν ταυτοχρόνως και τα περιεχόμενά της. 6. Τα bits της διεύθυνσης που καθορίζουν τη "στήλη" (τα 11 πρώτα bits) στέλνονται στο κατάλληλο chip. 7. Αφού περάσει αρκετός χρόνος μέχρι να σταθεροποιηθεί το σήμα που καθορίζει την επιλεγόμενη στήλη, ο ελεγκτής μνήμης παράγει ένα ειδικό σήμα που ονομάζεται column address strobe ή column address select ("/CAS") και έχει τιμή μηδέν. 8. Όταν το σήμα /CAS σταθεροποιηθεί στην τιμή μηδέν "0", έχει επιλεχθεί πλέον η κατάλληλη στήλη και το περιεχόμενο του επιλεγόμενου κελιού οδηγείται στον buffer εξόδου του chip.

137 Ο buffer εξόδου του chip, τοποθετεί το περιεχόμενό του, στο δίαυλο δεδομένων της μνήμης από όπου μεταφέρονται στη συσκευή που έκανε την αίτηση ανάγνωσης. 137 Η διαδικασία ανάγνωσης από μια ασύγχρονη μνήμη DRAM Η διαδιακασία προσπέλασης / ανάγνωσης των περιεχομένων ενός κελιού της μνήμης, παρουσιάζει ομοιότητες με τον τρόπο επιλογής ενός κελιού (για παράδειγμα το κελί J34) στα λογιστικά φύλλα. Πήγαινε στη γραμμή #34 και στη συνέχεια επέλεξε το κελί της J στήλης. Η διαδικασία γραφής σε μια ασύγχρονη μνήμη DRAM, ακολουθεί τα ίδια περίπου βήματα με τη διαφορά ότι, οι πληροφορίες μεταφέρονται προς τα chips της μνήμης. Χρησιμοποιώντας ένα ειδικό σήμα ελέγχου "R/W" (Read/Write), μπορούμε να καθορίσουμε πότε θα γίνεται ανάγνωση και πότε γραφή στα chips της μνήμης. Η διαδικασία ανάγνωσης / γραφής που περιγράφτηκε παραπάνω, είναι πάρα πολύ απλουστευμένη για λόγους κατανόησης, αφού στην πράξη συνυπάρχουν και άλλοι παράγοντες που ρυθμίζουν τη λειτουργία του chip. Ο χρόνος που απαιτείται από τη στιγμή που παρουσιάζεται μια αίτηση ανάγνωσης προς τη μνήμη, μέχρι να είναι διαθέσιμες οι αντίστοιχες πληροφορίες, είναι γνωστός ως χρόνος προσπέλασης (access time ή t AC ) και μετράται σε nanoseconds (ns). Σύγχρονη και Ασύγχρονη DRAM Η τυπική DRAM που χρησιμοποιήθηκε στους αρχικούς IBM PC, χαρακτηριζόταν ως ασύγχρονη (asynchronous DRAM). Ο όρος ασύγχρονη έχει να κάνει με το γεγονός ότι, η μνήμη δεν είναι συγχρονισμένη με το κύριο ρολόι του συστήματος (system clock). Αν υποθέσουμε ότι αυτή τη στιγμή αρχίζει μια προσπέλαση στη μνήμη, μετά από κάποιο χρονικό διάστημα θα εμφανιστούν τα περιεχόμενα της μνήμης, στα οποία έγινε η προσπέλαση στο δίαυλο. Τα σήματα που παράγονται από τον ελεγκτή της μνήμης, δεν είναι συγχρονισμένα με το ρολόι του συστήματος. Η ασύγχρονη μνήμη δουλεύει μια χαρά για συστήματα μικρής σχετικά ταχύτητας, αλλά δεν ενδείκνυται για ταχύτερα συστήματα (>66 MHz). Οι νέοι τύποι DRAM, ονομάζονται "synchronous DRAM" ή "SDRAM", αφού τα σήματα που διαχειρίζονται και παράγουν είναι συγχρονισμένα με το ρολόι του συστήματος. Η σύγχρονη DRAM είναι πολύ ταχύτερη της ασύγχρονης DRAM, πράγμα που συμβάλλει στη βελτίωση της απόδοσης του συστήματος. Η SDRAM είναι κατάλληλη για συστήματα μεγάλης ταχύτητας.

138 Ο δίαυλος της μνήμης 138 Ο δίαυλος της μνήμης (memory bus), είναι ένα σύνολο καλωδίων που χρησιμοποιούνται για τη μεταφορά της διεύθυνσης προς τη μνήμη, καθώς και για τη μεταφορά των δεδομένων από και προς τη κύρια μνήμη. Σε πολλούς υπολογιστές, ο δίαυλος της μνήμης είναι κοινός με το δίαυλο του επεξεργαστή. Ο δίαυλος της μνήμης αποτελείται από δυο τμήματα: το δίαυλο των δεδομένων (data bus) και το δίαυλο των διευθύνσεων (address bus). Συνήθως, όταν αναφερόμαστε στο δίαυλο της μνήμης, εννοούμε το δίαυλο των δεδομένων, ο οποίος χρησιμοποιείται για την πραγματική μεταφορά των δεδομένων από και προς τη μνήμη. Ο δίαυλος των διευθύνσεων, χρησιμοποιείται για τη μεταφορά της διεύθυνσης στη μνήμης, όπου θα πραγματοποιηθεί μια προσπέλαση για ανάγνωση ή γραφή. Όσο μεγαλύτερος είναι ο δίαυλος των δεδομένων (περισσότερα καλώδια), τόσα περισσότερα δεδομένα μπορούν να μεταφερθούν ταυτόχρονα, με αποτέλεσμα να βελτιώνεται η απόδοση όλου του συστήματος. Το εύρος ζώνης (bandwidth) του διαύλου των δεδομένων, μετρά την ποσότητα της πληροφορίας που μπορεί να μεταφερθεί μέσω των καλωδίων του και είναι συνάρτηση του αριθμού των bits που μπορούν να μεταφερθούν ταυτόχρονα και της ταχύτητας μεταφοράς των δεδομενών. Ο δίαυλος της μνήμης Θα μπορούσαμε να φανταστούμε τον δίαυλο των δεδομένων σαν ένα δρόμο ταχείας κυκλοφορίας. Το εύρος του είναι το πλήθος των διαφορετικών λωρίδων που έχει, ενώ η ταχύτητά του, καθορίζει το πόσο γρήγορα μπορούν να κινηθούν τα αυτοκίνητα. Το εύρος ζώνης του αυτοκινητόδρομου, είναι ο μέγιστος αριθμός των αυτοκινήτων που θα περάσουν σε ένα ορισμένο χρονικό διάστημα, υπό το καθεστώς των περιορισμών στον αριθμό των διαθέσιμων λωρίδων και στην επιτρεπόμενη ταχύτητα. Το εύρος του διαύλου των διευθύνσεων καθορίζει το μέγιστο αριθμό διαφορετικών διευθύνσεων που μπορεί να αναγνωρίσει ο επεξεργαστής. Στο παραπάνω παράδειγμα με το δρόμο ταχείας κυκλοφορίας, μπορούμε να πούμε ότι το πλήθος των διαφορετικών εξόδων από τον αυτοκινητόδρομο, είναι κάτι ανάλογο με το εύρος του διαύλου των διευθύνσεων.

139 Ταχύτητα επεξεργαστή - μνήμης 139 Το εύρος ζώνης του διαύλου της μνήμης θέτει περιορισμούς στην απόδοση όλου του συστήματος. Στους παλιούς υπολογιστές, ο επεξεργαστής είχε την ίδια ταχύτητα με τη μνήμη, αλλά στους σύγχρονους υπολογιστές, οι επεξεργαστές έχουν διπλάσια, τριπλάσια ή ακόμα μεγαλύτερη ταχύτητα από την κύρια μνήμη. Αυτό έχει ως αποτέλεσμα, να αναγκάζεται ο επεξεργαστής μερικές φορές να παραμένει αδρανής, περιμένοντας τις πληροφορίες από τη μνήμη. Για να μειωθεί η καθυστέρηση, χρησιμοποιούμε κρυφή μνήμη που παρεμβάλλεται μεταξύ της κύριας μνήμης και του επεξεργαστή. Η εξέλιξη της απόδοσης του επεξεργαστή και της μνήμης Ταχύτητα της DRAM και χρονισμός μνήμης Είναι σημαντικό να κατανοήσουμε τη σχέση μεταξύ των δυο παραγόντων, που καθορίζουν την πραγματική ταχύτητα της μνήμης. Αυτοί οι παράγοντες είναι: Χρονισμός της μνήμης: Υπάρχει μια παράμετρος του BIOS, η Memory Timing Settings (την τιμή της οποίας μπορούμε να ρυθμίσουμε μέσα από τοbios setup program), η οποία καθορίζει πόσο γρήγορα το σύστημα θα προσπαθεί να διαβάσει ή να γράψει στην κύρια μνήμη. Ταχύτητα της DRAM: Είναι ο ελάχιστος χρόνος προσπέλασης που μπορεί να υποστηρίξει από μόνη της η μνήμη DRAM και μετριέται σε nanoseconds (ns). Η ταχύτητα της DRAM, θέτει ένα όριο στη μέγιστη τιμή χρονισμού της μνήμης. Η σχέση μεταξύ των δυο παραγόντων είναι η εξής: Όσο μεγαλύτερη είναι η ταχύτητα της DRAM, τόσο μεγαλύτερη τιμή μπορεί να πάρει η παράμετρος που καθορίζει το χρονισμό της. Αν αυξήσουμε το χρονισμό της μνήμης (μειώνοντας τον αριθμό των παλμών του ρολογιού που απαιτούνται για μια ανάγνωση ή γραφή μέσα από την σχετική παράμετρο του BIOS), το σύστημα θα γίνει σαφώς γρηγορότερο. Αν όμως, ο χρονισμός της μνήμης φτάσει σε μια τιμή η οποία δεν μπορεί να υποστηριχθεί από την ταχύτητα της DRAM, τότε είναι σίγουρο ότι θα εμφανιστούν διάφορα προβλήματα στη λειτουργία του υπολογιστή. Αν επανέλθουμε στο παράδειγμα με το αυτοκίνητο, μπορούμε να αντιστοιχήσουμε τη μέγιστη ταχύτητα του αυτοκινήτου (για παράδειγμα 50 Km/h) όταν δεν κυκλοφορούν άλλα

140 αυτοκίνητα στο δρόμο, με την ταχύτητα της DRAM. Μπορούμε να αυξήσουμε την ταχύτητα κίνησης, μέχρι το όριο που καθορίζεται από τις δυνατότητες του αυτοκινήτου. Αν όμως, κυκλοφορούν και άλλα αυτοκίνητα, είναι σχεδόν βέβαιο ότι δεν θα μπορέσουμε ποτέ να εκμεταλλευτούμε όλες τις δυνατότητες του αυτοκινήτου και επομένως θα κινούμαστε με μικρότερη ταχύτητα από τα 50 Km/h. Ακόμα και αν χρησιμοποιήσουμε ταχύτερο αυτοκίνητο (ταχύτερη DRAM), η κυκλοφοριακή συμφόρηση (χρονισμός της μνήμης) θα έχει ως αποτέλεσμα να κινείται το αυτοκίνητο με ταχύτητα, πολύ μικρότερη της θεωρητικά μέγιστης. Η πραγματική ταχύτητα κίνησης, μπορεί να αυξηθεί μόνο αν μειωθεί η κυκλοφοριακή συμφόρηση και βελτιωθούν οι δυνατότητες του αυτοκινήτου. Κάτι ανάλογο συμβάνει και με τη μνήμη του υπολογιστή. Αν αντικαταστήσουμε τη μνήμη DRAM των 70ns με μνήμη DRAM των 60ns, το σύστημά μας δεν πρόκειται να γίνει ταχύτερο αν δεν αυξήσουμε και το χρονισμό της μνήμης. Αντίθετα, αν αντικαταστήσουμε το chip της DRAM με ένα πιο αργό chip DRAM, δεν θα γίνει πιο αργό το σύστημα, εκτός και αν μειώσουμε το χρονισμό της μνήμης. Ωστόσο, αν το νέο chip είναι πιο αργό από τη ρύθμιση για το χρονισμό της μνήμης, είναι σίγουρο ότι θα εμφανιστούν προβλήματα. Μπορούμε να πούμε ότι ο χρονισμός της μνήμης, λειτουργεί σαν ένας διακόπτης που ρυθμίζει την πραγματική ταχύτητά της, μέσα όμως στα όρια που ορίζονται από την ταχύτητα της DRAM. Εκτίμηση ταχύτητας της DRAM Οι συμβατικές ασύγχρονες DRAMs, έχουν μια εκτιμημένη ταχύτητα σε nanoseconds, η οποία αντιπροσωπεύει τον ελάχιστο χρόνο προσπέλασης για την εκπλήρωση μιας αίτησης ανάγνωσης ή γραφής. Ο χρόνος προσπέλασης για τις περισσότερες ασύγχρονες μνήμες είναι 50, 60 ή και 70 ns, ενώ σε παλαιότερες εκδόσεις (συστήματα 386 και πριν ) η ταχύτητα των μνημών ήταν 70 ή 80 ns. Ορισμένα πολύ παλιά μοντέλα είχαν χρόνο προσπέλασης στη μνήμη μέχρι και 100, 120 ή και 150 ns. Συστήματα με ταχύτητα 60 ΜHz ή άνω απαιτούν μνήμη με ταχύτητα τουλάχιστον 60 ns. Οι σύγχρονες DRAMs (SDRAM) είναι σαφώς ταχύτερες από τις συμβατικές ασύγχρονες DRAMs. Η ταχύτητα των SDRAMs μπορεί να είναι 12, 10 ή ακόμα και 7 ns. Ωστόσο, θα πρέπει να είμαστε ιδιαίτερα προσεκτικοί όταν προσπαθούμε να συγκρίνουμε τις ταχύτητες μεταξύ σύγχρονων και ασύγχρονων μνημών DRAM. Ένα module SDRAM (σύγχρονη DRAM) των 10 ns δεν είναι 5 φορές ταχύτερο από ένα module EDO (ασύγχρονη DRAM) των 50 ns. Από τη στιγμή που η μνήμη SDRAM είναι συγχρονισμένη με το κύριο ρολόι του συστήματος, η ταχύτητα της SDRAM είναι η μέγιστη ταχύτητα, με την οποία μπορεί να δίνει δεδομένα, κατά ριπή, στο δίαυλο δεδομένων. Ο χρόνος αυτός δε συμπεριλαμβάνει την καθυστέρηση από τη στιγμή που θα γίνει μια αίτηση, μέχρι να βρεθεί η σωστή διεύθυνση (λανθάνων χρόνος διευθυνσιοδότησης - addressing latency time). Αντίθετα, στο χρόνο που αναφέρεται στην ταχύτητα μιας ασύγχρονης μνήμης έχει συμπεριεληφθεί η καθυστέρηση αναζήτησης της διεύθυνσης, με αποτέλεσμα η ταχύτητα των ασύγχρονων DRAMs να δείχνει πολύ μικρή σε σχέση με την ταχύτητα των σύγχρονων DRAMs. 140

141 141 Η εξέλιξη της ταχύτητας της κύριας μνήμης Συνήθως, πάνω στο chip των συμβατικών DRAMs αναγράφονταν η ταχύτητά τους. Για παράδειγμα, για μια μνήμη DRAM των 60 ns αναγραφόταν η κωδική ονομασία "-6" ή "-60" πάνω στο chip. Αυτή η συνήθεια συνεχίστηκε και με τις μνήμες SDRAM. Έτσι, για μια μνήμη SDRAM των 12, 10 ή 7 ns αναγράφεται η κωδική ονομασία "-12", "-10" και "-07" αντίστοιχα. Ας σημειωθεί, ότι μερικές παλιές μνήμες των 120 ή 100 ns πάλι χαρακτηρίζονταν ως "-12" και "-10" αντίστοιχα. Επειδή έχουν αποσυρθεί εδώ και καιρό δεν υπάρχει περίπτωση να τις μπερδέψουν οι αγοραστές με τις μνήμες SDRAM. Ένα ακόμα μέτρο της ταχύτητας μιας μνήμης, εκτός του χρόνου προσπέλασης, είναι και η μέγιστη συχνότητά της, εκφρασμένη σε MHz. Στην ουσία, πρόκειται για το ίδιο μέγεθος εκφρασμένο με διαφορετικό τρόπο. Για παράδειγμα, αν υποθέσουμε ότι έχουμε ένα module SDRAM των 10 ns, τότε χαρακτηρίζουμε τη μνήμη ως 100 MHz SDRAM. Το μέγεθος 100 MHz ισούται με 100 εκατομμύρια κύκλους ανά δευτερόλεπτο. Ταχύτητα διαύλου μνήμης και απαιτούμενη ταχύτητα της DRAM Η απαιτούμενη ταχύτητα που πρέπει να έχει η μνήμη, είναι συνάρτηση και της ταχύτητας του διαύλου μνήμης. Όσο πιο γρήγορος είναι ο δίαυλος μνήμης, τόσο ταχύτερη πρέπει να είναι και η μνήμη. Παρακάτω παρουσιάζεται ένας πίνακας που δείχνει την ταχύτητα του διαύλου μνήμης σε σχέση με την απαιτούμενη ταχύτητα για διάφορους τύπους μνημών:

142 142 Γενιά επεξεργαστή Ταχύτητα διαύλου μνήμης Χρησιμοποιούμενη τεχνολογία DRAM Συνήθεις απαιτήσεις ταχύτητας DRAM Πρώτη, Δεύτερη Συμβατική Τρίτη, Τέταρτη Πέμπτη, Έκτη Συμβατική, Page Mode, FPM, EDO FPM, EDO, BEDO, SDRAM (SDRAM) (Asynchronous) Μελλοντικές 125+ SDRAM, DDR SDRAM, DRDRAM, SLDRAM Ανάμιξη chips DRAM διαφορετικών ταχυτήτων Είναι δυνατό να χρησιμοποιήσουμε ταυτοχρόνως chips DRAM με διαφορετικές ταχύτητες. Η ανάμιξη είναι καλό να αποφεύγεται, αλλά σε μερικές περιπτώσεις μπορεί να βελτιώσει την απόδοσης της μνήμης και γενικά όλου του συστήματος. Για παράδειγμα, ένα σύστημα 66 MHz (1994) που χρησιμοποιούσε DRAM των 70 ns, θα μπορούσε να εμπλουτιστεί και με DRAM των 60 ns, η οποία παρεπιπτόντως κυκλοφόρησε το Πάντως για να μην υπάρξουν προβλήματα κατά την ανάμιξη διαφορετικών τύπων DRAM θα πρέπει να προσέξουμε τα εξής: Χρησιμοποίηση του ίδιου τύπου μνήμης μέσα σε κάθε bank: Όταν έχουμε μια αίτηση προς τη μνήμη, τα δεδομένα μεταφέρονται από και προς τη μνήμη μέσα από το δίαυλο των δεδομένων. Ο αριθμος των bits που μετακινούνται, σε κάθε παλμό του ρολογιού, είναι συγκεκριμένος και συνήθως ίσος με 32 ή 64. Τα δεδομένα διαβάζονται συνήθως από περισσότερα του ενός chip μέσα από τα banks της μνήμης. Εάν αναμιχθούν διαφορετικοί τύποι μνήμης μέσα στο ίδιο bank, τότε υπάρχει ο κίνδυνος να μην είναι διαθέσιμα όλα τα bits την ίδια χρονική στιγμή, γεγονός που μπορεί να προκαλέσει πολύ σοβαρά προβλήματα. Έτσι, μέσα σε κάθε bank πρέπει να χρησιμοποιούμε τον ίδιο τύπο μνήμης με την ίδια ταχύτητα. Δεν μπορούμε επομένως να αναμείξουμε μέσα στο ίδιο bank μνήμες EDO και FPM. Τοποθέτηση της πιο αργής μνήμης στο πρώτο bank: Μερικά συστήματα, ανιχνεύουν από μόνα τους την ταχύτητα της μνήμης και στη συνέχεια, βάσει αυτής, ρυθμίζουν και το χρονισμό της μνήμης. Συνήθως, για να αναγνωρίσουν την ταχύτητα της μνήμης κοιτούν μόνο στο πρώτο bank. Αν έχουμε ένα chip μνήμης των 60 ns στο πρώτο bank και ένα chip μνήμης των 70 ns στο δεύτερο bank, τότε θα ρυθμίσουν τον χρονισμό της μνήμης στα 60 ns. Αυτό θα έχει ως αποτέλεσμα να λειτουργεί σωστά το chip των 60 ns, αλλά θα δεν θα λειτουργεί σωστά το chip των 70 ns. Αν τοποθετήσουμε το chip των 70 ns στο πρώτο bank, τότε ο χρονισμός της μνήμης θα ρυθμιστεί στα 70 ns και έτσι θα λειτουργούν μέσα στα επιτρεπτόμενα όρια και τα δυο chips. Το πρώτο bank είναι γνωστό και ως "Bank 0".

143 Χρονισμος του συστήματος και καταστάσεις αναμονής 143 Η ταχύτητα που έχει στην πράξη η μνήμη, είναι γνωστή και ως χρονισμός του συστήματος (system timing). Η ρύθμιση του χρονισμού του συστήματος μπορεί να γίνει μέσα από κάποιες παραμέτρους του BIOS, αν και μερικά συστήματα τη ρυθμίζουν από μόνα τους, με βάση την πραγματική ταχύτητα της μνήμης. Ο χρονισμός του συστήματος ορίζεται ως ο αριθμός των παλμών του ρολογιού που απαιτείται, προκειμένου να διεκπεραιωθεί μια αίτηση ανάγνωσης ή γραφής από ή προς τη μνήμη. Όσο μικρότερος είναι ο αριθμός των παλμών, τόσο γρηγορότερη είναι η μνήμη. Αν ο χρονισμός του συστήματος ρυθμιστεί σε πολύ χαμηλή τιμή (overly aggressive timing), θα εμφανιστούν διάφορα προβλήματα. Το μέγιστο όριο, στο οποίο μπορεί να ρυθμιστεί ο χρονισμός του συστήματος, εξαρτάται από τους εξής παράγοντες: Ταχύτητα DRAM: Όσο πιο γρήγορη είναι, από άποψη κατασκευής, μια μνήμη, τόσο ταχύτερος μπορεί να είναι ο χρονισμός του συστήματος. Τεχνολογία DRAM: Κάποιο τύποι μνημών είναι σαφώς ταχύτεροι στις προσπελάσεις στη μνήμη, σε σχέση με άλλους. Για παράδειγμα, η EDO είναι ταχύτερη της FPM. Ταχύτητα Chipset: Μερικά chipsets, επιτρέπουν ταχύτερο χρονισμό του συστήματος σε σχέση με άλλα. Η διαφορά ταχύτητας μεταξύ των chipsets οφείλεται κυρίως στη διαφορετική αρχιτεκτονική τους. Memory System Quality: Είναι γεγονός, ότι οι γρήγορες μητρικές πλακέτες, σε συνδυασμό με γρήγορες κύριες μνήμες και ταχύτατα chipsets βελτιώνουν σημαντικά τα επίπεδα χρονισμού του συστήματος. Κατάσταση αναμονής (wait state), είναι ο αριθμός των παλμών που πρέπει να περάσουν προκειμένου να ολοκληρωθεί μια αίτηση ανάγνωσης ή γραφής από ή προς τη μνήμη. Έτσι, μια μνήμη που χρειάζεται έναν παλμό για να ολοκληρώσει την ικανοποίηση της αίτησης, χαρακτηρίζεται ως μνήμη με μηδέν καταστάσεις αναμονής (zero wait states) και πρόκειται σαφώς για την ταχύτερη μνήμη που κυκλοφορεί. Μια μνήμη δυο καταστάσεων αναμονής (two wait states), χρειάζεται 3 παλμούς για να ολοκληρωθεί μια διαδικασία ανάγνωσης ή γραφής. Ταχύτητα μνήμης και η κρυφή μνήμη του συστήματος Η χρησιμοποίηση σχετικά μεγάλων ποσοτήτων κρυφής μνήμης, έχει ως αποτέλεσμα την ικανοποίηση του μεγαλύτερου μέρους των αιτήσεων για την κύρια μνήμη, από την κρυφή μνήμη. Αν χρησιμοποιήσουμε ταχύτερη μνήμη, βελτιώνεται η απόδοση του συστήματος, αλλά σε μικρό ποσοστό και αυτό γιατί οι περισσότερες αιτήσεις ικανοποιούνται από την κρυφή μνήμη και έτσι δεν εκμεταλλευόμαστε την ταχύτερη πλέον κύρια μνήμη. Για παράδειγμα, αν η ταχύτητα της κύριας μνήμης αυξηθεί κατά 50%, τότε η απόδοση του συστήματος θα αυξηθεί κατά 2.5-5% μόνο. Εξαιτίας του παραπάνω φαινομένου, δεν βελτιώνεται σημαντικά η απόδοση ενός συστήματος στο οποίο έχουμε τοποθετήσει SDRAM. Προσπέλαση της μνήμης με τη μέθοδο της ριπής Μπορούμε να φανταστούμε τη μνήμη σαν ένα διδιάστατο πίνακα, όπου σε κάθε στοιχείο (κύτταρο-cell) του μπορούμε να αποθηκεύσουμε ένα bit πληροφορίας. Για να κάνουμε μια προσπέλαση σε ένα κύτταρο, πρέπει πρώτα να δώσουμε τη διεύθυνση της γραμμής και στη συνέχεια τη διεύθυνση της στήλης. Στην πράξη δεν διαβάζουμε ποτέ ένα μόνο bit, αλλά ομάδες των 32 ή 64 bits.

144 Υπάρχει ένας αριθμός απαραίτητων βημάτων που πρέπει να εκτελεστούν κατά την πρώτη προσπέλαση στη μνήμη, με αποτέλεσμα να υπάρχει μια επιπλέον καθυστέρηση κατά τη διάρκεια αυτής. Παράγονται αρκετά σήματα που πρέπει να σταθεροποιηθούν και να σταλούν σε διάφορα μέρη του υπολογιστή προκειμένου να αρχίσει η προσπέλαση στη μνήμη. Στη συνέχεια, στέλνεται η διεύθυνση της γραμμής και μετά η διεύθυνση της στήλης,προκειμένου να καθοριστεί από πιο κελί θέλουμε να διαβάσουμε ή να γράψουμε. Εξαιτίας όλων αυτών των καθυστερήσεων, η πρώτη προσπέλαση στη μνήμη διαρκεί από 4 ως 7 παλμούς. Ο χρόνος που απαιτείται, για να ικανοποιηθεί η πρώτη αίτητση για τη μνήμη, είναι γνωστός και ως λανθάνων χρόνος προσπέλασης(latency) της μνήμης. Όπως είπαμε, οι καθυστερήσεις που σημειώνονται μέσα στη μνήμη, έχουν να κάνουν κυρίως με διάφορα σήματα και όχι με την πραγματική μεταφορά δεδομένων. Αν μπορούσαμε να μειώσουμε τις καθυστερήσεις λόγω σημάτων, η απόδοση του συστήματος θα βελτιωνόταν σημαντικά. Επίσης, αν θέλουμε να διαβάσουμε 4 διαδοχικά blocks των 64 bits, θα χρειαστεί να δώσουμε τη διεύθυνση μόνο του πρώτου. Με τον τρόπο αυτό, μειώνονται οι καθυστερήσεις που έχουν να κάνουν με την αποστολή της διεύθυνσης και έτσι αυξάνεται η απόδοση του συστήματος. Στα σύγχρονα συστήματα ακολουθείται αυτή η μέθοδος που είναι γνωστή ως προσπέλαση κατά ριπή (burst mode access ή bursting). Έτσι, η καθυστέρηση της πρώτης προσπέλασης δεν επαναλαμβάνεται και στις 3 επόμενες προσβάσεις. Επομένως, για την πρώτη προσπέλαση θα χρειαστούμε 4-7 παλμούς και για κάθε μια από τις 3 επόμενες μόνο 1-3 παλμούς. Η δευτερέουσα κρυφή μνήμη (system secondary cache) του συστήματος χρησιμοποιεί αυτή την τεχνική και διαβάζει κατά ομάδες των 256 bits, με αποτέλεσμα να είναι ταχύτατη. Ο χρονισμός μιας μνήμης με πρόσβαση ριπής εκφράζεται με τη συντομογραφία "x-y-y-y". Ο πρώτος αριθμός ("x") αναπαριστά τον αριθμό των παλμών ρολογιού που απαιτούνται για την πρώτη προσπέλαση (για ανάγνωση ή γραφή) στη μνήμη. Οι άλλοι τρεις αριθμοί ("y-yy"), είναι ο αριθμός των παλμών για τη δεύτερη, τρίτη και τέταρτη προσπέλαση στη μνήμη. Για παράδειγμα, ο χρονισμός " ", δηλώνει ότι θα απαιτηθούν συνολικά 11 παλμοί για να ολοκληρωθεί η προσπέλαση και στα 4 blocks των 64 bits, ενώ αν δεν χρησιμοποιούνταν η τεχνική του burst mode access θα χρειαζόταν τουλάχιστον 20 παλμοί. Όλοι οι τύποι μνημών παρουσιάζουν την επιπλέον καθυστέρηση της πρώτης προσπέλασης. Από τον κανόνα αυτό δεν ξεφεύγουν φυσικά οι ταχύτατες SDRAM καθώς επίσης και η δευτερέουσα κρυφή μνήμη. Ο χρονισμός για αυτές τις μνήμες ακολουθεί το μοντέλο "x ", δηλαδή οι προσβάσεις στη μνήμη εκτός της πρώτης, διαρκούν ένα παλμό. Ωστόσο, η ανάγκη για διευθυνσιοδότηση της SDRAM έχει ως αποτέλεσμα ο πρώτος αριθμός στην ακολουθία "x-1-1-1" να είναι μεγαλύτερος από τον αντίστοιχο αριθμό για την ακολουθία της δευτερέουσας κρυφής μνήμης. Έτσι, ένας καλός συνδυασμός χρονισμού για την SDRAM είναι " ", ενώ για τη δευτερέουσα κρυφή μνήμη " " ή " ". 144 Διαφύλλωση Διαφύλλωση (Interleaving) είναι μια τεχνική που χρησιμοποιείται από τις υψηλής ταχύτητας μητρικές πλακέτες και τα chipsets, με σκοπό τη βελτίωση της απόδοσης της μνήμης. Η τεχνική αυτή αυξάνει το εύρος ζώνης (bandwidth) της μνήμης, επιτρέποντας την ταυτόχρονη προσπέλαση σε διαφορετικά blocks δεδομένων. Η τεχνική της διαφύλλωσης βελτιώνει την απόδοση της μνήμης, αφού μπορούν να μεταφερθούν μεγαλύτερες ποσότητες δεδομένων από και προς τη μνήμη μέσα σε ένα συγκεκριμένο χρονικό διάστημα. Όταν εφαρμόζεται η μέθοδος της διαφύλλωσης η μνήμη του συστήματος χωρίζεται σε πολλαπλά τμήματα δεδομένων. Συνήθως υπάρχουν 2 ή 4 τμήματα, οπότε έχουμε διπλή

145 (two-way) και τετραπλή (four-way) διαφύλλωση αντίστοιχα. Η προσπέλαση σε κάθε τμήμα γίνεται χρησιμοποιώντας διαφορετικές γραμμές ελέγχου, οι οποίες στη συνέχεια συνενώνονται στο δίαυλο μνήμης. Όταν αρχίσει μια προσπέλαση για ανάγνωση ή γραφή στο ένα τμήμα, τότε η διαδιακασία προσπέλασης στα υπόλοιπα τμήματα μπορεί να αρχίσει πριν τελειώσει η διαδικασία προσπέλασης στο πρώτο τμήμα. Προκειμένου να έχουμε καλύτερη απόδοση χρησιμοποιώντας τέτοιου είδους μνήμη, συνεχόμενες διευθύνσεις μνήμης είναι διεσπαρμένες σε διαφορετικά τμήματα της μνήμης. Για παράδειγμα, αν έχουμε 4 τμήματα μνήμης, το σύστημα δε θα "γεμίσει" απαραίτητα το πρώτο τμήμα, μετά το δεύτερο κοκ, αλλά θα έχουμε τοποθέτηση σε τυχαία τμήματα. Η τεχνική της διαφύλλωσης αναλύεται και στο αντίστοιχο τμήμα των σκληρών δίσκων. 145 Η τεχνική της διαφύλλωσης

146 Τεχνολογίες των DRAMs 146 Εισαγωγή Η μνήμη DRAM είναι διαθέσιμη σε πολλούς διαφορετικούς τύπους. Ο πυρήνας τους είναι ο ίδιος, απλά διαφέρουν στον τρόπο οργάνωσης και στον τρόπο προσπέλασης (οι διαφορές ταχύτητας μεταξύ των DRAMs οφείλονται στη διαφορετική αρχιτεκτονική τους). Καθώς οι επεξεργαστές γίνονται ολοένα και πιο γρήγοροι, θα πρέπει να αυξάνεται παράλληλα και η ταχύτητα της μνήμης, προκειμένου να μην παρατηρούνται σημαντικές καθυστερήσεις κατά τη μεταφορά των δεδομένων μεταξύ του επεξεργαστή και της μνήμης. Στην πράξη, η διαφορά ταχύτητας μεταξύ των διάφορων τύπων DRAM δε συμβάλλει, σε σημαντικό βαθμό, στη μεταβολή της απόδοσης του συστήματος, αφού η κρυφή μνήμη ικανοποιεί τις περισσότερες αιτήσεις που γίνονται προς την κύρια μνήμη. Επομένως, είναι λίγες οι φορές που θα γίνει απευθείας προσπέλαση στη κύρια μνήμη με αποτέλεσμα να μην είναι ιδιαίτερα σημαντική η ταχύτητά της. Τεχνολογίες και Απόδοση των μνημών DRAM Ο πιο σημαντικός παράγοντας που καθορίζει και τον τύπο της μνήμης που μπορεί να χρησιμοποιηθεί πάνω στη μητρική πλακέτα, είναι το chipset του συστήματος. Πολλοί άνθρωποι πιστεύουν ότι η αγορά μιας ταχύτατης και συνάμα ακριβής κύριας μνήμης, θα βελτιώσει σημαντικά την απόδοση της μνήμης και κατ' επέκταση όλου του συστήματος. Ωστόσο, τα πράγματα δεν είναι τόσο απλά. Από τη μια μεριά η χρησιμοποίηση κρυφής μνήμης έχει ως αποτέλεσμα τη μη εκμετάλλευση στο μέγιστο βαθμό των πλεονεκτημάτων της, αφού μόνο το 5-10% των αιτήσεων προς την κύρια μνήμη ικανοποιείται απευθείας από αυτή. Επίσης, στους περισσότερους υπολογιστές η προσπέλαση στην κύρια μνήμη γίνεται με τη μέθοδο ριπής, οπότε δε μας απασχολεί τόσο η ταχύτητα της μνήμης αυτή καθεαυτή, αλλά ο συνολικός αριθμός παλμών που απαιτούνται για να ολοκληρωθούν οι τέσσερις διαδοχικές προσπελάσεις στη μνήμη. Ας δούμε ένα παράδειγμα σύγκρισης από το χώρο των Pentium, όσον αφορά τις τεχνολογίες των μνημών. Το 1996, τα δυο πιο δημοφιλή chipsets για Pentium ήταν τα 430HX και 430VX. Το 430VX υποστήριζε SDRAM, ενώ το 430ΗX όχι. Εξαιτίας αυτού του γεγονότος, πολλοί άνθρωποι υποστήριζαν ότι το 430VX ήταν σαφώς ανώτερο του 430ΗX, αφού το 430VX είχε θεωρητικό χρόνο προσπέλασης στη μνήμη ίσο με ένα παλμό, ενώ το 430ΗX που χρησιμοποιούσε EDO, απαιτούσε 2 παλμούς για μια ολοκληρωμένη προσπέλαση στη μνήμη. Θεωρητικά, η απόδοση της μνήμης του 430VX θα έπρεπε να είναι κατά 50% καλύτερη από αυτή του 430ΗX. Φυσικά στην πράξη δεν παρατηρήθηκε αυτή η διαφοροποίηση της απόδοσης μεταξύ των δυο μοντέλων. Ο χρονισμός της SDRAM του 430VX ήταν " ", ενώ ο χρονισμός της EDO του 430HX ήταν " ". Όταν προσθέσουμε τους παλμούς για μια πλήρης προσπέλαση ριπής προκύπτει ότι για το 430VX το άθροισμα ισούται με 10, ενώ για το 430HX είναι 11. Αν βελτιώσουμε λίγο το chipset 430ΗX, τότε όχι μόνο μπορεί να συγκριθεί με το 430VX, αλλά μπορεί να έχει και καλύτερη απόδοση, χρησιμοποιώντας την πιο αργή EDO. Συμβατική DRAM Η συμβατική DRAM (Conventional DRAM), είναι ο παλαιότερος και πιο αργός τύπος μνήμης DRAM. Για τη διευθυνσιοδότηση χρησιμοποιείται το μοντέλο του διδιάστατου πίνακα, όπου στέλνεται πρώτα η διεύθυνση της γραμμής και έπειτα η διεύθυνση της στήλης. Η συμβατική DRAM δεν απαιτούσε κάποια ιδιαίτερη συμβατότητα, ενώ θεωρείται πλέον απαρχαιωμένη και δε χρησιμοποιείται στα νέα συστήματα.

147 FPM 147 Η FPM (Fast PageMode DRAM) ήταν ο παραδοσιακός τύπος DRAM πριν την εμφάνιση της EDO RAM και ήταν λίγο ταχύτερη από την Conventional DRAM. Ενώ στις συμβατικές DRAMs έπρεπε να σταλεί η διεύθυνση της γραμμής και στήλης, η FPM δουλεύει στέλνοντας τη διεύθυνση της γραμμής και στη συνέχεια αυτή η διεύθυνση χρησιμοποιείται για τις προσβάσεις και σε γειτονικές διεύθύνσεις. Με τον τρόπο αυτό, βελτιώνεται η απόδοση της μνήμης αφού μειώνεται κάπως ο χρόνος προσπέλασης. Παρόλο που το όνομά της ("fast" page mode) υποδηλώνει μια ταχύτατη μνήμη, εντούτοις είναι ο πιο αργός τύπος μνήμης. Όλοι οι υπολογιστές που κατασκευάστηκαν τα τελευταία χρόνια και είχαν σχεδιαστεί για να χρησιμοποιούν συμβατική ασύγχρονη RAM, υποστηρίζουν τη μνήμη FPM. Η μνήμη FPM DRAM δεν είναι κατάλληλη για συστήματα υψηλών προδιαγραφών (συχνότητα διαύλου μνήμης μεγαλύτερη των 66 MHz), επειδή δημιουργούνται πολλές καταστάσεις αναμονής. Ο χρονισμός της μνήμης FPM DRAM έχει ρυθμιστεί στην τιμή " " στα 66 MHz. Ήταν οργανωμένη σε SIMM modules των 2, 4, 8, 16 ή 32 MB. Υπήρχαν δυο εκδόσεις όσον αφορά το χρόνο ανάγνωσης των δεδομένων. Η μια έκδοση ήταν στα 60 ns, που ήταν και η γρηγορότερη και η άλλη στα 70 ns. Προσοχή, δεν μπορούν να χρησιμοποιηθούν συνδιασμοί διαφορετικών εκδόσεων της FPM πάνω στο ίδιο motherboard των Pentiums. EDO Η EDO (Extended Data Output DRAM ή Hyper page mode DRAM) είναι μια βελτιωμένη έκδοση της FPM RAM και είναι ο πιο κοινός τύπος ασύγχρονης DRAM. Είναι λίγο πιο γρήγορη από την FPM και η διαφορά στην ταχύτητα οφείλεται στον τρόπο με τον οποίο γίνεται η προσπέλαση στην EDO. Τα δεδομένα διαβάζονται γρηγορότερα, ενώ η αύξηση της απόδοσης του συστήματος, χρησιμοποιώντας EDO RAM αντί FPM RAM, κυμαίνεται μεταξύ 3-5 %. Συγκεκριμένα, τα κυκλώματα χρονισμού της EDO υποστηρίζουν τη δυνατότητα να αρχίσει μια προσπέλαση στη μνήμη πρωτού τελειώσει η προηγούμενη προσπέλαση. Η EDO διατίθεται συνήθως στην έκδοσή της στα 60 ns, όμως είναι διαθέσιμη και η έκδοση στα 50 ns με αρκετά υψηλότερο κόστος. Το κόστος κατασκευής της EDO είναι περίπου ίδιο με αυτό της FPM και λόγω της αυξημένης ζήτητης είναι πιο φθηνή από την FPM, παρά το γεγονός ότι είναι νεότερη και πιο γρήγορη. Απαιτελούσε τη στάνταρ επιλογή μνήμης για τους υπολογιστές της 5ης και 6ης γενιάς. Δεν πρέπει να χρησιμοποιείται για συστήματα με συχνότητα διαύλου μνήμης πάνω από τα 75 MHz, ενώ ο τυπικός χρονισμός της έχει καθοριστεί στην τιμή " " στα 66 MHz. Η μνήμη EDO χρειάζεται την υποστήριξη από το chipset του συστήματος για να λειτουργήσει σύμφωνα με τις προδιαγραφές της. Δυο διαφορετικοί τύποι μνήμης EDO RΑΜ

148 ECC 148 Η ECC (Error Correcting Code) είναι ένας ειδικός τύπος DRAM για τη διόρθωση λαθών και χρησιμοποιείται κυρίως στους servers για την ανίχνευση και διόρθωση λαθών. BEDO DRAM Η BEDO DRAM (Burst Extended Data Out (BEDO) DRAM) είναι μια επαναστατική βελτίωση της συμβατικής ασύγχρονης RAM. Συγκεκριμένα, πρόκειται για μια μνήμη EDO η οποία έχει συνδιαστεί με μεθόδος διοχέτευσης (pipeline), με αποτέλεσμα να έχει βελτιωθεί η απόδοσ της σε σχέση με την παραδοσιακή EDO. Η BEDO επιτρέπει τη χρησιμοποίηση διαύλων μνήμης με μεγαλύτερη ταχύτητα μεταφοράς δεδομένων από ότι η EDO, ενώ ο χρονισμός της έχει ρυθμιστεί στην τιμή " " όταν φυσικά υποβοηθάται από κάποιο chipset. Η BEDO βελτιώνει σε σημαντικό βαθμό την απόδοση της EDO DRAM με ένα μικρό επιπλέον κόστος. H βελτίωση της απόδοσης της μνήμης χρησιμοποιώντας BEDO αντί EDO, είναι είναι πολύ πιο αισθητή σε σχέση με τη βελτίωση της απόδοσης που προκαλείται από τη χρησιμοποίηση της EDO αντί για FPM. Η BEDO, μπορεί να συγκριθεί, από άποψη απόδοσης, ακόμα και με την ταχύτατη SDRAM. Παρόλα αυτά όμως, η BEDO δε γνώρισε μεγάλη εμπορική επιτυχία και ο κυριότερος λόγος ήταν το γεγονός ότι οι μνήμες SDRAMs υποστηρίζονται από τη μεγάλη πλειοψηφία των chipsets της Intel, ενώ δε συμβαίνει το ίδιο και με τις μνήμες BEDO. SDRAM Η SDRAM (Synchronous DRAM) είναι ο νεότερος τύπος μνήμης RAM και διαφέρει από όλους τους υπόλοιπους στο γεγονός ότι λειτουργεί σε συγχρονισμό με το κύριο ρολόι του συστήματος. Είναι σχεδιασμένη, έτσι ώστε η προσπέλαση στη μνήμη για ανάγνωση ή γραφή να γίνεται με τη μέθοδο ριπής, σε χρονισμό " " και με διαύλους μνήμης που λειτουργούν σε συχνότητα μεγαλύτερη ή ίση των 100 MHz. Θα πρέπει να σημειωθεί ότι ο χρονισμός " " μπορεί να επιτευχθεί μόνο με την υποστήριξη κάποιου chipset. Χρησιμοποιούνται επίσης και μερικά εσωτερικά χαρακτηριστικά για την αύξηση της ταχύτητας, όπως εσωτερική διαφύλλωση. Ένα τυπικό chip μνήμης SDRAM Η SDRAM έγινε γρήγορα το στάνταρ μνήμης για τους σύγχρουνους υπολογιστές. Η βασική αιτία γι' αυτό, είναι το γεγονός ότι έιναι συγχρονισμένη με το κύριο ρολόι του συστήματος και μπορεί να λειτουργήσει και με διαύλους μεγαλύτερης ταχύτητας. Στο σημείο αυτό θα πρέπει να τονίσουμε, ότι η χρησιμοποίηση κρυφής μνήμης και το γεγονός ότι τα περισσότερα συστήματα χρησιμοποιούν διαύλους μνήμης με συχνότητα μικρότερη ή ίση των 66 ΜHz, έχει ως αποτέλεσμα να μη δίνει τη δυνατότητα στην SDRAM, να εκδηλώσει όλα τα πλεονεκτήματα της. Ωστόσο, στα υψηλής απόδοσης συστήματα (>100 MHz δίαυλος μνήμης), η χρησιμοποίηση μνήμης SDRAM μπορεί πραγματικά να βελτιώσει την απόδοση

149 του συστήματος. Μερικά από τα πιο σημαντικά χαρακτηριστικά της μνήμης SDRAM είναι τα παρακάτω: 149 Κατάλληλη Ταχύτητα: Η ταχύτητα μια μνήμης SDRAM μπορεί να εκφραστεί με δυο τρόπους: πρώτον, βάσει του συνολικού χρόνου προσπέλασης που είναι εκφρασμένος σε nanoseconds (ns). Ενδεικτικοί χρόνοι προσπέλασης για τις SDRAM, είναι 12 ή 10 ns. Δεύτερον, βάσει της συχνότητας λειτουργίας που είναι εκφρασμένη σε MHz. Έτσι έχουμε μνήμες SDRAM στα 83 MHz καθώς και στα 100 MHz. Επειδή η SDRAM είναι συγχρονισμένη με το κύριο ρολόι, θα πρέπει να είναι αρκετά γρήγορη, έτσι ώστε να ανταποκρίνεται στις απαιτήσεις ταχύτητας του συστήματος. Στις ασύγχρονες DRAM, όπως EDO και FPM, υπάρχει εσκεμμένη καθυστέρηση σε κάθε προσπέλαση (επιπλέον καταστάσεις αναμονής), έτσι ώστε να εναρμονιστούν οι απαιτήσεις του συστήματος με την αποδόση της μνήμης. Αντίθετα στις SDRAMs, ο αντικειμενικός σκοπός είναι να υπάρχουν μηδέν καταστάσεις αναμονής και αυτό μπορεί να επιτευχθεί μόνο αν η ταχύτητα της μνήμης είναι αρκετά μεγάλη σε σχέση με την ταχύτητα του διαύλου μνήμης. Πολλοί άνθρωποι πιστεύουν ότι μια μνήμη SDRAM των 10 ns ή συχνότητας λειτουργίας 100 MHz, είναι ο καταλληλότερος τύπος μνήμης για ένα σύστημα των 100 MHz. Στην πράξη, η πραγματική απόδοση της μνήμης είναι μικρότερη της θεωρητικής, οπότε για ένα σύστημα στα 83 MHz πρέπει να χρησιμοποιήσουμε μνήμη SDRAM 100 ns, ενώ για ένα σύστημα στα 100 MHz πρέπει να χρησιμοποιήσουμε μνήμη PC 100. Εκτίμηση ταχύτητας (Speed Rating): Όπως ειπώθηκε και παραπάνω, τα νέα συστήματα των 100 MHz (συχνότητα διαύλου μνήμης) απαιτούν ταχύτατες μνήμες. Έτσι, η Intel κατασκέυασε ένα νέο πρότυπο μνήμης SDRAM που ονομάστηκε PC 100. Σήμερα μόνο τα modules της SDRAM των 8ns μπορούν να ακοκουθήσουν το πρότυπο αυτό και να δουλέψουν στα 100 MHz. Σε πολλά άρθρα η μνήμη PC 100 RAM αναφέρεται και ως 125 ή 133 MHz SD-RAM. Λανθάνων χρόνος προσπέλασης (Latency): Μια SDRAM εξακολουθεί να διατηρεί κάποια χαρακτηριστικά από DRAM, όπως το γεγονός ότι ο χρόνος αντίδρασης (latency) σε μια αίτηση ανάγνωσης ή γραφής δεν είναι αμελητέος. Ο χρόνος των 12 ή 10 ή 8 ns, αναφέρεται στο χρόνο της δεύτερης, τρίτης και τέταρτης προσπέλασης όταν έχουμε μια μνήμη με προσπέλαση με τη μέθοδο της ριπής. Η πρώτη προσπέλαση εξακολουθεί να είναι αργή αφού απαιτεί περίπου 5 παλμούς, όπως ακριβώς συμβαίνει και στις μνήμες EDO και FPM. 2-Clock και 4-Clock Circuitry: Υπάρχουν δυο εκδόσεις SDRAM με μικρές διαφορές στη σύσταση των modules. Οι δυο εκδόσεις είναι γνωστές ως2-clock και 4- Clock SDRAM. Η διαφοράτους έγκειται στον τρόπο προσπέλασης και σχεδίασης. Μια 2-clock SDRAM είναι έτσι κατασκευασμένη, ώστε κάθε σήμα του ρολογιού να ελέγχει 2 διαφορετικά SDRAM chips μέσα στο ίδιο module, ενώ σε μια 4-clock SDRAM κάθε σήμα του ρολογιού να ελέγχει 4 διαφορετικά SDRAM chip μέσα στο ίδιο module. Στην αγορά φαίνεται να κυριαρχεί η έκδοση 4-clock SDRAM. Serial Presence Detect: Μερικές σύγχρονες μητρικές πλακέτες απαιτούν τη χρησιμοποίηση ειδικού τύπου SDRAM modules, που περιέχουν ένα chip με την ονομασία SPD (Serial Presence Detect). To SPD είναι ένα chip EEPROM, στο οποίο έχουν αποθηκευτεί πληροφορίες σχετικά με την ταχύτητα και τον τρόπο σχεδίασης των modules της SDRAM. Τα σύγχρονα DIMM-modules περιβαλαμβάνουν και ένα chip που ονομάζεται EPROM (είναι ένα chip που κρατά πληροφορίες για τα ίδια τα modules). Το EPROM είναι ένα 8-pin chip που εργάζεται ως SPD, δηλαδή κρατά τις πληροφορίες σχετικά με τον τύπο της RAM και διάφορες παραμέτρους για τον έλεγχο και τη σωστή λειτουργία της RAM. Όταν γίνεται η εκκίνηση του υπολογιστή,

150 το BIOS διαβάζει τις πληροφορίες για τα modules, που βρίσκονται αποθηκευμένες στο EPROM και αναλόγως ρυθμίζει την ταχύτητα του διαύλου μνήμης και το χτύπο του ρολογιού έτσι ώστε να υπάρξει η καλύτερη δυνατή συνεργασία μεταξύ της επεξεργαστή και της RAM. Η μητρική πλακέτα "ρωτά" το chip SPD, σχετικά με τις προδιαγραφές των modules και ανάλογα με τις απαντήσεις που δέχεται, ρυθμίζει μόνο του διάφορες παραμέτρους. CAS2 και CAS3: Το "/CAS" είναι ένα από τα βασικά σήματα που παράγονται μέσα στα chips της μνήμης και χρησιμοποιείται για τον καθορισμό της στήλης στις μνήμες DRAM. Τα σήματα "CAS2" και "CAS3", χρησιμοποιούνται για τις διαφορετικές εκδόσεις των SDRAM. Στην πραγματικότητα, τα νούμερα "2" και "3" αναφέρονται στο χρόνο αντίδρασης στα σήματα CAS, οπότε τα σήματα "CAS2" και "CAS3", μάλλον θα έπρεπε να ονομάζονται "CL2" και "CL3", αντίστοιχα. Θεωρητικά, ένα "CAS2" module είναι λίγο ταχύτερο από ένα "CAS3" module, οπότε είναι πιο κατάλληλο για συστήματα με συχνότητα διαύλου μνήμης μεγαλύτερη ή ίση των 100 MHz. Φυσική οργάνωση (Packaging): Στην αγορά υπάρχουν μνήμες SDRAM με διαφορετικά DIMM modules. DDR SDRAM 150 Οι μνήμες SDRAM αντικατέστησαν τις ασύγχρονες DRAMs (EDO και FPM), επειδή οι δεύτερες δεν μπορούσαν να ανταπεξέλθουν σε συστήματα με συχνότητα διαύλου μνήμης μεγαλύτερη ή ίση των 75 MHz. Καθώς η ταχύτητα του διαύλου μνήμης αυξάνεται, τόσο και η χρήση της SDRAM τείνει να δημιουργεί προβλήματα. Έτσι, έχει προταθεί για στάνταρ, ένας νέος τύπος μνήμης που ονομάστηκε DDR SDRAM (Double Data Rate SDRAM) και που πολύ γρήγορα πρόκειται να αντικαταστήσει τους παραδοσιακούς τύπους SDRAM. Εξέλιξη της ζήτησης για διάφορους τύπους DRAM Η DDR SDRAM έχει τον ίδιο περίπου τρόπο λειτουργίας, όπως και μια συνηθισμένη SDRAM, αλλά έχει διπλασιαστεί το εύρος ζώνης της μνήμης, αφού η μεταφορά των δεδομένων γίνεται δυο φορές μέσα στη διάρκεια ενός κύκλου (παλμού) ρολογιού. Συγκεκριμένα, το σήμα του ρολογιού που παράγεται κατά τη διάρκεια ενός παλμού αλλάζει τιμή από "0" σε "1" και στη συνέχεια ξανά σε "0". Σε όλους τους προηγούμενους τύπους μνημών, κατά τη διάρκεια ενός παλμού, γίνονταν μόνο μια προσπέλαση στη μνήμη για ανάγνωση ή γραφή. Στη μνήμη DDR SDRAM, κατά τη διάρκεια ενός παλμού, μεταφέρεται η διπλάσια ποσότητα δεδομένων (μια μεταφορά κατά την αλλαγή του σήματος του ρολογιού

151 από "0" σε "1" και μια μεταφορά κατά την αλλαγή από "1" σε "0"). Με τον τρόπο αυτό επιτυγχάνεται ο διπλασιασμός του εύρους ζώνης (bandwidth) της μνήμης. DRDRAM 151 Εκτός από την DDR SDRAM, υπάρχει και μια άλλη εναλλακτική πρόταση για την αντικατάσταση της παραδοσιακής SDRAM, που ονομάζεται DRDRAM(Direct Rambus DRAM ή Rambus DRAM). Η τεχνολογία που χρησιμοποιείται στην DRDRAM είναι εντελώς καινούργια, σε αντίθεση με την τεχνολογία των DDR SDRAMs και SLDRAMs που προέρχεται από την εξέλιξη της τεχνολογίας των παραδοσιακών SDRAMs. Το chip της μνήμης DRDRAMπροσέλκυσε την προσοχή πολλών, εξαιτίας κυρίως της απόφασης της εταιρίας Intel, να χρησιμοποιήσει την τεχνολογία της DRDRAM στα μελλοντικά chipsets. Η DRDRAM λειτουργεί περισσότερο σαν ανεξάρτητος δίαυλος. Όλη η φιλοσοφία της στηρίζεται πάνω σε έναν υψηλής ταχύτητας 16-bits δίαυλο, με συχνότητα λειτουργίας 400 MHz. Όπως και στις μνήμες DDR SDRAM, κατά τη διάρκεια ενός παλμού μεταφέρονται δυο φορές δεδομένα (μια μεταφορά κατά την αλλαγή του σήματος του ρολογιού από "0" σε "1" και μια μεταφορά κατά την αλλαγή από "1" σε "0"), με αποτέλεσμα το θεωρητικό εύρος ζώνης να ανέρχεται περίπου στα 1.6 Gbytes/second. Οι μνήμες DRDRAM (όπως και οι SDRAM), έχουν ενσωματωμένο ένα chip SPD, στο οποίο έχουν αποθηκευτεί πληροφορίες σχετικά με τα χαρακτηριστικά της DRDRAM. Η μνήμες DRDRAM έχουν σχεδιαστεί έτσι ώστε να χρησιμοποιούν έναν ειδικό τύπο module που ονομάζεται RIMM (RamΒus Inline Memory Module). 2 μεταφορές δεδομένων στη διάρκεια ενός παλμού του ρολογιού Η DRDRAM μπορεί να γίνει ο μελλοντικός τύπος μνήμης RAM. Η Intel, καθώς και άλλες εταιρίες, περιμένουν πολλά από αυτό τον τύπο DRAM. ΗDRDRAM είναι μια εξελιγμένη μορφή της παραδοσιακής DRAM αλλά η αρχιτεκτονική της ανοίγει νέους ορίζοντες με εντυπωσιακή αύξηση της απόδοσης της μνήμης και του συστήματος γενικά. Τα 600 MHz είναι ικανοιποιητική συχνότητα, ενώ ακολουθούν συχνότητες της τάξης GHz. Είναι πιθανό να καταργηθεί η L2-Cache εάν προχωρήσει η ιδέα της RDRAM. Το chip της RDRAM πρέπει να τοποθετείται κοντά στον επεξεργαστή, προκειμένου να ελλατωθούν τα παράσιτα.

152 152 SLDRAM Εξέλιξη της ταχύτητας του διαύλου μνήμης για διάφορους τύπους DRAM Ο κύριος ανταγωνιστής της DRDRAM για το στάνταρ μνήμης είναι η SLDRAM (Synchronous- Link DRAM). Αυτός ο τύπος μνήμης δημιουργήθηκε από μια ομάδα 20 εταιριών κατασκευής υπολογιστών. Η μνήμη SLDRAM προέκυψε από την εξέλιξη της παραδοσιακής SDRAM και δε χρησιμοποιεί μια εντελώς νέα τεχνολογία, όπως συμβαίνει και με τις μνήμες DRDRAM. Συγκεκριμένα, οι αρχικές προδιαγραφές της SLDRAM προέβλεπαν ένα δίαυλο με εύρος 64 bits σε συχνότητα ρολογιού ίση με 200 MHz. Επίσης, όπως και με τις μνήμες DDRSDRAM, κατά τη διάρκεια ενός παλμού ρολογιού μεταφέρονται δυο φορές δεδομένα με συχνότητα γύρω στα 400 MHZ. Το θεωρητικό εύρος ζώνης για τις μνήμες SLDRAM είναι περίπου 3.2 Gbytes/second, διπλάσιο από το εύρος ζώνης των μνημών DRDRAM. VRAM Οι σύγχρονοι προσαρμοστές γραφικών (video adapters), χρησιμοποιούν τη δική τους RAM, η οποία δεν έχει καμιά σχέση με την κύρια μνήμη του συστήματος. Οι απαιτήσεις για τη μνήμη RAM της κάρτας γραφικών είναι πολύ μεγάλες, αφού τα περιεχόμενά της θα πρέπει να προσπελαστούν φορές ανά δευτερόλεπτο, προκειμένου να απεικονιστούν οι σωστές πληροφορίες στην οθόνη του υπολογιστή. Επομένως, είναι απαραίτητη η ανάπτυξη ενός νέου ταχύτατου τύπου μνήμης, που θα επιτρέπει την ταυτόχρονη προσπέλαση από τον επεξεργαστή και από τα κυκλώματα αναζωογόνησης (refresh) της RAM. Αυτού του είδους η τεχνική ονομάζεται dual porting και συναντάται στις μνήμες VRAM (Video RAM).

153 Χρονισμός του συστήματος 153 Ο παρακάτω πίνακας δείχνει τον ιδανικό χρονισμό του συστήματος για διάφορους τύπους μνημών, στα 66MHz: Τεχνολογία Μνήμης Ταχύτητα διαύλου μνήμης Ιδανικός χρονισμος ΤαχύτηταDRAM (ns) Συμβατική ή χειρότερη FPM EDO BEDO SDRAM

154 Μέγεθος της Μνήμης 154 Μέγιστη ποσότητα μνήμης Κάθε σύστημα έχει ένα άνω όριο στην ποσότητα της μνήμης που μπορεί να υποστηρίξει. Οι πιο σημαντικοί παράγοντες που καθορίζουν αυτό το όριο είναι οι εξής: Περιορισμοί διευθυνσιοδότησης: Κάθε επεξεργαστής έχει ένα άνω όριο στον αριθμό των διευθύνσεων που μπορεί να αναγνωρίσει. Το όριο υπαγορεύεται από το εύρος του διαύλου διευθύνσεων μνήμης (memory address bus), αφού όσο μεγαλύτερο είναι το πλάτος του διαύλου, τόσο περισσότερες διαφορετικές διευθύνσεις μπορούν να αναγνωριστούν. Επεξεργαστές, όπως οι 486DX και μεταγενέστεροι, ήταν ικανοί να αναγνωρίσουν τουλάχιστον 4 GB φυσικής μνήμης. Στην πράξη, η ικανότητα διευθυνσιοδότησης ενός επεξεργαστή δε θέτει όρια στην ποσότητα της μνήμης που θα χρησιμοποιηθεί, αφού υπάρχουν άλλοι παράγοντες (chipsets), που θέτουν πιο αυστηρούς περιορισμούς. Υπάρχουν ελάχιστα συστήματα που έχουν περισσότερη κύρια μνήνη από 1 GB. Περιορισμοί των chipsets: Ο ελεγκτής της μνήμης είναι μέρος του chipset του συστήματος και κάθε chipset έχει ένα άνω όριο στο μέγεθος της μνήμης που μπορεί να χειριστεί. Για τα περισσότερα PCs αυτό το όριο κυμαίνεται μεταξύ ΜΒ. Ωστόσο, μερικά συστήματα, όπως το Pentium-Pro μπορούν να χειριστούν ακόμα μεγαλύτερα ποσά μνήμης. Φυσικοί περιορισμοί στο πακετάρισμα της μνήμης: Οι σύγχρονες μνήμες χρησιμοποιούν SIMMs ή DIMMs. Η μητρική πλακέτα και τα chipsets καθορίζουν πόσα SIMMs ή DIMMs μπορούν να χρησιμοποιηθούν. Από τη στιγμή που υπάρχουν περιορισμοί στο πόσο "μεγάλα" θα είναι τα SIMMsή DIMMs, τίθεται ένας ακόμα περιοριστικός παράγοντας στη μέγιστη ποσότητα της μνήμης. Για παράδειγμα, οι μητρικές πλακέτες που διαθέτουν το chipset Intel Triton II 430HX έχουν μέγιστο όριο μνήμης (λόγω των περιορισμών των chipsets) 512 MB. Ωστόσο, οι περισσότερες από αυτές τις μητρικές πλακέτες έχουν μόνο 4 SIMM sockets. Από τη στιγμή που κάθε SIMM μπορεί να έχει μέγεθος μέχρι 64 MB, συνεπάγεται ότι το μέγιστο μέγεθος της μνήμης είναι 256 ΜΒ. Περιορισμοί κόστους: Αν και οι τιμές των σύγχρονων τύπων μνήμης συνεχώς μειώνονται, η αγορά μεγάλων ποσοτήτων ταχύτατης μνήμης μπορεί να αυξήσει σε απαγορευτικό σημείο το κόστος αγοράς τους.

155 155 Εξέλιξη του μεγέθους των μνημών DRAM Μέγεθος μνήμης και απόδοση του συστήματος Το μέγεθος της κύριας μνήμης, που διαθέτει ένας υπολογιστής, παίζει σημαντικό ρόλο στη διαμόρφωση της συνολικής απόδοσης του συστήματος. Επομένως, ανάλογα με το σύστημα που διαθέτουμε και το σκοπό για τον οποίο θα το χρησιμοποιούμε (είδος προγραμμάτων που χρησιμοποιούμε), πρέπει να έχουμε εγκαταστήσει τον κατάλληλο τύπο μνήμης στην κατάλληλη ποσότητα. Η βελτίωση της απόδοσης σε ένα σύστημα Pentium 100MHz με λειτουργικό σύστημα Windows 95 για διάφορα μεγέθη DRAM

156 156 Η βελτίωση της απόδοσης σε ένα σύστημα Pentium Pro 200MHz με λειτουργικό σύστημα Windows 95 για διάφορα μεγέθη DRAM Το μέγεθος της μνήμης δεν επηρεάζει την ταχύτητά της, ούτε επίσης την ταχύτητα του επεξεργαστή, των chipsets, της μητρικής πλακέτας καθώς και άλλων εξαρτημάτων του υπολογιστή. Αυτό ισχύει μόνο στην περίπτωση που όλα τα προγράμματα που "τρέχουν" ταυτοχρόνως χωράνε στην κύρια μνήμη του συστήματος. Στην περίπτωση συστημάτων πολυεργασίας, χρησιμοποιούμε εικονική μνήμη. Αν το μέγεθος της κύριας μνήμης είναι πολύ μικρό σε σχέση με τις πραγματικές απαιτήσεις, θα έχουμε πολλές μεταφορές σελίδων μεταξύ του σκληρού δίσκου και της κύρια μνήμης, οπότε η επιπλέον καθυστέρηση θα ρίχνει σημαντικά την απόδοση του συστήματος. Ο καλύτερος τρόπος για να εκτιμήσουμε τη σχέση μεταξύ του μεγέθους της κύριας μνήμης και της συνολικής απόδοσης του συστήματος, είναι να συγκρίνουμε ίδια συστήματα που εκτελούν τις ίδιες εργασίες και έχουν διαφορετικές ποσότητες μνήμης (του ίδιου τύπου). Σχετικά με το μέγεθος της μνήμης που πρέπει να χρησιμοποιηθεί σε διάφορες περιπτώσεις παρατίθεται ο παρακάτω πίνακας: Λειτουργικό Σύστημα και Εφαρμογές Ελάχιστες απαιτήσεις κύριας μνήμης για υποφερτή απόδοση Ελάχιστες απαιτήσεις κύριας μνήμης για καλή απόδοση Σημείο ισορροπίας αναλογίας μεγέθους - κέρδους DOS, Single Tasking 4 MB 8 MB 16 MB Εργασία Windows 3.x γραφείου, 8 MB 16 MB 32 MB Windows 95 πολυεργασία, υψηλών απαιτήσεων παιχνίδια DOS 16 MB 32 MB 64 MB Windows NT Workstation MB 48 MB 128+ MB Επεξεργασία γραφικών, Multimedia, Servers 32 MB 64+ MB Η σχέση είναι ανάλογη

157 Μέγιστη ποσότητα κρυφής μνήμης 157 Θα πρέπει να γίνει κατανοητό ότι δεν μπορούμε να χαρτογραφήσουμε όλη την κύρια μνήμη στην κρυφή μνήμη. Παράδειγμα αποτελούν τα chipsets της Intel 430FX, 430VX, 430HX και 430TX. Από αυτά τα chipsets, μόνο το 430HX υποστηρίζει 128 MB κύριας μνήμης, από τα οποία μόνο 64 ΜΒ μπορούν να γραφούν στην κρυφή μνήμη. Πραγματική και Εικονική μνήμη Η Real memory, είναι η πραγματική μνήμη που έχουμε εγκαταστήσει στο σύστημά μας. Ωστόσο, μερικές φορές είναι καλό να "ξεγελούμε" τον υπολογιστή και να τον κάνουμε να "πιστεύει" ότι έχει στη διάθεσή του περισσότερη μνήμη, από αυτή που πραγματικά διαθέτει. Ιδιαίτερα σε περιπτώσεις όπου τρέχουμε μεγάλα προγράμματα ή σε περιπτώσεις πολυεργασίας (multitasking), η μέθοδος αυτή είναι χρήσιμη και έχει ονομαστεί εικονική μνήμη(virtual memory). Η εικονική μνήμη λειτουργεί κατά τον εξής απλό τρόπο: Ας υποθέσουμε ότι το λειτουργικό σύστημα χρειάζεται 80 MB για να κρατήσει όλα τα προγράμματα που τρέχουν, αλλά υπάρχουν μόνο 32 MB πραγματικής κύριας μνήμης. Το λειτουργικό σύστημα υποθέτει ότι είναι διαθέσιμα 80 MB εικονικής μνήμης, οπότε "καλεί" ένα πρόγραμμα που διαχειρίζεται την εικονική μνήμη και είναι γνώστο ως διαχειριστής εικονικής μνήμης (virtual memory manager). Στη συνέχεια, δημιουργείται ένα αρχείο ανταλλαγής (swap file) στο σκληρό δίσκο, με μέγεθος 80-32=48 ΜΒ, που ανταλλάσει τα περιεχόμενά του με αυτά της πραγματικής κύριας μνήμης. Το λειτουργικό σύστημα πλέον "βλέπει" 80 ΜΒ μνήμης, ενώ ο διαχειριστής εικονικής μνήμης είναι επιφορτισμένος με τη διαχείριση της πραγματικής μνήμης των 32 ΜΒ. Φυσικά, από τα 80 ΜΒ που απαιτούνται, μόνο τα 32 ΜΒ είναι αποθηκεύμενα στην κύρια μνήμη, ενώ τα υπόλοιπα 48 ΜΒ βρίσκονται στο αρχείο ανταλλαγής του δίσκου. Όταν το λειτουργικό σύστημα χρειάζεται ένα τμήμα της μνήμης που όμως βρίσκεται στο αρχείο του δίσκου, ο διαχειριστής εικονικής μνήμης διαβάζει αυτό το τμήμα από τα αρχείο και το αντιγράφει στην κύρια μνήμη, στη θέση ενός block δεδομένων που δεν έχουν χρησιμοποιηθεί πρόσφατα. Τα blocks των δεδομένων που ανταλλάσονται μεταξύ σκληρού δίσκου και κύριας μνήμης, συνήθως ονομάζονται σελίδες(pages). Η αρχή λειτούργιας της εικονικής μνήμης Η εικονική μνήμη είναι μια σημαντική επινόηση στο χώρο των υπολογιστών, με δεδομένους τους περιορισμούς στη ποσότητα της κύριας μνήμης που μπορούμε να εγκαταστήσουμε στο σύστημά μας. Χωρίς τη χρησιμοποίηση εικονικής μνήμης δεν θα

158 μπορούσαμε να τρέχουμε πολλά προγράμματα ταυτοχρόνως (multitasking), αφού δε διαθέτουμε τις απαιτούμενες ποσότητες κύριας μνήμης για να ικανοποιήσουν ταυτοχρόνως όλα τα προγράμματα. Τα Windows 95, είναι μια χαρακτηριστική περίπτωση λειτουργικού συστήματος, το οποίο χρησιμοποιεί εικονική μνήμη, αφού παρέχει τη δυνατότητα στους χρήστες για πολυεργασία. Θα πρέπει να σημειωθεί ότι η ιδέα για την χρησιμοποίηση εικονικής μνήμης τοποθετείται χρονολογικά πολύ πριν από την εμφάνιση των Windows, καθώς είχε σχεδιαστεί για λειτουργικά συστήματα κεντρικών υπολογιστών (UNIX, VMS, κλπ). 158 Η χρησιμοποίση εικονικής μνήμης έχει όμως και κάποια μειονεκτήματα. Αν το μέγεθος του αρχείου ανταλλαγής στο δίσκο είναι κατά πολύ μεγαλύτερο από το μέγεθος της κύριας μνήμης, τότε θα συμβαίνουν πολλές αναταλλαγές μεταξύ σκληρού δίσκου και κύριας μνήμης. Όμως ο σκληρός δίσκος είναι πολύ πιο αργός από την RAM, με αποτέλεσμα να υπάρχει καθυστέρηση κατά την ανταλλαγή, οπότε μειώνεται η απόδοση της μνήμης και γενικότερα του συστήματος. Οι συνεχείς ανταλλαγές δεδομένων μεταξύ σκληρού δίσκου και κύριας μνήμης είναι γνωστές ως thrashing. Το πρόβλημα thrashing επιδεινώνεται σε συστήματα που είναι ιδιαίτερα επιβαρυμένα και δεν έχουν σχετικά μεγάλη ποσότητα κύριας μνήμης. Για παράδειγμα, αν χρησιμοποιήσουμε το λειτουργικό σύστημα Windows NT, σε έναν υπολογιστή με 16 ΜΒ RAM, τότε είναι σίγουρο ότι θα έχουμε συνεχείς ανταλλαγές σελίδων μεταξύ σκληρού δίσκου και κύριας μνήμης. Αυτό συμβαίνει γιατί τα Windows NT θέλουν ΜΒ από μόνα τους, με αποτέλεσμα για κάθε επιπλέον εφαρμογή να έχουμε thrashing.

159 Φυσική Οργάνωση Μνήμης 159 Εισαγωγή Όπως οι επεξεργαστές, έτσι και οι μνήμες είναι κατασκευασμένες από μικροσκοπικούς ημιαγωγούς. Όλοι αυτοί οι ημιαγωγοί καθώς και τα λοιπά κυκλώματα πρέπει να ενoποιηθούν σε ένα chip, έτσι ώστε να συνδεθούν με τα υπόλοιπα μέρη του υπολογιστή. Πολλές φορές συνδέουμε μεταξύ τους πολλά chips μνήμης και δημιουργούμε μεγαλύτερες μονάδες οργάνωσης. DIPs Τα περισσότερα chips μνήμης, περιβάλλονται από ένα πλαστικό ή κεραμικό κάλυμμα και ονομάζονται DIPs (Dual Inline Packages). Τα DIPs έχουν ορθογώνιο σχήμα και στις δυο μεγαλύτερες πλευρές υπάρχουν ακίδες (pins), που χρησιμοποιούνται για τη μεταφορά σημάτων και δεδομένων από και προς το chip. Τα DIPs είναι τα μαύρα κουτάκια που φαίνονται πάνω στα SIMMs και DIMMs, τα οποία είναι η αμέσως επόμενη βαθμίδα στη φυσικη οργάνωση της μνήμης. Τα DIPs ήταν ο πρώτος τρόπος φυσικής οργάνωσης της μνήμης και εξακολουθεί να χρησιμοποιείται και στους σύγχρονους υπολογιστές. Κλασσικό παράδειγμα μνήμης με οργάνωση DIP Στους παλιούς υπολογιστές οι ακίδες των DIPs συνδεόταν με καλάι πάνω στη μητρική πλακέτα. Αυτοί οι υπολογιστές είχαν μικρά ποσά μνήμης (λιγότερα από 1MB) και επομένως ο παραπάνω τρόπος οργάνωσης της μνήμης ήταν απλός και εύκολος στην υλοποίηση. Ωστόσο, αν κάποιο από τα chips καταστρεφόταν, έπρεπε να αντικαταστήσουμε τη μητρική πλακέτα. Επομένως, η άμεση σύνδεση των DIPs με τη μητρική πλακέτα δεν ήταν και ο καλύτερος τρόπος φυσικής οργάνωσης της μνήμης. Το επόμενο βήμα ήταν η χρησιμοποίηση ειδικών υποδοχών (sockets), μέσα στις οποίες τοποθετούνταν τα DIPs. Εξαιτίας της θερμικής διαστολής και συστολής που παρουσιάζονταν κάθε φορά που άνοιγε ή έκλεινε ο υπολογιστής αντίστοιχα, είχαμε ως αποτέλεσμα τη συχνή αποσύνδεση των ακίδων των DIPs από τα sockets. Το φαινόμενο αυτό είναι γνωστό ως chip creep. Επομένως, έπρεπε κάθε φορά να ανοίγουμε τον υπολογιστή και να επανασυνδέουμε τα DIPs. Κλασσικό παράδειγμα αποτελούσαν τα παλιά συστήματα XT. Στα σύγχρονα συστήματα τα DIPs δε συνδέονται απευθείας στη μητρική πλακέτα, αλλά συνδυαζόταν πολλά μαζί μέσα σε ένα μικρό κύκλωμα, που ονομάζεται memory module. Υπάρχουν δυο βασικοί τύποι memory module: DIMM (Dual Iniline Memory Module)

160 και SIMM (Single Iniline Memory Module). Αυτά τα κυκλώματα που περιείχαν τα DIPs, εισάγονταν σε ειδικές υποδοχές, που είχαν σχεδιαστεί έτσι ώστε να περιορίζεται κατά το δυνατόν το φαινόμενο chip creep. SIMMs 160 Τα SIMMs είναι ο πιο κοινός τύπος memory module που χρησιμοποιείται στο χώρο των προσωπικών υπολογιστών. Η αρχική έκδοση των SIMMs modules ήταν των 8 bits πάνω σε μια μικρή κάρτα που έδινε 1, 2, ή 4 ΜΒ RAM. Συνδεόταν στη μητρική πλακέτα με έναν 30- pin συνδετήρα. Επειδή το κάθε module διέθετε 8 bits, οι 16-bit επεξεργαστές (286 και 386SX) χρειάζονταν 2 SIMMs σε ένα ζεύγος. Εξαιτίας αυτού υπήρχε χώρος για 2 modules που αποκαλούνταν banks. Οι επεξεργστές των 32 bit (386DX και 486) απαιτούσαν 4 SIMMs των 8 bits σε κάθε bank, αφού τα δικά τους banks είχαν εύρος 32 bits. Έτσι, σε έναn τυπικό επεξεργαστή πρώτης γενιάς, όπως ο 486, μπορούσαμε να εγκαταστήσουμε 4 X 1 MB, 4 X 2 MB, ή 4 X 4 MB σε κάθε bank. Εάν διαθέταμε ένα μόνο bank (διαθέσιμος χώρος για 4 modules), ήταν δαπανηρό να αυξήσουμε τη RAM, γιατί έπρεπε να απομακρύνουμε τα παλιά modules. Το πρότυπο των 30-pin SIMMs χρησιμοποιήθηκε και για συστήματα με επεξεργαστές τρίτης και τέταρτης γενιάς. Σε συστήματα με επεξεργαστές τέταρτης, πέμπτης και έκτης γενιάς χρησιμοποιείται το πρότυπο των 72-pin SIMMs. Ο τρόπος σύνδεσης των DIPs πάνω σε ένα memory module τύπου SIMM Τα SIMMs τοποθετούνται μέσα σε ειδικές υποδοχές πάνω στη μητρική πλακέτα. Οι υποδοχές είναι έτσι κατασκευασμένες ώστε να κρατούν σταθερά τα SIMMs. Όπως είπαμε, τα 30-pin SIMMs μπορούσαν να έχουν μέγεθος 1-16 MB. Κάθε 30-pin SIMM διαθέτει 30 ακροδέκτες και έχει τη δυνατότητα αποθήκευσης ενός byte (8 bits) δεδομένων, συν ένα bit ισοτιμίας στις εκδόσεις που υποστηρίζουν τα bits ισοτιμίας. Τα 72-pin SIMMs διαθέτουν 72 ακροδέκτες και μπορούν να αποθηκεύσουν τέσσερα bytes (32 bits) στη σειρά, συν τέσσερα bits ισοτιμίας για εκδόσεις που υποστηρίζουν τα bits ισοτιμίας. Τα SIMMs διακρίνονται σε double-sided και single-sided, αναλόγα με το αν τα chips της DRAM βρίσκονται και στις δυο πλευρές ή μόνο στη μια πλευρά των SIMMs αντιστοίχως. Τα 72-pin SIMMs είναι είτε single-sided, είτε double-sided. Μερικά double-sided SIMMs κατασκευάζονται σαν σύνθετα single-sided SIMMs. Εσωτερικά, είναι καλωδιωμένα σαν να ήταν πραγματικά δυο singlesided SIMMs. Ωστόσο, μερικές μητρικές πλακέτες δεν μπορούν να χρησιμοποιήσουν τέτοια SIMMs, επειδή παρουσιάζουν διαφορές στα ηλεκτρικά κυκλώματα.

161 161 Εμπρός και πίσω όψη μιας 30-pin μνήμης SIMMs (4 MB, single-sided) Τα 72-pin SIMMs, που έχουν μέγεθος 1 MB, 4 MB και 16 MB είναι single-sided, ενώ αυτά με μέγεθος 2 ΜΒ, 8 ΜΒ και 32 ΜΒ είναι συνήθως double-sided. Εξαιτίας αυτής της διάκρισης, υπάρχουν πολλές μητρικές πλακέτες που λειτουργούν μόνο με 1 MB, 4 MB και 16 MB SIMMs. Οι περισσότερες μητρικές πλακέτες υποστηρίζουν μόνο 30-pin SIMMs ή 72-pin SIMMs. Ωστόσο, μερικά μητρικές πλακέτες της επεξεργαστές της σειράς 486 υποστηρίζουν ταυτοχρόνως και τους δυο τύπους SIMMs. Υπάρχουν όμως αυστηροί περιορισμοί στον τρόπο που θα τα χρησιμοποιήσουμε. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε μόνο μια 72-pin υποδοχές, στην περίπτωση που έχουμε εγκαταστήσει 30-pin SIMMs. Εμπρός και πίσω όψη μιας 72-pin μνήμης SIMMs (8 MB, double-sided) Από τη στιγμή της εμφάνισης των επεξεργαστών 486, παρατηρήθηκε αύξηση της ζήτησης για RAM και τότε ήρθαν στο προσκύνιο τα modules των 32 bits. Η μητρική πλακέτα του 486 μπορούσε να υποστηρίξει 4 υποδοχές για SIMMs, αλλά όταν εμφανίστηκαν τα 32-bit modules υπήρξε η δυνατότητα για εγκατάσταση ενός κάθε φορά. Αυτό ήταν πολύ έξυπνο, αφού μπορούσαμε να προσθέσουμε διαφορετικούς τύπους modules και να κρατήσουμε τους παλαιούς. Επίσης, από τη στιγμή που η μητρική πλακέτα του 486 "έτρεχε" στα 33 MHz (δίαυλος μνήμης), η ανάμιξη διαφορετικών τύπων modules δεν δημιουργούσε πρόβλημα. Έτσι, μπορούσαμε να συνδιάσουμε modules των 60 ns και 70 ns σε διαφορετικούς διαύλους χωρίς να υπάρξουν προβλήματα. Η μητρική πλακέτα των Pentiums με SIMMs Στη μητρική πλακέτα των Pentiums ο δίαυλος μνήμης έχει εύρος 64 bits, επομένως τα 32-bit modules πρέπει να εγκαθίστανται σε ζεύγη. Μια μητρική πλακέτα που διέθετε 2 banks με 4 υποδοχές για SIMMs είχε περιορισμένες δυνατότητες επέκτασης. Προσοχή, δεν πρέπει να χρησιμοποιούμε ποτέ διαφορετικής ταχύτητας RAM modules πάνω στην ίδια μητρική πλακέτα των Pentiums, αφού όλα τα modules πρέπει να έχουν την ίδια ταχύτητα για να λειτουργεί σωστά το σύστημα. Μερικές μητρικές πλακέτες (όπως το TYAN) διαθέτουν 6 ή 8 υποδοχές για SIMMs, με αποτέλεσμα να έχουν μεγαλύτερη ευελιξία στην εισαγωγή επιπρόσθετης RAM. Παρακάτω παρουσιάζεται ένας πίνακας με συνδιασμούς πάνω σε μια παλιά μητρική πλακέτα που διέθετε 4 υποδοχές για SIMMs.

162 162 Bank 1 Bank 2 Total RAM 16 MB + 16 MB - 32 MB 16 MB + 16 MB 32 MB + 32 MB 96 MB 32 MB + 32 MB 32 Mb + 32 MB 128 MB DIMMs Τα DIMMs (Dual Iniline Memory Module) είναι ο νέος τύπος memory module που χρησιμοποιείται στoυς υπολογιστές. Τα DIMMs έχουν μήκος 64 bits και συνδέονται μόνο στις σύγχρoνες μητρικές πλακέτες, μέσω ενός 168-pin συνδετήρα. Αφού τα DIMM modules είναι 64 bits, μπορούμε να εγκαταστήσουμε έστω και ένα από αυτά, για να λειτουργεί το σύστημα. Υπάρχουν διάφορες εκδόσεις των 8, 16, 32, 64, 128 και 256 MB με ταχύτητα 6, 8, 10 και 12 ns. Πάνω στις σύγχρονες μητρικές πλακέτες υπάρχουν συνήθως 3 υποδοχές για DIMM modules.το μεγάλο πλεονέκτημα της SDRAM είναι η αυξημένη ταχύτητα που επιτρέπει και την αύξηση της ταχύτητας του διαύλου μνήμης. Με EDO RAM σε ταχύτητα 60 ns μπορούμε να επιτύχουμε μέγιστη ταχύτητα στο δίαυλο μνήμης 75 MΗz, ενώ με SDRΑΜ η ταχύτητα του διαύλου μνήμης μπορεί να φτάσει και τα 100 MΗz. Επιπλέον, η SDRΑΜ εργάζεται σε συγχρονισμό με το δίαυλο μνήμης για καλύτερη απόδοση του συστήματος. Όλα τα νέα chipsets μπορούν να χειριστούν SDRAM. Μερικές μητρικές πλακέτες διαθέτουν εξίσου υποδοχές για DIMM και SIMM modules, έτσι ώστε να υπάρχει η δυνατότητα επιλογής ανάμεσα σε EDO (υποδοχές για SIMM) και σε SDRAM (υποδοχές για DIMM). Συνδετήρες και Υποδοχές Οι συνδετήρες (connectors) των memory modules, καθώς και οι υποδοχές (sockets) της μητρικής πλακέτας είναι διαθέσιμα σε δυο χρώματα: σε χρυσό και ασημένιο. Οι περισσότερες παλιές μητρικές πλακέτες χρησιμοιούσαν για τη σύνδεση των SIMMs, υποδοχές με χρυσό χρώμα, ενώ στις νέες μητρικές πλακέτες χρησιμοποιούνται υποδοχές ασημένιου χρώματος. Είναι σημαντικό να κατανοήσουμε ότι πρέπει να τοποθετούμε τα memory modules σε υποδοχές του ίδιου χρώματος (δηλαδή "χρυσά" memory modules σε "χρυσές" υποδοχές και "ασημένια" memory modules σε "ασημένιες" υποδοχές). Αν τοποθετήσουμε ένα memory module σε διαφορετικού χρώματος υποδοχή, τότε υπάρχει η περίπτωση μετά από κάποιο χρονικό διάστημα να συμβεί χημική αντίδραση μεταξύ των επιφανειών διαφορετικού χρώματος και να παραχθούν οξείδια που επικάθονται στα σημεία επαφής. Αυτά τα οξείδια καθιστούν τη σύνδεση μη αξιόπιστη και μπορούν να προκαλέσουν μια σειρά δυσλειτουργιών (βραχυκύκλωμα) μέσα στο σύστημα. Προκειμένου να αποφύγουμε δυσάρεστες καταστάσεις, πρέπει να προσέχουμε όταν αγοράζουμε μνήμη, να συμπίπτει το χρώμα των memory modules με το χρώμα των υποδοχών της μητρικής πλακέτας. Το στάνταρ που χρησιμοποιείται στις σύγχρονες μνήμες με SIMMs, είναι τα ασημένια memory modules. Η χρησιμοποίηση χρυσού χρώματος αντί για ασημένιο μεώνει το κόστος και αν τηρηθούν μερικές προφυλάξεις έχει την ίδια αξιοπιστία.

163 163 υποδοχές για DIPs υποδοχές για DIMMs υποδοχές για SIMMs Memory Banks Τα δεδομένα μεταφέρονται μεταξύ της κύριας μνήμης και του επεξεργαστή μέσω του διαύλου δεδομένων μνήμης (memory data bus). Το εύρος (width) του διαύλου δεδομένων μνήμης, υποδεικνύει την ποσότητα των πληροφοριών που μετακινούνται στη διάρκεια ενός παλμού του ρολογιού. Επειδή το εύρος του διαύλου δεδομένων του επεξεργαστή (processor data bus), είναι μεγαλύτερο σε σχέση με το εύρος του κάθε chip της μνήμης, θα πρέπει να οργανώσουμε έτσι τα chips, ώστε να μπορούμε να στέλνουμε ομάδες bits που να έχουν το ίδιο μήκος με το εύρος του διαύλου δεδομένων του επεξεργαστή. Η ποσότητα της μνήμης που μπορεί να οργανωθεί ως μια οντότητα, έτσι ώστε να καλύπτει το εύρος του διαύλου δεδομένων του επεξεργαστή ονομάζεταιbank. Για παράδειγμα, οι περισσότεροι σύγχρονοι υπολογιστές έχουν 32 bits (τέταρτης γενιάς επεξεργαστές) ή 64 bits (πέμπτης και έκτης γενιάς επεξεργαστές) δίαυλο δεδομένων μνήμης. Συνήθως, η αρίθμηση των banks αρχίζει από το μηδέν, αν και μερικές φορές μπορεί να αρχίσει και από το ένα. Όταν τοποθετούμε τα chips της μνήμης, θα πρέπει να αρχίζουμε από το bank με το μικρότερο αριθμό αναγνώρισης (bank "0" ή bank "1"), και να συνεχίζουμε προς τo bank με τον αμέσως μεγαλύτερο αριθμό αναγνώρισης.

164 164 Τα memory banks πάνω στη μητρική πλακέτα Κάθε ένας από τους διαφορετικούς τύπους memory modules οργανώνονται με τέτοιο τρόπο, ώστε να είναι δυνατή η ταυτόχρονη προσπέλαση σε μια ομάδα bits που έχει το ίδιο εύρος με το δίαυλο δεδομένων του επεξεργαστή. Τα 30-pin SIMMs έχουν εύρος 8 bits, τα 72-pin SIMMs έχουν εύρος 32 bits, ενώ τα DIMMs έχουν εύρος 64 bits. Αν προστέσουμε και τα bits ισοτιμίας, τότε τα 30-pin SIMMs θα έχουν εύρος 9 bits, τα 72-pin SIMMs θα έχουν εύρος 36 bits ενώ τα ECC DIMMs θα έχουν εύρος 72 bits. Πρέπει να επιλέγουμε τον κατάλληλο τύπο μνήμης και να οργανώνουμε με τέτοιο τρόπο τα διαθέσιμα chips, ώστε να δημιουργούμε banks που να καλύπτουν το εύρος του διαύλου δεδομένων του επεξεργαστή. Η διαδικασία της επιλογής και οργάνωσης είναι σχετικά δύσκολη. Πάντως, παρακάτω παρατίθεται ένας πίνακας που διευκολύνει ως ένα βαθμό την παραπάνω διαδικασία:

165 165 Οικογένεια επεξεργαστών Εύρος του διαύλου δεδομένων του επεξεργαστή (bits) Μέγεθος Non- Parity Bank (bits) Μέγεθος Parity/ECC Bank (bits) 30-Pin SIMMs ανά Bank 72-Pin SIMMs ανά Bank 168- Pin DIMMs ανά Bank 80286, 80386SX 80386DX, 80486DX, 80486SX, 80486DX2, 80486DX4, AMD 5x86, Cyrix 5x86, Pentium OverDrive για 486 Pentium, Pentium OverDrive for Pentiums, Pentium MMX, Pentium MMX OverDrive, 6x86, K5, Pentium Pro, Pentium II, K6, 6x86MX Όπως φαίνεται από τον παραπάνω πίνακα, υπολογιστές με 64 bits data bus μπορούν να χρησιμοποιήσουν 8 30 pin SIMMs, για να δημιουργήσουν ένα bank. Στις μητρικές πλακέτες με επεξεργαστές 486 μπορούμε, με την τοποθέτηση ενός 128-pin DIMM να δημιουργήσουμε δυο banks, αφού το εύρος του 128-pin DIMM είναι 64 bits και το εύρος του διαύλου δεδομένων μνήμης είναι 32 bits. Στην πράξη δε χρησιμοποιούμε ποτέ την τελευταία τεχνική. Η κατηγορία των υπολογιστών Pentium χρειάζεται δυο 72-pin SIMMs για να δημιουργηθεί ένα bank. Γι αυτό θα πρέπει να αγοράζουμε πάντα ζεύγη από 72-pin SIMMs για τα συστήματα Pentium. Ωστόσο, υπάρχουν μερικές μητρικές πλακέτες για Pentium στα οποία μπορούμε να τοποθετήσουμε ένα μόνο 72-pin SIMM. Στην πραγματικότητα, σε κάθε παλμό του ρολογιού έχουμε δυο φορές προσπέλαση σε 32 bits, οπότε σε κάθε παλμό θα είναι διαθέσιμα 2*32=64 bits, που αποτελούν ένα bank. Η μέθοδος αυτή είναι καλό να αποφεύγεται, αφού οδηγεί σε μείωση της απόδοσης του συστήματος. Τέλος, πρέπει να χρησιμοποιούμε τον ίδιο τύπο SIMMs όταν πρόκειται να συνδιαστούν για τη δημιουργία ενός bank, διαφορετικά μπορούν να εμφανιστούν σοβαρά προβλήματα στο χρονισμό της μνήμης.

166 Προδιαγραφές εύρους των memory modules 166 Σε κάθε memory module υπάρχουν επιγραφές που ενημερώνουν τον αγοραστή, εκτός των άλλων και για το εύρος (σε bits) του module. Πριν προχωρήσουμε στην αποκωδικοποίση των επιγραφών πρέπει να ξεκαθαρίσουμε ότι ίδιοι τύποι modules έχουν το ίδιο εύρος. Για παράδειγμα, όλα τα 72-pin (parity) SIMMs έχουν το ίδιο εύρος. Το ίδιο συμβαίνει και με όλους τους τύπους 72-pin (non-parity) SIMMs, που κυκλοφορούν στην αγορά. Ένα SIMM ή DIMM χαρακτηρίζεται από μια επιγραφή, όπως για παράδειγμα η "2x32-60". Το γράμμα "x" μεταφράζεται με τη λέξη "από". Τα υπόλοιπα σύμβολα σε μια επιγραφή του τύπου "DxW- S", μεταφράζονται ως εξής: D: Το γράμμα D είναι βάθος του module, δηλαδή ο αριθμός των διαφορετικών διευθύνσεων που υπάρχουν μέσα στο module και εκφράζεται σε εκατομμύρια. Συνηθησμένες τιμές του D είναι 1, 2, 4 ή 8. W: Είναι το εύρος των λέξεων του module, δηλαδή το πλήθος των bits που υπάρχουν σε κάθε λέξη. Για non-parity modules η τιμή του W είναι 8, 32 ή 64, ενώ για parity ή ECC modules το W έχει τιμή 9, 36 ή 72. S: Το γράμμα S εκφράζει την ταχύτητα του module σε nanoseconds. Αποκωδικοποίηση της επιγραφής "DxW-S" Ας υποθέσουμε ότι διαθέτουμε ένα module που έχει την επιγραφή "2x32-60". Η αποκωδικοποίηση της επιγραφής γίνεται ως εξής: Πρόκεται για ένα 72-pin SIMM (αφού έχει 32 bits = 4 bytes εύρος) ταχύτητας 60 ns, όπου το μέγεθος του SIMM είναι 2 εκατομμύρια (βάθος) x 32 bits (εύρος) = 8 MB (2 20 *4 bytes). Η επιγραφή "4x9-70" μας πληροφορεί ότι διαθέτουμε ένα 30-pin SIMM (επειδή έχει 9 bits εύρος = 8 bits δεδομένα +1 bit ισοτιμίας) ταχύτητας 70 ns, με μέγεθος 4 εκατομμύρια (βάθος) x 8 bits (εύρος) = 4 MB (2 22 * bytes).

167 Ο παρακάτω πίνακας δείχνει τις προδιαγραφές μεγέθους για μερικά συνηθισμένα modules: 167 Μέγεθος σε MB 30-Pin SIMM, Non- Parity 30-Pin SIMM, Parity 72-Pin SIMM, Non- Parity 72-Pin SIMM, Parity/ECC 168- Pin DIMM, Non- Parity 168-Pin DIMM, Parity/ECC 1 MB 1x8 1x9 256x32 256x MB 2x8 2x9 512x32 512x MB 4x8 4x9 1x32 1x MB 8x8 8x9 2x32 2x36 1x64 1x72 16 MB 16x8 16x9 4x32 4x36 2x64 2x72 32 MB x32 8x36 4x64 4x72 64 MB x32 16x36 8x64 8x72

168 Ανίχνευση και Διόρθωση Λαθών 168 Εισαγωγή Η μνήμη είναι μια αποθηκευτική συσκεύη ηλεκτρονικού τύπου και όπως συμβαίνει σε όλες τις υπόλοιπες αποθηκευτικές συσκεύες, υπάρχει περίπτωση να επιστραφούν διαφορετικές πληροφορίες από αυτές που είχαν αρχικά αποθηκευτεί. Κάποιες μνήμες είναι πιο εύκολο να παρουσιάσουν λάθη σε σχέση με κάποιες άλλες, εξαιτίας κυρίως της διαφορετικής τεχνολογίας που χρησιμοποιούν. Για παράδειγμα, στις μνήμες DRAMs, τα "0" και "1" αποθηκεύονται με τη μορφή ηλεκτρικών φορτίων σε μικροπυκνωτές. Αυτό έχει ως αποτέλεσμα την ανάγκη για συνεχή αναζωογώνηση των ηλεκτρικών φορτίων, οπότε είναι πιο επιρεπής στην εμφάνιση λαθών σε σχέση με τις μνήμες στατικής αποθήκευσης (SRAMs). Κάθε bit της μνήμης μπορεί να είναι "1" ή "0" και αντιστοιχεί σε ένα συγκεκριμένο επίπεδο τάσης. Έτσι, σε ένα 5V σύστημα το bit "1" αντιστοιχεί στην τάση +5V, ενώ το bit "0" στην τάση 0V. Αν ο αισθητήρας που διαβάζει την τάση αναγνώσει την τιμή +4.2V, τότε υποθέτει ότι το αντίστοιχο bit θα έχει την τιμή "1", αφού το +4.2V είναι πολύ πιο κοντά στο +5V από ότι στο 0V. Αν όμως μια τάση +5V διαβαστεί από τον αισθητήρα ως +1.9V, τότε αντί για την πραγματική τιμή "1", ο αισθητήρας θα μας επιστρέψει την τιμή "0", οπότε λέμε ότι έχουμε κάποιο λάθος στη μνήμη. Υπάρχουν δυο τύποι λαθών που εμφανίζονται στη μνήμη ενός συστήματος. Ο πρώτος τύπος λαθών ονομάζεται επαναλαμβανόμενα λάθη (repeatable errors ή hard errors) και οφείλονται σε δυσλειτουργίες του hardware. Για παράδειγμα, μπορεί να καταστραφεί κάποιο κομμάτι του κυκλώματος (hard error) και να επιστρέφεται μια μόνο τιμή ("0" ή "1"), ανεξάρτητα με την τιμή που αποθηκεύουμε. Τα λάθη αυτά είναι πολύ εύκολο να εντιπιστούν αφού είναι επαναλαμβανόμενα (repeatable error). Ο δεύτερος τύπος λαθών ονομάζεται παροδικά λάθη (transient errors ή soft errors). Αυτά τα λάθη εμφανίζονται όταν ένα bit διαβαστεί λάθος μια φορά, αλλά στις επόμενες προσπελάσεις διαβαστεί σωστά. Αυτού του τύπου τα λάθη αν και είναι τα πιο κοινά, είναι πολύ δύσκολο να ανιχνεύτουν. Ο χρόνος εμφάνισης αυτών των λαθών είναι εντελώς τυχαίος και έχουν το χαρακτηριστικό ότι διορθώνονται μόνα τους. Τα soft errors μπορεί να οφείλονται σε προβλήματα του hardware της μνήμης ή στην κακή ποιότητα της μητρικής πλακέτας ή εξαιτίας του κακού χρονισμού του συστήματος ή τέλος λόγω της ραδιοακτινοβολίας που δημιουργείται από τα διάφορα μέρη ενός υπολογιστή. Το πόσο καταστροφικό μπορεί να είναι ένα λάθος, εξαρτάται από από τη συχνότητα εμφάνισης και το είδος της ζημιάς που μπορεί να προκαλέσει. Για παράδειγμα, αν σε ένα παιχνίδι, αντιστραφεί η τιμή ενός bit που καθορίζει το χρωματισμό ενός pixel στην οθόνη, το αποτέλεσμα δε θα γίνει αντιληπτό από το χρήστη. Αν όμως κατά τη διάρκεια του defragmatation στο σκληρό δίσκο παρουσιαστεί κάποιο λάθος στη μεταφορά πληροφοριών από τη μνήμη στο FAT, τότε θα έχουμε σοβαρό πρόβλημα. Όταν ένα λάθος είναι σημαντικό, ανεξάρτητα από τη συχνότητα εμφάνισης, πρέπει να βρεθεί τρόπος ανίχνευσης και διόρθωσής του. Από την άλλη μεριά, αν ένα λάθος δεν είναι και τόσο σημαντικό, η συχνότητα εμφάνισης δε μας αποσχολεί και δε χρειάζεται να λάβουμε μέτρα αντιμετώπισής του. Πάντως, ανεξάρτητα από το αν ένα λάθος είναι σημαντικό ή όχι, θα πρέπει να χρησιμοποιήσουμε διάφορα πρωτόκολλα ανίχνευσης και διόρθωσης, προκειμένου να ελαχιστοποιήσουμε το κόστος των απωλειών που προκαλούνται από τα λάθη της μνήμης.

169 169 Χρήση ή όχι ισοτιμίας και ECC μνήμες Τα memory modules είναι διαθέσιμα σε δυο τύπους ανάλογα με το αν χρησιμοποιούν ή όχι επιπλέον πληροφορίες για την ανίχνευση και διόρθωση λαθών. Έτσι, έχουμε modules που κάνουν χρήση των bits ισοτιμίας (parity modules) και modules που δεν κάνουν χρήση των bits ισοτιμίας (non-parity modules). Στα non-parity modules για κάθε bit αποθηκεύουμε μόνο ένα bit. Για παράδειγμα, για μια ομάδα 8 bits (1 byte) θα αποθηκεύσουμε μόνο τα 8 bits. Αντίθετα, στα parity modules για κάθε ομάδα bits προκαθορισμένου μεγέθος αποθηκεύουμε και μερικά επιλέον bits που μπορούν να χρησιμοποιηθούν για την ανίχνευση και διόρθωση λαθών. Για παράδειγμα, για κάθε μια ομάδα πραγματικών δεδομένων των 8 bits (1 byte) θα αποθηκεύσουμε και ένα επιπλέον bit (συνολικά 9 bits). Ο παρακάτω πίνακας δείχνει το εύρος των bits για SIMM modules με χρήση ή όχι των bits ισοτιμίας: Τύπος Module Εύρος σε bits Non-Parity SIMM Εύρος σε bits Parity SIMM 30-Pin SIMM 8 bits 9 bits 72-Pin SIMM 32 bits 36 bits 168-Pin DIMM 64 bits 72 bits Τα parity bits χρησιμοποιούνται στον έλεγχο ισοτιμίας (parity checking), που είναι η πιο κοινή μέθοδος ανίχνευσης λαθών. Επίσης, τα parity bits χρησιμοποιούνται και σε πιο προχωρημένες τεχνικές ανίχνευσης και διόρθωσης λαθών, όπως η μέθοδος ECC. Οι nonparity μνήμες δε χρησιμοποιούν καμία τεχνική για την ανίχνευση και διόρθωση λαθών. Η μεγαλύτερη διαφορά μεταξύ των δυο μεθόδων ανίχνευσης λαθών (parity checking και ECC), είναι ότι η μέθοδος ECC αν και χρησιμοποιεί κάποιου είδους έλεγχο ισοτιμίας, εντούτοις ο τρόπος λειτουργίας της δεν είναι ο ίδιος με αυτόν του συνηθισμένου parity checking. Ο λόγος είναι ότι το επιπλέον bit στα ECC modules δεν μπορεί να προσπελαστεί μόνο του, σε αντίθεση με το αντίστοιχο bit ισοτιμίας στο parity checking. Ανακεφαλαιώνοντας, παραθέτουμε τον παρακάτω πίνακα: Τύπος Module Λειτουργία Parity Λειτουργία ECC True Parity Ναι Ναι ECC Όχι Ναι

170 Έλεγχος ισοτιμίας 170 Ο έλεγχος ισοτιμίας (Parity Checking) είναι μια μέθοδος ανίχνευσης λαθών ενός μόνο bit. Όλοι οι υπολογιστές, από τους αρχικούς IBM PC (1981) μέχρι και αυτούς που κατασκεύαστηκαν ως στις αρχές του 1990, χρησιμοποίησαν τον έλεγχο ισοτιμίας για την ανίχνευση λαθών στη μνήμη. Ο έλεγχος ισοτιμίας απαιτεί τη χρησιμοποίηση μνήμης, τα modules της οποίας παρέχουν ένα επιπλέον bit για κάθε 8 bits πραγματικών δεδομένων που αποθηκεύονται. Η τιμή του επιπλέον bit χρησιμοποιείται για την ανίχνευση μονών λαθών μέσα στην ομάδα των 8 bits. Στα σύγχρονα συστήματα, για να πραγματοποιείται ο έλεγχος ισοτιμίας, θα πρέπει να είναι ενεργοποιημένη η αντίστοιχη παράμετρος του BIOS. Κάθε byte πραγματικών δεδομένων αποθηκεύται στην κύρια μνήμη ως μια ομάδα 8 bits, καθένα από τα οποία μπορεί να έχει τιμή "0" ή "1". Όταν είναι ενεργοποιημένος ο έλεγχος ισοτιμίας, κάθε φορά που ένα byte πρόκειται να γραφεί στη μνήμη, ένα λογικό κύκλωμα που ονομάζεται parity generator/checker εξετάζει το byte. Το parity generator/checker αφού εξετάσει το byte, προσδιορίζει αν ο αριθμός των άσσων "1" μέσα στο byte είναι περιττός ή άρτιος αριθμός. Αν ο αριθμος των άσσων είναι άρτιος και χρησιμοποιούμε περιττή ισοτιμία θέτουμε στο ένατο bit την τιμή "1", αλλιώς την τιμή "0". Επομένως, στην περιττή ισοτιμία η τιμή του ένατου bit θα είναι τέτοια, ώστε το συνολικό άθροισμα των άσσων στα 9 bits να βγαίνει περιττός αριθμός. Αντίθετα, όταν χρησιμοποιούμε άρτια ισοτιμία, η τιμή που παράγει το κύκλωμα parity generator/checker για το ένατο bit, θα είναι τέτοια ώστε ο συνολικός αριθμός άσσων (και για τα 9 bits), να είναι άρτιος αριθμός. Συνήθως, στους υπολογιστές χρησιμοποιείται η περιττή ισοτιμία για το Parity Checking. Ο παρακάτω πίνακας δείχνει πως υπολογίζεται η τιμή του bit ισοτιμίας (για περιττή ισοτιμία): Δείγμα δεδομένων Πλήθος άσσων στο δείγμα δεδομένων Parity Bit Συνολικός αριθμός άσσων στο σύνολο μετά την προσθήκη του Parity Bit Όπως φαίνεται και από τον παραπάνω πίνακα, ο αριθμός των άσσων στην ακολουθία των 9 bits είναι πάντα περιττός αριθμός (για περιττή ισοτιμία). Όταν πρόκειται να διαβαστεί ένα byte από τη μνήμη, το κύκλωμα που παράγει το bit ισοτιμίας λειτουργεί σαν ελεγκτής της ισοτιμίας. Συγκεκριμένα, αφού διαβαστούν και τα 9 bits, καθορίζεται ο αριθμός των άσσων που περιέχονται στην ακολουθία των 9 bits. Αν ο αυτός ο αριθμός είναι περιττός, τότε δεν έχει συμβεί (στην πραγματικότητα μπορεί και να έχουν συμβεί πολλαπλά λάθη) κανένα λάθος στη μνήμη και το byte που διαβάστηκε μεταφέρεται σε αυτόν που το ζήτησε. Στην περίπτωση όμως, που το πλήθος των άσσων είναι άρτιος αριθμός, αυτό σημαίνει ότι έχει συμβεί λάθος σε ένα τουλάχιστον bit, χωρίς όμως να μπορεί να προσδιοριστεί η ταυτότητα αυτού του bit. Όταν ανιχνευτεί ένα λάθος μετά από έναν έλεγχο ισοτιμίας, τότε το κύκλωμα ισοτιμίας παράγει ένα σήμα διακοπής NMI (non-maskable interrupt) προς τον επεξεργαστή και διακόπτεται η διαδιακασία ανάγνωσης του συγκεκριμένου byte.

171 Τι συμβαίνει στην περίπτωση που μεταβληθεί η τιμή σε δυο bits; Ας υποθέσουμε ότι έχουμε το byte δεδομένων " ", στο οποίο έχει προστεθεί το bit ισοτιμίας και έχει αποθηκευτεί στην κύρια μνήμη με την μορφή " ". Αν μεταβληθεί η τιμή ενός bit από "1" σε "0" και ενός άλλου bit από "0" σε "1", τότε το πλήθος των άσσων στην έκφραση των 9 bits εξακολουθεί να είναι περιττός αριθμός αν και έχουν συμβεί δυο λάθη. Δυστυχώς, η μέθοδος του ελέγχου της ισοτιμίας μπορεί να ανιχνεύσει μόνο ένα λάθος που έχει συμβεί σε 1 bit. Πολλοί άνθρωποι πιστεύουν ότι η δημιουργία / έλεγχος του bit ισοτιμίας κατά την αποθήκευση / ανάγνωση αντίστοιχα των bytes προκαλεί κάποια καθυστέρηση στη μνήμη. Αυτό δεν είναι σωστό, αφού η διαδικασία της δημιουργίας / ελέγχου γίνεται παράλληλα με τη διαδικασία αποθήκευσης / ανάγνωσης, οπότε δεν επιβαρυνόμαστε με επιπλέον χρόνο και έτσι δε μειώνεται η απόδοση της μνήμης. ECC Η μέθοδος Parity Checking δεν μπορεί να ανιχνεύσει πολλαπλά λάθη και επιπλέον δεν μπορεί να διορθώσει κάποιο λάθος που έχει ανιχνεύσει προηγουμένως. Έτσι δημιουργήθηκε ένα πρωτόκολλο ανίχνευσης και διόρθωσης λαθών, που θα αντιμετώπιζε τα σοβαρά μειονεκτήματα της μεθόδου Parity Checking. Το πρωτόκολλο που ονομάστηκε ECC (error correction circuits ή error correction code) και μπορούσε να ανιχνεύσει λάθος σε ένα ή περισσότερα bits, αλλά και να διορθώσει τα λάθη του ενός bit. Όπως και στο Parity Checking, έτσι και στο ECC πρέπει να ενεργοποιήσουμε κάποιες παραμέτρους του BIOS, προκειμένου να μπεί σε λειτουργία το πρωτόκολλο ECC. Το πρωτόκολλο ECC χρησιμοποιεί έναν ειδικό αλγόριθμο για την κωδικοποίηση των δεδομένων μέσα σε blocks. Οι πληροφορίες που αποθηκεύονται στα blocks είναι αρκετές, ώστε να είναι δυνατή η διόρθωση ενός μονού λάθους σε ένα bit των δεδομένων. Ενώ στη μέθοδο Parity Checking χρησιμοποιούμε ένα bit ελέγχου για κάθε οκτώ bits δεδομένων, στο πρωτόκολλο ECC χρησιμοποιούμε 7 bits ελέγχου για κάθε 64 bits δεδομένων. Υπάρχουν ειδικά ECC memory modules που υποστηρίζουν τη λειτουργία του πρωτοκόλλου ECC, αλλά τα περισσότερα motherboards που υποστηρίζουν το πρωτόκολλο ECC μπορούν να χρησιμοποιοήσουν και τα standard parity memory modules για το πρωτόκολλο ECC. Από τη στιγμή που στα parity memory modules υπάρχει 1 επιπλέον bit για κάθε 8 bits δεδομένων, τα parity memory modules που λειτουργούν με το πρωτόκολλο ECC θα πρέπει να έχουν εύρος 72 bits (64+7+1). Στην πράξη, επειδή τα SIMM chips (με parity) έχουν εύρος 36 bits, απαιτούνται δυο chips για τα συστήματα πέμπτης και έκτης γενιάς, ενώ επειδή τα DIMM chips (με parity) έχουν εύρος 72 bits, απαιτείται ένα μόνο chip. Το ECC έχει τη δυνατότητα να επαναφέρει ένα μόνο "κατεστραμμένο" bit μέσα από τα 64 bits του κάθε block. Ο υπολογιστής στην ουσία δεν καταλαβαίνει ότι έχει διορθωθεί το λάθος, αλλά είναι καλό να πληροφορείται, όταν συμβαίνει κάτι τέτοιο. Τα επαναλαμβανόμενα λάθη μπορεί να είναι μια ένδειξη ότι υπάρχει κάποιο πρόβλημα στο hardware, οπότε είναι καλό να μην αγνοούμε τελείως τη διαδικασία ανίχνευσης και διόρθωσης των λαθών της μνήμης. Τα chipsets που υποστηρίζουν το πρωτόκολλο ECC, έχουν τη δυνατότητα για την παραγωγή αναφορών προς το λειτουργικό σύστημα με θέμα τα λάθη στη μνήμη, αν και αυτή η δυνατότητα καθορίζεται κυρίως από το λειτουργικό σύστημα. Για παράδειγμα, τα Windows NT και Linux μπορούν να παράγουν τέτοιου είδους αναφορές, ένω τα Windows 95 όχι. Το ECC μπορεί να ανιχνεύσει (αλλά δεν μπορεί να διορθώσει) λάθη σε περισσότερα του ενός bits. Η διαδιακασία χειρισμού των πολλαπλών λαθών (multi-bit errors), είναι ακριβώς ίδια με τη διαδιακασία χειρισμού των λαθών που παρουσιάζονται σε ένα bit: παράγεται 171

172 ένα σήμα NMI, το οποίο διατάζει το σύστημα να αγνοήσει τα δεδομένα που περιέχουν λάθη. Η ανίχνευση λαθών με τη βοήθεια του ECC θα προκαλέσει μια μικρή καθυστέρηση στη λειτουργία του υπολογιστή, σε αντίθεση με αυτό που συμβαίνει κατά την ανίχνευση λαθών βάσει του parity checking. Ο λόγος είναι ότι το ECC χρησιμοποιεί πιο περίπλοκο αλγόριθμο. Συνήθως, η μείωση της απόδοσης κυμαίνεται στο διάστημα 2-3%. 172

173 Λογική Οργάνωση της Μνήμης 173 Εισαγωγή Για να κατανοήσουμε πως είναι λογικά οργανωμένη η μνήμη, θα πρέπει πρώτα να καταλάβουμε πως ο υπολογιστής χειρίζεται τις διευθύνσεις της μνήμης. Ο απλούστερος και ευκολότερος τρόπος για να αναφερθούμε στις διευθύνσεις της μνήμης είναι να χρησιμοποιήσουμε μια γραμμική σειρά διευθύνσεων, δηλαδή η κάθε διεύθυνση να διαφέρει από την προηγούμενη και την επόμενη κατά ένα ψηφίο (δεκαεξαδικό ή δυαδικό). Για παράδειγμα, λέμε ότι το BIOS του σκληρού δίσκου IDE αρχίζει από τη διεύθυνση C8000 της μνήμης (η διεύθυνση C8000 είναι εκφρασμένη βάσει του δεκαεξαδικού συστήματος). Ωστόσο, οι επεξεργαστές χρησιμοποιούν διαφορετικό τρόπο για την αναφορά στις διευθύνσεις της μνήμης. Στα συστήματα με επεξεργαστές x86 οι διευθύνσεις της μνήμης χωρίζονται σε δυο μέρη: στο segment address και στο offset. Αυτά τα δυο μέρη δημιουργούν την πραγματική διεύθυνση ως εξής: αρχικά κάνουμε μια ολίσθηση στο segment address κατά ένα ψηφίο προς τα αριστερά και στη συνέχεια προσθέτουμε το offset (μετατόπιση). Στην πράξη, για να αναφερθούμε σε μια διεύθυνση χρησιμοποιούμε το συμβολισμό segment:offset. Για παράδειγμα, έστω ότι θέλουμε να αναφερθούμε στη γραμμική διεύθυνση C8000. Χρησιμοποιώντας τον παραπάνω συμβολισμό, η γραμμική διεύθυνση C8000, ισοδυναμεί με C000:8000. Έτσι, παίρνουμε το segment address C000, το οποίο και ολισθένουμε κατά ένα ψηφίο προς τα αριστερά, οπότε παίρνουμε τον αριθμό C0000, στον οποίο προσθέτουμε το offset 8000 και παράγεται η γραμμική διεύθυνση C8000. Η γραμμική διεύθυνση μπορεί επίσης να προσπελαστεί και με το συνδυασμό C800:0000. Διάφοροι τρόποι αναφοράς στην κύρια μνήμη

174 Λογικά μέρη της μνήμης 174 Η κύρια μνήμη του συστήματος αν και αντιμετωπίζεται τις περισσότερες φορές ως μια οντότητα, στην πράξη έχει χωριστεί σε 4 διαφορετικά λογικά μέρη, καθένα από τα οποία έχει και ένα συγκεκριμένο ρόλο: Conventional Memory: Τα πρώτα 640 KB της κύριας μνήμης του συστήματος είναι γνωστά ως συμβατική μνήμη (conventional memory). Είναι ο χώρος της μνήμης που χρησιμοποιείται από τα προγράμματα του DOS, καθώς και από αρκετούς οδηγούς. Η συμβατική μνήμη αρχίζει από τη γραμμική διεύθυνση και τελειώνει στη διεύθυνση 9FFFF. Upper Memory Area (UMA): Είναι τα τελευταία 384 KB του πρώτου megabyte της κύρια μνήμης του συστήματος. Τα 384 KB της UMA που ακολουθούν τα 640 KB της Conventional Memory αποτελούν το πρώτο megabyte της κύρια μνήμης. Ο χώρος της UMA χρησιμοποιείται από διάφορες συσκευές του συστήματος, καθώς και για ορισμένες ειδικές εργασίες όπως για το shadowing στις ROMs των οδηγών. Η Upper Memory Area αρχίζει από τη γραμμική διεύθυνση A0000 και τελειώνει στη διεύθυνση FFFFF. High Memory Area (HMA): Είναι τα πρώτα 64 KB (μείον 16 bytes) του δεύτερου megabyte της κύρια μνήμης του συστήματος. Από τεχνικής απόψεως, πρόκειται για τα πρώτα 64 KB της εκτεταμένης μνήμης (extended memory), αλλά μπορεί να προσπελαστεί ως ξεχωριστή οντότητα, μόνο όταν ο επεξεργαστής λειτουργεί σε real mode, οπότε και δε συμπεριλαμβάνεται μέσα στην υπόλοιπη εκτεταμένη μνήμη. Χρησιμοποιείται όταν τα προγράμματα του DOS χρειάζονται επιπλέον conventional memory, ενώ ο χώρος αυτός ορίζεται από τις διευθύνσεις και 10FFEF. Extended Memory (XMS): Είναι ο χώρος πάνω από τη HMA και μέχρι το τέλος της κύριας μνήμης του συστήματος. Χρησιμοποιείται για προγράμματα και τα δεδομένα όταν το λειτουργικό σύστημα τρέχει σε protected mode, όπως για παράδειγμα όλες οι εκδόσεις των Windows. Η εκτεταμένη μνήμη αρχίζει από τη διεύθυνση 10FFF0 και εκτείνεται μέχρι το τέλος της κύριας μνήμης. Από τεχνικής απόψεως, η HMA είναι μέρος της extended memory όταν ο επεξεργαστής δε λειτουργεί σε real mode. Λογική οργάνωση της μνήμης

175 Συμβατική μνήμη 175 Τα πρώτα 640 KB της κύριας μνήμης του συστήματος ονομάζονται συμβατική μνήμη (conventional memory). Η ονομασία έχει σχέση με το γεγονός ότι το λειτουργικό σύστημα DOS καθώς και τα προγράμματα που τρέχουν κάτω από το DOS χρησιμοποιούν συνήθως αυτό το χώρο της κύριας μνήμης. Αρχικά, αυτός ήταν και ο μοναδικός χώρος τον οποίο μπορούσαν να χρησιμοποιήσουν τα διάφορα προγράμματα. Σήμερα, αν και οι υπολογιστές διαθέτουν πολύ περισσότερη μνήμη από τους αρχικούς υπολογιστές, εντούτoις σε ορισμένες περιπτώσεις αυτά τα 640 ΚΒ της conventional memory εξακολουθούν να είναι ο σημαντικότερος χώρος της κύρια μνήμης. Αυτό ωφείλεται στο γεγονός ότι για να χρησιμοποιηθούν τα υπόλοιπα τμήματα της κύριας μνήμης από τα προγράμματα του DOS, θα πρέπει να έχουμε ειδικό software. Η conventional memory εμπεριέχεται στο διάστημα FFFF. Για ποιον όμως λόγο υπάρχει αυτό το όριο των 640 ΚΒ στο μέγεθος της conventional memory; Ο λόγος για τον οποίο υπάρχει αυτό το όριο στο μέγεθος της conventional memory, έχει σχέση με την απόφαση της IBM να τοποθετήσει το χώρο που θα χρησιμοποιούνταν από το σύστημα κάτω από το χώρο που προορίζονταν για τα προγράμματα των χρηστών. Επίσης, και το γεγονός ότι οι πρώτοι επεξεργαστές μπορούσαν να διευθυνσιοδοτήσουν μέχρι 1 ΜΒ κύριας μνήμης συνέβαλε στο όριο των 640 ΚΒ της conventional memory. Οι παραπάνω λόγοι οδήγησαν στο διαχωρισμό της conventional memory από την υπόλοιπη κύρια μνήμη (extended memory). Αν ο χώρος που προορίζονταν για τα προγράμματα των χρηστών (conventional memory) είχε τοποθετηθεί κάτω από το χώρο που χρησιμοποιούνταν αποκλειστικά από το σύστημα, θα υπήρχε δυνατότητα να επεκτείνουμε την conventional memory. Κατά τη διάρκεια της δεκαετίας του '80, καθώς το μέγεθος και η πολυπλοκότητα των προγραμμάτων αυξανόταν με ταχείς ρυθμούς, το μέγεθος της conventional memory φάνταζε πολύ μικρό, αν λάβουμε υπόψη και το γεγονός ότι δεν ήταν διαθέσιμα στα προγράμματα των χρηστών όλα τα 640 KB της conventional memory. Μεγάλα τμήματα της conventional memory χρησιμοποιούνταν από ρουτίνες του DOS, από vector tables, από buffers για file access, από διάφορους οδηγούς (όπως CD-ROM drives, κτλπ). Τα προγράμματα των χρηστών από τα 640 ΚΒ της conventional memory είχαν διαθέσιμα μόνο KB. Υπήρχαν συστήματα, όπου χωρίς να υπάρχει κάποια διαδιακασία βελτιστοποίσης της conventional memory μετά την εκκίνηση είχαν διαθέσιμα λιγότερα από 400 KB conventional memory. Επίσης, μερικά προγράμματα χρηστών είχαν αναπτυχθεί έτσι ώστε να μην τρέχουν αν η διαθέσιμη conventional memory ήταν λιγότερη από 500 ΚΒ. Επομένως, ο περιορισμός στο μέγεθος της conventional memory ήταν η αιτία για την εμφάνιση πολλών προβλημάτων στη λειτουργία του υπολογιστή.

176 176 Ο χώρος της Conventional Memory Η Microsoft χρησιμοποίησε δυο τεχνικές, στην προσπάθειά της να λύσει μερικά από τα προβλήματα που σχετιζόταν με τον περιορισμό στο μέγεθος της conventional memory. Η πρώτη τεχνική λειτουργούσε με τον εξής τρόπο: το λειτουργικό σύστημα DOS δεν φορτώνονταν στην conventional memory αλλά στην high memory area (τα πρώτα 64 KB της extended memory). Με τον τρόπο αυτό, εξοικονομούνταν για τα προγράμματα των χρηστών 45 KB conventional memory. Όταν χρησιμοποιούνταν η δεύτερη τεχνική, πολλοί οδηγοί (όχι προγράμματα χρηστών) αντί να χρησιμοποιήσουν conventional memory, χρησιμοποιούσαν την upper memory area (τα 384 KB μεταξύ της conventional memory και extended memory). Η μεγιστοποίηση της διαθέσιμης στα προγράμματα των χρηστών conventional memory, έγινε βασικός στόχος σε κάθε υπολογιστή που χρησιμοποιούσε προγράμματα του DOS. Βελτιστοποιώντας την λειτουργία των high memory area και upper memory area, σε συνδιασμό με τη χρησιμοποίηση διαφόρων τρικ, μπορούμε να εξασφαλίσουμε για τα προγράμματα των χρηστών μέχρι και 620 ΚΒ conventional memory. Στα σύγχρονα λειτουργικά συστήματα (σε όλα πλην του DOS) που λειτουργούν σε protected mode, η conventional memory δεν έχει τόση σημασία όση είχε στα πρώτα συστήματα που χρησιμοποιήθηκε. Τα προγράμματα που τρέχουν κάτω από αυτά τα λειτουργικά συστήματα χρησιμοποιούν την extended memory. Επίσης, τα 32-bit λειτουργικά συστήματα (όπως τα Windows 95) χρησιμοποιούν επίσης την extended memory για τους hardware drivers. Βέβαια, μερικά κομμάτια κώδικα εξακολουθούν να φορτώνονται στην conventional memory, αλλά οι εφαρμογές των χρηστών δεν περιορίζονται από το όριο των 640 ΚΒ της conventional memory.

177 Upper Memory ROM και RAM 177 Ένας από τους λόγους εξαιτίας του οποίου ο όρος UMA προκαλεί σύγχυση, είναι το γεγονός ότι αυτά τα 384 ΚΒ της κύρια μνήμης χρησιμοποιούνται από διαφορετικού τύπου δεδομένα. Τα 384 ΚΒ της UMA εμπεριέχονται στο διάστημα A0000-FFFFF. Στο χώρο αυτό αποθηκεύονται και κώδικες ROM, οπότε τα αντίστοιχα κομμάτια της UMA θα είναι "κρυφά" στο σύστημα. Επομένως, θα πρέπει να φανταστούμε την UMA σαν 384 ΚΒ κύριας μνήμης, κάποια κομμάτια της οποίας χρησιμοποιούνται για το φόρτωμα του κώδικα ROM διαφόρων συσκευών. Τα κομμάτια στα οποία έχει αποθηκευτεί κώδικας ROM, δεν είναι προσπελάσιμα για άλλες λειτουργίες του συστήματος, ενώ τα υπόλοιπα κομμάτια είναι. Κατανομή της Upper Memory Area Ο παρακάτω πίνακας δείχνει την κατανομή της UMA στις διάφορες συσκευές και οδηγούς: Διεύθυνση Πρώτα 16K (x0000hx3fffh) Δεύτερα 16K (x4000hx7fffh) Τρίτα 16K (x8000hxbfffh) Τέταρτα (xc000hxffffh) 16K A0000- AFFFFh VGA Graphics Mode Video RAM B0000- BFFFFh VGA Monochrome Text Mode Video RAM VGA Color Text Mode Video RAM C0000- CFFFFh VGA Video BIOS ROM Σκληροί δίσκοι IDE, BIOS ROM Προαιρετικά προσαρμοστές ROM BIOS ή RAM UMBs D0000- DFFFFh E0000h- EFFFFh Προαιρετικά προσαρμοστές ROM BIOS ή RAM UMBs Πληροφορίες σχετικά με το System BIOS Plug and Play F0000- FFFFFh System BIOS ROM Expanded Memory (EMS) Στα σύγχρονα συστήματα, η μνήμη πάνω από το πρώτο megabyte χρησιμοποιείται ως extended memory (XMS). Η extended memory είναι ο πιο εύκολος τρόπος, με τον οποίο μπορούμε να διαχειριστούμε το κομμάτι της μνήμης πάνω από το πρώτο megabyte, αφού η διευθυνσιοδότηση μπορεί να είναι άμμεση και αποτελεσματική. Όλα τα λειτουργικά συστήματα, που λειτουργούν σε protected-mode, καθώς και διάφορα προγράμματα (όπως τα παιχνίδια του DOS) που τρέχουν σε protected mode, αναγνωρίζουν όλη την κύρια μνήμη πάνω από το πρώτο megabyte ως extended memory. Στα παλαιότερα συστήματα, αυτός ο χώρος της μνήμης ήταν γνωστός ως expanded memory και η διαχείρισή του γίνονταν βάσει του πρωτοκόλλου EMS (Expanded Memory Specification).

178 Το πρωτόκολλο ΕΜS δημιουργήθηκε για να ξεπεραστεί το όριο του 1 ΜΒ στο μέγεθος της κύριας μνήμης, στα συστήματα με επεξεργαστές 8088 και Από τα μέσα της δεκαετίας του '80, όπου τα παραπάνω συστήματα εξακολουθούσαν να χρησιμοποιούνται, η διαθέσιμη μνήμη φάνταζε πολύ μικρή. Ιδιαίτερα με σχετικά μεγάλα προγράμματα, όπως το λογιστικό πακέτο Lotus Οι εταιρίες Lotus, Intel και Microsoft δημιούργησαν ένα νέο πρότυπο για τη διαχείριση της EMS, το οποίο ονομάστηκε LIM EMS. Για να χρησιμοποιείται η μνήμη EMS προστέθηκε έναν ειδικός προσαρμοστής που περιείχε κάποια επιπλέον μνήμη και διακοπτικά κυκλώματα (hardware switching circuits). Η μνήμη χωρίστηκε σε λογικά blocks των 16 ΚΒ, που ονομάστηκαν pages ή banks. Τα κυκλώματα του προσαρμοστή επέτρεπαν τη χρησιμοποίηση ενός block 64 KB της κύριας μνήμης μέσα στην UMA. Αυτό το block των 64 KB το οποίο εκτείνεται μέσα στο διάστημα D0000-DFFFF, χωρούσε τέσσερις EMS pages των 16 KB και ονομάστηκε EMS Page Frame. Όταν γίνονταν αίτηση για τα περιεχόμενα μια συγκεκριμένης περιοχής της expanded memory, αυτά τοποθετούνταν μέσα σε κάποια από αυτές τις σελίδες. Φυσικά, η προσπέλαση από τα προγράμματα σε αυτές τις περιοχές της μνήμης είναι δυνατή μόνο αν τηρούνται οι προδιαγραφές LIM (LIM specification). Επειδή το μέγεθος του EMS Page Frame (64 ΚΒ) δεν είναι πολύ μεγάλο, θα έχουμε πολλές αντιμεταθέσεις των περιεχομένων των σελίδων. Όταν έρχεται μια καινούργια σελίδα μέσα στο EMS Page Frame, αντιγράφονται τα περιεχόμενα μιας παλιάς κάπου μέσα στην κύρια μνήμη και επικαλύπτονται τα περιεχόμενά της μέσα στο EMS Page Frame, από τα περιεχόμενα της νέας σελίδας. Για να προσπελάσουμε τα περιεχόμενα μιας σελίδας που έχει αντικατασταθεί από κάποια άλλη, μέσα στο EMS Page Frame, θα πρέπει να ξαναφέρουμε τη συγκεκριμένη σελίδα στο EMS Page Frame. Η αντιμετάθεση των σελίδων μέσα στο EMS Page Frame, παρουσιάζει ομοιότητες με την αντιμετάθεση των σελίδων στην εικονική μνήμη. Μια σημαντική διαφορά είναι το γεγονός ότι στην εικονική μνήμη, η σελίδες μετά την ανταλλαγή αντιγράφονται στο σκληρό δίσκο, ενώ στο EMS Page Frame η αντιγραφή γίνεται σε κάποια άλλη περιοχή της κύριας μνήμης. Επίσης, ο αριθμός των αντιμεταθέσεων στο EMS Page Frame είναι πολύ μεγαλύτερος από τον αριθμό των αντιμεταθέσεων των σελίδων στην εικονική μνήμη. Εξαιτίας του μεγάλου αριθμού των αντιμεταθέσεων στο EMS Page Frame, η μνήμη EMS είναι αναποτελεσματική, αφού θα έχουμε συνεχείς και πάρα πολλές μετακινήσεις σελίδων μέσα στη μνήμη. Έτσι αν έχουμε 4 MB EMS memory, μπορούμε να προσπελάσουμε κάθε στιγμή μόνο 64 KB, ποσοστό προσπέλασης δηλαδή, που κυμαίνεται γύρω στο 1.5%. Με τη δημιουργία των σύγχρονων επεξεργαστών, οι οποίοι μπορούσαν να διευθυνσιοδοτήσουν πάνω από 1 ΜΒ κύριας μνήμη, η expanded memory τέθηκε στο περιθώριο και θεωρείται πλέον απαρχαιωμένη. Επίσης, θα πρέπει να σημειωθεί ότι από φυσικής απόψεως, η EMS και XMS είναι τελείως διαφορετικές. Μια κάρτα για expanded memory δεν μπορεί να χρησιμοποιηθεί ως extended memory και το αντίστροφο. Αυτές οι κάρτες EMS δε χρησιμοποιούνται εδώ και 10 χρόνια, αλλά το αντίστοιχο λογισμικό μπορεί να χρησιμοποιηθεί ακόμα και σήμερα. Για παράδειγμα, στο λειτουργικό σύστημα DOS υπάρχει ο οδηγός EMM386.EXE (φορτώνεται με ειδική εντολή στο αρχείο CONFIG.SYS), που μπορεί να κάνει ένα μέρος της extended memory να συμπεριφέρεται ως expanded memory, όταν φυσικά τρέχουν προγράμματα που χρειάζονται expanded memory. Επίσης, θα πρέπει να σημειωθεί ότι ο οδηγός EMM386.EXE παρέχει προσπέλαση και για τα UMBs. Καλό είναι να αποφεύγουμε προγράμματα που χρειάζονται EMS. Επιπροσθέτως, η χρησιμοποίηση extended memory ως EMS κάνει τη συγκεκριμένη περιοχή της extended memory, μη προσπελάσιμη ως extended memory από άλλα προγράμματα που χρειάζονται extended memory. Επειδή το μέγεθος του EMS Page Frame είναι 64ΚΒ, στην ουσιά "χάνονται" 64 KB από την upper memory area που θα μπορούσαν να χρησιμοποιηθούν από διάφορους οδηγούς. 178

179 Upper Memory Blocks 179 Τα κομμάτια της upper memory area, που δε δεσμεύονται από τις ROMs ή τις video RAMs, αλλά προορίζονται για άλλα προγράμματα είναι γνωστά ωςumb (upper memory blocks). Τα UMBs δε χρησιμοποιούνται από τα συνηθισμένα προγράμματα, αφού είναι πολύ μικρά και τα προγράμματα των χρηστών υποτίθεται ότι πρέπει να τρέχουν στην conventional memory. Τα UMBs είναι ιδανικά για οδηγούς και προγράμματα που πρέπει να είναι μόνιμα αποθηκευμένα στην κύρια μνήμή (memory-resident programs). Για να κάνουμε τα UMBs διαθέσιμα στους διάφορους οδηγούς, χρειαζόμαστε έναν οδηγό που θα παρέχει πρόσβαση σε αυτά. Σε περιβάλλον DOS ο οδηγός αυτός είναι ο EMM386.EXE που φορτώνεται στο αρχείο CONFIG.SYS. Όταν φορτώνεται ο οδηγός EMM386.EXE (χρησιμοποιώντας μέσα στο CONFIG.SYS την παράμετρο "RAM" ή "NOEMS"), δημιουργείται διαθέσιμος χώρος στην UMA για drivers και memory-resident programs. Για να φορτωθεί ένας οδηγός στα UMBs, γράφουμε στο αρχείο CONFIG.SYS την εντολή "DEVICEHIGH= όνομα οδηγού" αντί για "DEVICE= όνομα οδηγού". Αντίθετα, για να φορτωθεί ένα πρόγραμμα στα UMBs, γράφουμε στο αρχείο AUTOEXEC.BAT την έκφραση "LOADHIGH" ή "LH" στην αρχή της εντολής που ενεργοποιεί το πρόγραμμα. Θα πρέπει να σημειωθεί, ότι η εντολή "LOADHIGH" ή "LH" φορτώνει το πρόγραμμα στην upper memory area, και όχι στην high memory area. Εξ' ορισμού ο οδηγός EMM386.EXE επιλέγει συγκεκριμένες περιοχές της UMA που θα χρησιμοποιηθούν ως UMBs. Συνήθως, η περιοχή αυτή βρίσκεται μεταξύ των διευθύνσεων C8000 και EFFFFh. Το διάστημα A0000-BFFFF δεσμεύεται για τη video memory, το διάστημα C0000-C7FFF για το VGA BIOS ROM, και τέλος το διάστημα F0000-FFFFF για το system BIOS ROM. Αν έχουμε έναν προσαρμοστή, που δεσμεύει για τη δική του ROM χώρο που διαχειρίζεται ο οδηγός EMM386, θα πρέπει να πληροφορήσουμε τον οδηγό EMM386 να αγνοήσει αυτή την περιοχή. Αυτό γίνεται χρησιμοποιώντας την παράμετρο "X". Για παράδειγμα, αν χρησιμοποιούμε μια συσκευή που φορτώνει τον κώδικα ROM στην περιοχή D8000-D9FFF, θα πρέπει να γράψουμε την εντολή "X=D800-D9FF" ως παράμετρο για το EMM386. ROM Shadowing Όπως ειπώθηκε και στο τμήμα με τίτλο Upper Memory ROM και RAM, σε κάποιες περιοχές της UMA αποθηκεύται κώδικας ROM από διάφορους οδηγούς. Αυτές οι περιοχές είναι δεσμευμένες και επομένως δεν μπορούν να προσπελαστούν για οποιαδήποτε άλλη χρήση. Ωστόσο, δεν μπορούμε να τις θεωρήσουμε "χαμένες" περιοχές, αφού χρησιμοποιούνται για κάποιο σκοπό, απλά δεν είναι διαθέσιμες για οποιαδήποτε χρήση. Ένα από τα βασικά προβλήματα των ROM chips (system BIOS, video BIOS), είναι ότι έχουν μικρή ταχύτητα προσπέλασης (περίπου ns) σε σχέση με τη RAM (περίπου ns). Επίσης, η προσπέλαση στη RAM γίνεται με ρυθμό 32 bits κάθε φορά, ενώ στα ROM chips η προσπέλαση γίνεται συνήθως σε 16 bitsκάθε φορά. Το αποτέλεσμα είναι η καθυστέρηση εκτέλεσης του κώδικα, που είναι αποθηκευμένος στο chip ROM σε σχέση με τον κώδικα που είναι αποθηκευμένος στη RAM. Για να μην υπάρχει καθυστέρηση στην εκτέλεση του κώδικα της ROM, δημιουργείται ένα αντίγραφο του κώδικα της ROM στην κύρια μνήμη και στη συνέχεια εκτελείται από εκεί. Η διαδικασία αυτή, που είναι γνωστή ως ROM Shadowing, ελέγχεται από ένα σύνολο παραμέτρων του BIOS και βελτιώνει την απόδοση του συστήματος.

180 High Memory Area 180 Η High Memory Area (HMA) είναι τα πρώτα bytes (64 KB μείον 16 bytes) της extended memory. Εμπεριέχεται στο διάστημα που ορίζεται από τις διευθύνσεις και 10FFEF. Η High Memory Area είναι πολύ σημαντική, αφού είναι το μοναδικό κομμάτι της extended memory που μπορεί να χρησιμοποιηθεί από τα προγράμματα του DOS, τα οποία χρειάζονται επιπλέον conventional memory (με την προϋπόθεση ότι ο επεξεργαστής λειτουργεί σε real mode). Κανονικά, όταν ο επεξεργαστής λειτουργεί σε real mode δεν μπορεί να προσπελάσει κανένα τμήμα της extended memory, οπότε αναγκαστικά θα πρέπει να λειτουργήσει σε protected mode ή να χρησιμοποιηθούν ειδικοί οδηγοί. Οι διευθύνσεις που χρησιμοποιούν οι υπολογιστές έχουν τη μορφή segment:offset. Αρχικά, κάνουμε μια ολίσθηση στο segment address κατά ένα ψηφίο προς τα αριστερά και στη συνέχεια προσθέτουμε το offset (μετατόπιση). Οι αρχικοί IBM PCs, είχαν διευθύνσεις των 20 bits (20 address lines) και επομένως η υψηλότερη διεύθυνση που μπορούσε να προσπελαστεί, ήταν η FFFFF. Ωστόσο, με τη χρησιμοποίηση της μεθόδου segment:offset μπορούμε να παράγουμε γραμμικές διευθύνσεις οι οποίες θα είναι μεγαλύτερες από την FFFFF. Ας υποθέσουμε ότι έχουμε τη διεύθυνση FFFF:FFFF. Για να μετατρέψουμε την FFFF:FFFF σε γραμμική διεύθυνση, πολλαπλασιάζουμε το segmnet FFFF με το 16 (ολισθένουμε το segment address κατά ένα ψηφίο προς τα αριστερά), οπότε προκύπτει ο αριθμός FFFF0. Στη συνέχεια, προσθέτουμε το offset FFFF οπότε προκύπτει η γραμμική διεύθυνση 10FFEF. Για να προσπελαστεί η διεύθυνση 10FFEF απαιτούνταν 21 bits, ενώ τα συστήματα με επεξεργαστές 8088 ή 8086 διέθεταν μόνο 20 γραμμές διευθύνσεων (address lines). Το πρόβλημα ασυμβατότητας στα συστήματα αυτά λύθηκε, αγνοώντας τον "1" στην αρχή της διεύθυνσης 10FFEF, οπότε η διεύθυνση 10FFEF αντιμετωπίζονταν ως 0FFEF. Όταν η Intel δημιούργησε τα συστήματα 80286, ενσωμάτωθηκε στον επεξεργαστή η ικανότητα να λειτουργεί τόσο σε protected mode όσο και σε real mode. Όταν ο επεξεργαστής λειτουργούσε σε real mode, υποτίθεται ότι θα συμπεριφερόταν, για λόγους συμβατότητας, όπως ακριβώς και οι επεξεργαστές 8088 και Ωστόσο, ο που είχε δίαυλο διευθύνσεων 24 bits, εξαιτίας της σχεδίασής του δε συμπεριφέρονταν σε real mode όπως οι επεξεργαστές 8088 και Συγκεκριμένα, η γραμμική διεύθυνση 10FFEF που παράγεται από τη διεύθυνση FFFF:FFFF, δεν αντιμετωπίζεται ως 0FFEF (όπως γίνονταν με τους επεξεργαστές 8088 και 8086), αλλά ως 10FFEF. Με αυτόν τον τρόπο μπορούσαμε να προσπελάσουμε τα πρώτα FFEF της extended memory ( FFEF) ακόμα και αν ο επεξεργαστής λειτουργούσε σε real mode. Αυτό το block της μνήμης είναι η high memory area (HMA). Παρόλα αυτά, η εξασφάλιση της συμβατότητας των συστημάτων και 8088 (ή 8086) σε real mode, συνέχισε να είναι ένα σημαντικό πρόβλημα. Η IBM έλυσε αυτό το πρόβλημα στους υπολογιστές AT, χρησιμοποιώντας μια επιπλέον γραμμή μέσα στο chip του ελεγκτή του πληκτρολογιού, η οποία θα διαχειριζόταν τo δίαυλο διευθύνσεων 24 bits (το μοντέλο του διαύλου διευθύνσεων των 24 bits ονομάστηκε Α20, αφού η αρίθμηση των γραμμών άρχιζε από το μηδέν). Όταν ο επεξεργαστής λειτουργούσε σε real mode, ο ελεγκτής του πληκτρολογίου για λόγους συμβατότητας με τα παλαιότερα συστήματα, απενεργοποιούσε τη λειτουργία του μοντέλου Α20, ενώ όταν λειτουργούσε σε protected mode ενεργοποιούνταν η λειτουργία του μοντέλου Α20. Μετά από πολλά χρόνια, όταν ο περιορισμός των 640 ΚΒ της conventional memory άρχισε να καταρρέει, η ικανότητα να προσπελαύνουμε επιπλέον 64 ΚΒ σε real mode, φάνταζε ως ένα πολύ σημαντικό πλεονέκτημα. Η Microsoft ανέπτυξε ένα ειδικό οδηγό που ονομάστηκε HIMEM.SYS, ο οποίος μπορούσε να χειριστεί με ευκολία το μοντέλο Α20. Στην πράξη, η high memory area χρησιμοποιείται για το φόρτωμα του λειτουργικού συστήματος DOS, χρησιμοποιώντας μέσα στο αρχείο CONFIG.SYS την εντολή "DOS=HIGH". Η εντολή "DOS=HIGH", διατάζει το DOS να φορτώσει ένα σημαντικό μέρος του κώδικά του στη high

181 memory area, αντί στην conventional memory. Με τον τρόπο αυτό, απελευθερώνουμε περίπου 45 ΚΒ conventional memory για τα προγράμματα των χρηστών. Τέλος, θα πρέπει να σημειωθεί ότι έγινε προσπάθεια να αποδεσμεύσουμε τον ελεγκτή του πληκρολογίου από τη διαχείριση του Α20. Έτσι, στο BIOS αρκετών σύγχρονων συστημάτων υπάρχει μια παράμετρος που αναθέτει τη διαχείριση του Α20 στα chipsets. Extended Memory 181 Όλη η κύρια μνήμη πάνω από το πρώτο megabyte ονομάζεται extended memory (εκτεταμένη μνήμη). Η εκτεταμένη μνήμη αρχίζει από τη διεύθυνση 10FFF0 και εκτείνεται μέχρι το τέλος της κύριας μνήμης. Η ονομασία έχει σχέση με το γεγονός, ότι η εκτεταμένη μνήμη είναι η επιπλέον μνήμη που προστέθηκε στο 1 ΜΒ που διέθεταν οι πρώτοι προσωπικοί υπολογιστές (Intel 8088). Με εξαίρεση τα πρώτα bytes, όλη η υπόλοιπη extended memory δεν είναι προσπελάσιμη για τα προγράμματα του DOS, όταν ο επεξεργαστής λειτουργεί σε real mode. Προκειμένου να μπορεί να προσπελαστεί η extended memory στο σύνολό της, θα πρέπει να χρησιμοποιήσουμε protected mode. Υπάρχουν δυο τρόποι με τους οποίους μπορούμε να χρησιμοποιήσουμε την extended memory του συστήματος. Τα συστήματα που λειτουργούν σε protected mode (όπως τα Windows NT), μπορούν να προσπελαύνουν απευθείας σε οποιδήποτε διεύθυνση της extended memory. Στα λειτουργικά συστήματα (Windows 3.x, Windows 95) ή στις εφαρμογές (DOS programs) που "τρέχουν" σε real mode και χρειάζονται extended memory, θα πρέπει να χρησιμοποιηθεί κάποιος διαχειριστής για την extended memory (extended memory manager). Ο πιο συνηθισμένος διαχειριστής της extended memory είναι ο οδηγός HIMEM.SYS, ο οποίος διαχειρίζεται την extended memory σύμφωνα με τις προδιαγραφές XMS (extended memory specification). Το XMS είναι στην πραγματικότητα ένα πρωτόκολλο, με τη βοήθεια του οποίου ο οδηγός HIMEM.SYS επιτρέπει στα προγράμματα να χρησιμοποιήσουν την extended memory.

182 Κρυφή μνήμη (Cache Memory) 182 Εισαγωγή Η κρυφή μνήμη (cache memory) είναι ένα είδος ενδιάμεσης μνήμης που παρεμβάλεται μεταξύ του ταχύτατου επεξεργαστή και της πιο αργής κύριας μνήμης (στην πραγματικότητα η μνήμη δεν είναι τόσο αργή σε σχέση με τα υπόλοιπα μέρη ενός υπολογιστή, απλώς ο επεξεργαστής είναι πολύ γρήγορος) και βελτιώνει σημαντικά την απόδοση της κύριας μνήμης και κατ' επέκταση όλου του συστήματος. Η χρησιμοποίηση κρυφής μνήμης σε ένα σύστημα έχει ως αποτέλεσμα να μειώνεται ο συνολικός χρόνος κατά τον οποίο ο επεξεργστής είναι αδρανοποιημένος, περιμένοντας να ικανοποιηθεί κάποια αίτηση του από την κύρια μνήμη. Υπάρχουν διάφορα επίπεδα κρυφής μνήμης που χρησιμοποιούνται στους σύγχρονους υπολογιστές ως ενδιάμεση μνήμη για δεδομένα στα οποία έγινε αναφορά προσφάτως. Όταν αναφέρουμε τον όρο κρυφή μνήμη, εννούμε συνήθως τη δευτερεύουσα κρυφή μνήμη, αλλιώς θα γίνεται αναφορά στα ιδιαίτερα χαρακτηριστικά της συγκεκριμένης κρυφής μνήμης. Επικοινωνία μεταξύ επεξεργαστή, κρυφής και κύριας μνήμης Ο ρόλος της κρυφής μνήμης στον υπολογιστή Στους πρώτους προσωπικούς υπολογιστές τα διάφορα μέρη τους είχαν ένα κοινό γνώρισμα: ήταν όλα πολύ αργά. Για παράδειγμα, ένας επεξεργαστής που "έτρεχε" στα 8 MHz ή λιγότερο, χρειάζονταν αρκετούς παλμούς του ρολογιού για να εκτελέσει ακόμα και την πιο απλή λειτουργία. Επίσης, επειδή η κύρια μνήμη του υπολογιστή ήταν πολύ πιο αργή σε σχέση με τον επεξεργαστή, πολλές φορές ο επεξεργαστής ήταν αναγκασμένος να μένει αδρανής περιμένωντας να ικανοποιηθεί μια αίτηση του από τη μνήμη. Υπήρχαν όμως και μερικές περιπτώσεις όπου η κύρια μνήμη του συστήματος είχε ταχύτητα που ήταν συγκρίσιμη με αυτή του επεξεργαστή. Σήμερα (15 χρόνια περίπου μετά την παρουσίαση των PCs) όλα τα συσταστικά μέρη ενός υπολογιστή είναι σαφώς γρηγορότερα από τα αντίστοιχα μέρη των πρώτων προσωπικών υπολογιστών. Ωστόσο, ο βαθμός αύξησης της ταχύτητας δεν ήταν ίδιος για όλα τα μέρη ενός υπολογιστή. Για παράδειγμα, ενώ η κύρια μνήμη του υπολογιστή έγινε 10 φορές ταχύτερη, οι επεξεργαστές είναι 1000 φορές ταχύτεροι, σε σχέση με τον επεξεργαστή που χρησιμοποιήθηκε στον αρχικό IBM PC. Αυτή η άνιση βελτίωση της ταχύτητας (απόδοσης) μεταξύ του επεξεργαστή και των υπολοίπων μερών του υπολογιστή έχει ως αποτέλεσμα ο επεξεργαστής να είναι μακράν το ταχύτερο τμήμα σε κάθε υπολογιστή. Οι σχεδιαστές υπολογιστών λαμβάνοντας υπόψη την

183 παραπάνω παρατήρηση, προσπαθούν να ελαχιστοποιήσουν την καθυστέρηση στη λειτουργία του επεξεργαστή που προκαλείται από το γεγονός ότι τα υπόλοιπα μέρη του υπολογιστή δεν μπορούν να εξυπηρετήσουν αμέσως τις αιτήσεις του επεξεργαστή. Για παράδειγμα όταν ο επεξεργαστής ζητήσει κάποιες πληροφορίες από την κύρια μνήμη θα πρέπει να αδρανοποιηθεί μέχρι να είναι διαθέσιμες αυτές οι πληροφορίες. Αυτή η καθυστέρηση έχει ως αποτέλεσμα να μειώνεται σημαντικά η απόδοση όλου του συστήματος. Προκειμένου να ελαχιστοποιθεί ο χρόνος αδράνειας του επεξεργαστή μπορούμε να κατασκεύασουμε μνήμες, διαύλους, σκληρούς δίσκους, οδηγούς CD-ROM..., με ταχύτητες παρόμοιες με αυτή του επεξεργαστή. Αν και αυτή η λύση είναι εφικτή, το συνολικό κόστος αγοράς ενός τέτοιου συστήματος θα είναι πολύ υψηλό, οπότε αυτή η λύση απορρίπτεται τουλάχιστον για τα συστήματα γενικού σκοπού. Η μοναδική λύση είναι να χρησιμοποιήσουμε αρχιτεκτονικές που θα εκμεταλλεύονται στο έπακρο τις δυνατότητες της σημερινής τεχνολογίας και θα διατηρούν το κόστος αγοράς ενός προσωπικού υπολογιστή σε ανεκτά επίπεδα. Σε αυτή ακριβώς την προσέγγιση στηρίζεται και η ιδέα της χρησιμοποίησης κρυφής μνήμης στους υπολογιστές. Έτσι, αντί να κατασκευάσουμε μια ταχύτατη αλλά πανάκριβη κύρια μνήμη των 64 ΜΒ, χρησιμοποιούμε μια ταχύτατη αλλά όχι τόσο ακριβή (λόγω μεγέθους) κρυφή μνήμη των 256 ΚΒ σε συνδυασμό με μια πιο αργή κύρια μνήμη. Η σχετικά αργή κύρια μνήμη με τη βοήθεια της ταχύτατης κρυφής μνήμης και τη χρησιμοποίηση ενός αλγορίθμου μεταφοράς δεδομένων μεταξύ αυτών των δυο, έχει συμπεριφορά πολύ ταχύτερης μνήμης από ότι είναι στη πραγματικότητα. Πως γίνεται όμως αυτό; Όταν γίνεται μια αναφορά σε μια θέση της μνήμης είναι πολύ πιθανό η επόμενη αναφορά να γίνει σε κάποια γειτονική θέση της μνήμης. Αυτό το φαινόμενο είναι γνωστό ως τοπικότητα (locality) των αναφορών στη μνήμη και εμφανίζεται με δυο τρόπους: Χρονική τοπικότητα: Τα περιεχόμενα της ίδιας διεύθυνσης είναι πιθανόν να ζητηθούν και στο κοντινό μέλλον. Χωρική τοπικότητα: Αν ζητηθούν τα περιεχόμενα μιας διεύθυνσης της κύριας μνήμης είναι πολύ πιθανόν να ζητηθούν και τα περιεχόμενα των γειτονικών διευθύνσεων. 183 Χρονική και Χωρική τοπικότητα στις αναφορές στην κύρια μνήμη Για παράδειγμα η ύπαρξη ενός βρόχγου (loop) μέσα στον κώδικα ενός προγράμματος προκαλεί χρονική τοπικότητα, ενώ το φαινόμενο της χωρικής τοπικότητας παρατηρείται κατά την εκτέλεση των μικροεντολών τα βήματα των οποίων είναι σειριακά αποθηκευμένα στη μνήμη. Επίσης χωρική τοπικότητα εμφανίζεται και στην αποθήκευση δεδομένων σε έναν πίνακα στη μνήμη. Η ταχύτατη κρυφή μνήμη χρησιμοποιείται για την αποθήκευση των πληροφοριών στις οποίες έγινε πρόσφατα αναφορά. Το φαινόμενο της τοπικότητας έχει ως αποτέλεσμα να

184 είναι μεγαλύτερη η πιθανότητα εξυπηρέτησης μιας αίτησης του επεξεργαστή από την ταχύτατη κρυφή μνήμη παρά από την πιο αργή κύρια μνήμη. Όταν η αίτηση δεν μπορεί να ικανοποιηθεί από την κρυφή μνήμη, τότε οι πληροφορίες που ζητήθηκαν αναζητούνται στην κύρια μνήμη και αφού βρεθούν μεταφέρονται στην κρυφή μνήμη, για πιθανή μελλοντική χρήση. Επειδή η κρυφή μνήμη είναι πολύ μικρότερη από την κύρια μνήμη χρησιμοποιούμε έναν αλγόριθμο, που διαχειρίζεται τη μεταφορά των δεδομένων από την κρυφή μνήμη στην κύρια μνήμη και αντιστρόφως. Στην ουσία, η κρυφή μνήμη παρεμβάλλεται μεταξύ του επεξεργαστή και της κύριας μνήμης και έχει ως σκοπό την εξισορρόπηση, κατά το δυνατόν, των ταχυτήτων τους. 184

185 Τύποι Κρυφής Μνήμης 185 Επίπεδα κρυφής μνήμης Υπάρχουν πολλοί τύποι (επίπεδα ή layers) κρυφής μνήμης που χρησιμοποιούνται για διάφορους σκοπούς στους σύγχρονους υπολογιστές. Όσο πιο "κοντά" βρίσκεται ένα επίπεδο στον επεξεργαστή, τόσο πιο ταχύτερο είναι από το αμέσως παρακάτω επίπεδο. Επίσης κάθε επίπεδο λειτουργεί ως κρυφή μνήμη για το αμέσως παρακάτω επίπεδο, αφού είναι ταχύτερο από αυτό. Επίπεδο Συσκευές που τη χρησιμοποιούν Level 1 Cache Level 2 Cache, κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM Level 2 Cache System RAM κύρια μνήμη RAM, σκληρός δίσκος / CD-ROM σκληρός δίσκος / CD-ROM Σκληρός δίσκος / CD-ROM -- Όταν ο επεξεργαστής ζητήσει κάποιες πληροφορίες από τη μνήμη, η διαδικασία αναζήτησης είναι η εξής: Αρχικά οι πληροφορίες αναζητούνται μέσα στην L1 cache (ή Level 1 cache) αφού αυτή είναι και ο ταχύτερος τύπος κρυφής μνήμης. Αν οι πληροφορίες βρεθούν (έχουμε επιτυχία ή hit) εκεί, μεταφέρονται απευθείας και με μεγάλη ταχύτητα στον επεξεργαστή. Αν οι πληροφορίες δεν υπάρχουν (έχουμε αποτυχία ή miss) μέσα στην L1 cache, η αναζήτηση συνεχίζεται στην L2 cache (ή Level 2 cache) που είναι το αμέσως επόμενο επίπεδο. Αν έχουμε επιτυχία, τότε οι πληροφορίες μεταφέρονται με κάποια μικρή καθυστέρηση στον επεξεργαστή ενώ γίνεται ενημέρωση και της L1 cache για να είναι διαθέσιμες οι πληροφορίες για μελλοντική χρήση. Αν έχουμε αποτυχία μέσα στην L2 cache τότε οι πληροφορίες μεταφέρονται με σχετικά μεγάλη καθυστέρηση από την κύρια μνήμη στον επεξεργαστή. Αν οι πληροφορίες που ζητήθηκαν δεν βρίσκονται ούτε στην κύρια μνήμη τότε η αναζήτηση συνεχίζεται στο σκληρό δίσκο ή στον οδηγό CD-ROM ή στον οδηγό εύκαμπτων δίσκων. Αφού μεταφερθούν οι πληροφορίες στον επεξεργαστή γίνεται ενημέρωση όλων των παραπάνω επιπέδων έτσι ώστε οι πληροφορίες να είναι διαθέσιμες αν ξαναζητηθούν. Η αντικατάσταση των περιεχομένων μέσα στα διάφορα επίπεδα κρυφής μνήμης γίνεται βάσει περίπλοκων αλγορίθμων. Είναι σημαντικό να κατανοήσουμε το πόσο πιο αργές είναι μερικές συσκεύες σε σχέση με τον επεξεργαστή του συστήματος. Για παράδειγμα, ο ταχύτερος σκληρός δίσκος έχει χρόνο προσπέλασης περίπου 10 milliseconds. Αν ένας επεξεργαστής των 200 MHz είναι αναγκασμένος να περιμένει 10 milliseconds για να ικανοποιηθεί μια αίτηση του από το σκληρό δίσκο θα αδρανοποιηθεί για 2 εκατομμύρια παλμούς του ρολογιού. Η καθυστέρηση θα είναι ακόμα μεγαλύτερη αν η αίτηση απευθύνεται στο οδηγό CD-ROM, που είναι 10 φορές πιο αργός από έναν σκληρό δίσκο.

186 186 Η ιεραρχία των μνημών μέσα στον υπολογιστή Level 1 (Primary Cache) Η level 1 Cache (ή L1 cache ή Primary cache ή πρωτεύον κρυφή μνήμη) είναι ο ταχύτερος τύπος μνήμης μετά τους καταχωρητές που συναντούμε σε έναν υπολογιστή. Στην πραγματικότητα, το chip της L1 cache είναι ενσωματωμένο μέσα στο chip του επεξεργαστή, γι' αυτό και μερικές φορές η L1 cache ονομάζεται και "εσωτερική κρυφή μνήμη" (internal cache). Η L1 cache είναι πολύ μικρή αφού το μέγεθος της κυμαίνεται από 8 ως 64 ΚΒ. Η ταχύτητά της είναι ίδια περίπου με αυτή του επεξεργαστή. Αν ο επεξεργαστής ζητήσει κάποιες πληροφορίες και αυτές βρεθούν μέσα στη L1 cache, τότε με πάρα πολύ μικρή καθυστέρηση μεταφέρονται στον επεξεργαστή. Η L1 cache αναλύεται και στο αντίστοιχο τμήμα των επεξεργαστών. Level 2 (Secondary Cache) Η level 2 cache (ή L2 cache ή Secondary cache ή δευτερεύουσα κρυφή μνήμη) είναι το αμέσως παρακάτω επίπεδο κρυφής μνήμης μετά την L1 cache, και έχει μεγαλύτερο μέγεθος αλλά μικρότερη ταχύτητα από αυτήν. Το μέγεθός της κυμαίνεται από 64 ΚΒ ως 2 ΜΒ και χρησιμοποιείται για την αποθήκευση των πληροφοριών που έχουν προσπελαστεί προσφάτως και δεν είναι αποθηκευμένες στην L1 cache. Η L2 cache είναι γνωστή και ως εξωτερική κρυφή μνήμη (external cache), επειδή το chip της δεν είναι ενσωματωμένο μέσα στo chip του επεξεργαστή. Το chip της L2 cache τοποθετείται είτε απευθείας πάνω στη μητρική πλακέτα, είτε πάνω σε μια θυγατρική κάρτα, η οποία στη συνέχεια τοποθετείται πάνω στη μητρική πλακέτα. Στα συστήματα με επεξεργαστές Pentium Pro το chip της L2 cache είναι ενσωματωμένο μέσα στο chip του επεξεργαστή (που περιέχει και το chip της L1 cache), με αποτέλεσμα τα συστήματα αυτά να είναι σαφώς ταχύτερα από αυτά στα οποία η L2 cache είναι ενσωματωμένη σε κάποιο άλλο σημείο της μητρικής πλακέτας.

187 Κρυφή μνήμη δίσκου 187 Η κρυφή μνήμη δίσκου (Disk Cache) είναι ένα τμήμα της κύριας μνήμης του συστήματος, που χρησιμοποιείται για τη μεταφορά δεδομένων από το σκληρό δίσκο προς τη μνήμη και αντίστροφα. Κατά κάποιο τρόπο είναι ο σημαντικότερος τύπος κρυφής μνήμης μέσα στους υπολογιστές αφού η μεγαλύτερη διαφοροποίηση ταχυτήτων, παρατηρείται μεταξύ της κύριας μνήμης του συστήματος και του σκληρού δίσκου. Έτσι, ενώ η ταχύτητα της κύριας μνήμης είναι λίγο μικρότερη από αυτή της L1 cache ή L2 cache, ο σκληρός δίσκος είναι πολύ πιο αργός από την κύρια μνήμη. Αν και οι L1 cache και L2 cache χρησιμοποιούνται μόνο ως κρυφές μνήμες, η κύρια μνήμη του συστήματος χρησιμοποιείται και για άλλους σκοπούς. Η κρυφή μνήμη δίσκου υλοποιείται με τη βοήθεια ειδικού λογισμικού (στο DOS μέσω του προγράμματος SmartDrive). Η κρυφή μνήμη δίσκου αναλύεται περισσότερο στην ενότητα της απόδοσης των σκληρών δίσκων. Κρυφή μνήμη περιφερειακών Όπως ακριβώς συμβαίνει και με τους σκληρούς δίσκους έτσι και άλλες συσκεύες μπορούν να χρησιμοποιούν την κύρια μνήμη του συστήματος ως κρυφή μνήμη (Peripheral Cache). Οι οδηγοί CD-ROM είναι το πιο χαρακτηριστικό παράδειγμα μετά τους σκληρούς δίσκους, κυρίως εξαιτίας της μικρής ταχύτητας προσπέλασης. Ωστόσο σε μερικές περιπτώσεις οι οδηγοί CD-ROM μπορούν να χρησιμοποιήσουν και τους σκληρούς δίσκους ως κρυφή μνήμη, αφού είναι σαφώς πιο αργοί από αυτούς.

188 Τρόπος Λειτουργείας Κρυφής Μνήμης 188 Εισαγωγή Παρακάτω αναλύεται ο τρόπος λειτουργίας της L2 cache, ενώ και η L1 cache λειτουργεί σε γενικές γραμμές κατά τον ίδιο περίπου τρόπου. Η χρησιμοποίηση κρυφής μνήμης στους υπολογιστές στηρίζεται πάνω στο φαινόμενο της τοπικότητας των αναφορών προς τη μνήμη. Αν υποθέσουμε ότι έχουμε 512 ΚΒ L2 cache, τότε η μνήμη αυτή μπορεί να χρησιμοποιηθεί ως κρυφή μόνο από 64 ΜΒ κύριας μνήμης. Αν και 512 ΚΒ L2 κρυφής μνήμης είναι λιγότερο από το 1% του μεγέθους της κύριας μνήμης, εντούτοις το 90-95% των αιτήσεων προς τη μνήμη ικανοποιείται από τα 512 ΚΒ της L2 cache. Παρατηρούμε δηλαδή ότι παρόλο που η L2 cache έχει πολύ μικρότερο μέγεθος από την κύρια μνήμη ικανοποιεί σχεδόν όλες τις αιτήσεις προς τη μνήμη, σε ποσοστό 90-95%. Το πολύ υψηλό ποσοστό εξυπηρέτησης των αιτήσεων από την L2 cache, οφείλεται στο φαινόμενο της τοπικότητας των αναφορών προς τη μνήμη. Ακόμα και στα μεγάλα προγράμματα με αρκετά megabytes κώδικα, μερικά μόνο κομμάτια κώδικα εκτελούνται ταυτόχρονα και πρέπει να βρίσκονται αποθηκευμένα στη μνήμη. Τα προγράμματα τείνουν να ξοδεύουν αρκετό χρόνο εκτελώντας τα ίδια τμήματα κώδικα με ελάχιστα διαφοροποιημένα δεδομένα, παρά να εκτελούν εντολές που βρίσκονται σε εντελώς τυχαία σημεία του προγράμματος. Χαρακτηριστικό παράδειγμα αποτελούν οι επαναληπτικές δομές των προγραμμάτων. Ας υποθέσουμε ότι τρέχουμε έναν επεξεργαστή κειμένου για να δούμε τα περιεχόμενα ενός κειμένου που έχει αποθηκευτεί σε ένα αρχείο. Ο επεξεργαστής κειμένου πρέπει πρώτα να διαβάσει το αρχείο, στο οποίο έχουμε αποθηκεύσει το κείμενο μας και στη συνέχεια να εκτυπώσει το κείμενο στην οθόνη του υπολογιστή. Χρησιμοποιώντας ψευδοκώδικα η διαδικασία αναλύεται ως εξής: Άνοιγμα του παραθύρου εργασίας Για κάθε χαρακτήρα του κειμένου ακολουθείται η παρακάτω διαδικασία: 1. Διαβάζεται ο χαρακτήρας. 2. Αποθηκεύεται ο χαρακτήρας στην προσωρινή μνήμη εργασίας. 3. Εκτυπώνεται ο χαρακτήρας στο παράθυρο εργασίας, αν αυτός βρίσκεται στην πρώτη σελίδα του κειμένου. Κλείσιμο αρχείου κειμένου. Η επαναληπτική δομή είναι οι τρεις εντολές που βρίσκονται κάτω από την εντολή "Για κάθε χαρακτήρα του κειμένου ακολουθείται η παρακάτω διαδικασία:". Αυτές οι τρεις εντολές θα εκτελεστούν για κάθε γράμμα του κειμένου. Κάθε φορά που πατάμε το πλήκτρο "Page Down", ο επεξεργαστής κειμένου πρέπει να καθαρίσει την οθόνη (παράθυρο εργασίας) και στη συνέχεια ακολουθώντας την ίδια διαδικασία (με μόνη διαφορά ότι η τρίτη εντολή του βρόγχου θα έχει τη μορφή "Εκτυπώνεται ο χαρακτήρας στο παράθυρο εργασίας, αν αυτός βρίσκεται στην τρέχουσα σελίδα του κειμένου") να μεταφέρει τους χαρακτήρες από τη μνήμη στην οθόνη του υπολογιστή. Επομένως αποθηκεύοντας στην κρυφή μνήμη τον παραπάνω κώδικα, μπορούμε να αυξήσουμε την απόδοση της κύριας μνήμης, αφού όλες οι αναφορές στη μνήμη θα γίνονται στην περιοχή που έχει αποθηκευτεί ο κώδικας της επαναληπτικής δομής. Η τοπικότητα παρατηρείται και στα δεδομένα που χρησιμοποιούν τα προγράμματα. Για παράδειγμα, στον επεξεργαστή κειμένου οι σελίδες του κειμένου που έχουν προσπελαστεί περισσότερο, αποθηκεύονται στην κρυφή μνήμη έτσι ώστε να μετακινούμαστε σε αυτές γρηγορότερα πατώντας τα πλήκτρα "scroll up" και "scroll down".

189 Τρόπος λειτουργίας της κρυφής μνήμης 189 Στο παράδειγμα με την επαναληπτική δομή των 3 εντολών, οι χαρακτήρες διαβάζονται από το αρχείο, αποθηκεύονται στη μνήμη και τέλος εκτυπώνονται στην οθόνη του υπολογιστή. Πριν εκτελεστούν για πρώτη φορά οι εντολές θα πρέπει να μεταφερθούν από την αργή κύρια μνήμη στην ταχύτερη L2 cache, ενώ στην περίπτωση που βρίσκονται στο σκληρό δίσκο θα πρέπει ομοίως να μεταφερθούν στην L2 cache. Η L2 cache (όπως και όλα τα επίπεδα της κρυφής μνήμης) είναι έτσι κατασκευασμένη, ώστε να κρατά τις πιο πρόσφατα προσπελάσιμες πληροφορίες, οι οποίες είναι πολύ πιθανό να ξαναζητηθούν στο κοντινό μέλλον. Επομένως, την πρώτη φορά που θα γίνει αναφορά σε κάθεμια από τις τρεις εντολές του βρόγχου, θα αποθηκευτούν στην L2 cache, αφού βέβαια προηγουμένως διαβαστούν από την κύρια μνήμη (ή το σκληρό δίσκο ή...). Την επόμενη φορά που ο επεξεργαστής θελήσει να εκτελέσει τις ίδιες εντολές θα τις αναζητήσει πρώτα στην L2 cache και αφού τις βρει εκεί, θα τις εκτελέσει αμέσως, χωρίς να χρειάζεται να φορτωθούν αυτές από την πιο αργή κύρια μνήμη. Ο συνολικός αριθμός εντολών που μπορούν να αποθηκευτούν προσωρινά στην L2 cache εξαρτάται από το μέγεθος και τη σχεδίαση της L2 cache. Ας υποθέσουμε ότι ο βρόγχος θα επεξεργαστεί 1000 χαρακτήρες και η L2 cache μπορεί να "κρατήσει" και τις τρεις εντολές του βρόγχου (πράγμα που ακούγεται πολύ πιθανό αλλά δεν ισχύει πάντα). Σε αυτή την περίπτωση την πρώτη φορά που θα εκτελεστεί ο βρόγχος, οι εντολές θα διαβαστούν από την κύρια μνήμη και στη συνέχεια για τους επόμενους 999 χαρακτήρες θα διαβαστούν από την L2 cache, οπότε το ποσοστό επιτυχίας στην L2 cache θα είναι 99.99%. Έτσι λοιπόν εξηγείται το παράδοξο, του να ικανοποιείται ένα πάρα πολύ μεγάλο ποσοστό αιτήσεων από τη μικρή σε μέγεθος L2 cache.

190 Εσωτερική Οργάνωση και Χαρτογράφιση 190 Τμήματα της L2 cache Η L2 cache αποτελείται από δυο βασικά μέρη. Αυτά τα μέρη συνήθως δεν είναι τοποθετημένα πάνω στο ίδιο chip, αλλά αντιμετωπίζονται σαν μια οντότητα. Τα βασικά μέρη μιας L2 cache είναι: Data Store: Είναι το μέρος που αποθηκεύονται πραγματικά οι πληροφορίες. Τα δεδομένα που εισέρχονται ή εξέρχονται από την L2 cache αποθηκεύονται στο Data stote. Όταν λέμε ότι το μέγεθος της L2 cache είναι 256 ΚΒ, εννοούμε ότι το μέγεθος του Data store είναι 256 ΚΒ. Όσο μεγαλύτερο είναι το μέγεθος του Data store, τόσο περισσότερες πληροφορίες μπορούν να αποθηκεύτουν και τόσο μεγαλύτερη είναι η πιθανότητα εξυπηρέτησης μιας αίτησης προς τη μνήμη από την L2 cache. Tag RAM: Είναι ένα μικρό κομμάτι μνήμης που χρησιμοποιείται για να αποθηκευτούν κομμάτια διευθύνσεων της κύριας μνήμης τα περιεχόμενα των οποίων βρίσκονται στην L2 cache. Το μέγεθος του tag RAM και όχι το μέγεθος του Data καθορίζει το ποσό της κύριας μνήμης που μπορεί να χρησιμοποιήσει την L2 cache. Εκτός φυσικά από το Data store και το tag RAM, υπάρχουν και τα σχετικά κυκλώματα ελέγχου των λειτουργιών. Στους σύγχρονους υπολογιστές ο έλεγχος λειτουργίας της L2 cache γίνεται από το chipset συστήματος. Οργάνωση του Data store Από τους υπολογιστές πέμπτης γενιάς και μετά η L2 cache είναι οργανωμένη όπως ένας πίνακας, σε κάθε γραμμή (cache lines) του οποίου μπορούμε να αποθηκεύσουμε 32 bytes (ή 256 bits) δεδομένων. Αυτό σημαίνει ότι κάθε φορά που θέλουμε να διαβάσουμε ή να γράψουμε από ή σε μια γραμμή αντίστοιχα, μεταφέρονται ταυτόχρονα 32 bytes δεδομένων, οπότε δεν υπάρχει τρόπος να γράψουμε ή να διαβάσουμε μόνο 1 byte. Επίσης δεν μπορούμε να αποθηκεύσουμε σε κάθε γραμμή λιγότερα από 64 bits, αφού το data bus σε ένα συνηθισμένο σύστημα Pentium (ή μεταγενέστερο σύστημα) έχει εύρος 64 bits. Το μέγεθος του Data store είναι 256 bits γιατί η προσπέλαση στη μνήμη γίνεται με τη μέθοδο της ριπής των τεσσάρων βημάτων, οπότε 4*64=256 bits. Έστω ότι διαθέτουμε μια L2 cache μεγέθους 512 ΚΒ. Το Data store, που έχει μέγεθος 512 ΚΒ είναι οργανωμένο σε 32 στήλες (32 bytes ανά γραμμή) και (16 Κ) γραμμές, οπότε θα έχουμε συνολικά διαφορετικές διευθύνσεις γραμμών. Χαρτογράφηση της κρυφής μνήμης Ένας από τους σημαντικότερους παράγοντες, που καθορίζουν την απόδοση της L2 cache είναι και ο τρόπος χαρτογράφησης της L2 cache πάνω στην κύρια μνήμη του συστήματος. Ας υποθέσουμε ότι διαθέτουμε 64 ΜΒ κύριας μνήμης και 512 ΚΒ L2 cache με 32 bytes ανά γραμμή (άρα θα υπάρχουν γραμμές). Η χαρτογράφηση της L2 cache, δηλαδή ο τρόπος κατανομής της ως προς την κύρια μνήμη μπορεί να γίνει με 3 διαφορετικούς τρόπους, καθένας από τους οποίους καθορίζει και την ονομασία της cache. Direct Mapped Cache Ο απλούστερος τρόπος για την κατανομή της L2 cache στην κύρια μνήμη του συστήματος, είναι να καθορίσουμε αρχικά το πλήθος των γραμμών της L2 cache (στο παράδειγμα μας έχουμε γραμμές), και στην συνέχεια να χωρίσουμε την κύρια μνήμη στον ίδιο αριθμό

191 τμημάτων. Κάθε τμήμα της κύριας μνήμης θα χρησιμοποιεί την αντίστοιχη γραμμή στην L2 cache. Αυτή η μέθοδος χαρτογράφησης ονομάζεται Direct mapping (απευθείας χαρτογράφηση). Επομένως, στο παράδειγμα μας κάθε γραμμή της L2 cache θα διαμοιράζεται από 64 ΜΒ / 16384= 4096 διαφορετικές διευθύνσεις της κύριας μνήμης. 191 Απευθείας χαρτογράφηση (Direct Mapped Cache) Fully Associative Cache Αντί να αντιστοιχήσουμε κάθε γραμμή της L2 cache σε ένα συγκεκριμένο κομμάτι της κύριας μνήμης (4096 διευθύνσεις), μπορούμε να αντιστοιχίσουμε κάθε γραμμή σε οποιοδήποτε κομμάτι της κύριας μνήμης. Αυτή η μέθοδος χαρτογράφησης είναι γνωστή ως Fully Associative Cache (κρύφη μνήμη πλήρους συσχέτισης).

192 192 Fully Associative Cache (κρυφή μνήμη πλήρους συσχέτισης) N-Way Set Associative Cache Το "Ν" είναι ένας ακέραιος αριθμός, που συνήθως παίρνει τιμή, η οποία είναι ίση με κάποια δύναμη του 2 (2, 4, 8,...). Πρόκειται για μια μέθοδο χαρτογράφησης που συνδυάζει Direct mapping και Fully Associative. Η L2 cache χωρίζεται σε Ν sets (σύνολα), καθένα από τα οποία περιέχει πολλές γραμμές. Για παράδειγμα, έστω ότι διαθέτουμε 512 KB μιας 4- way set associative L2 cache με 3 γραμμές ανά set και 32 bytes ανά γραμμή. Κάθε διεύθυνση της κύριας μνήμης μπορεί να συσχετιστεί με ένα set, και μπορεί να χαρτογραφηθεί μόνο σε μια από τις 3 γραμμές του set. Αυτό σημαίνει ότι υπάρχουν 3 πιθανές θέσεις (γραμμές) μέσα στο set, όπου μπορεί να βρεθεί μια συγκεκριμένη διεύθυνση της κύριας μνήμης. Θα πρέπει να σημειωθεί ότι η Direct Mapped Cache και η Fully Associative Cache είναι ειδικές περιπτώσεις της N-Way Set Associative Cache (κρυφή μνήμη συσχέτισης συνόλων). Έτσι αν το Ν=1, θα έχουμε μια γραμμή ανά set οπότε είμαστε στην περίπτωση της Direct Mapped Cache. Επίσης, αν υποθέσουμε ότι το Ν είναι ίσο με τον αριθμό των γραμμών στην L2 cache, τότε θα έχουμε μόνο ένα set με πολλές γραμμές, που μπορούν να συσχετιστούν με οποιαδήποτε διεύθυνση της κύριας μνήμης. Η τελευταία περίπτωση ισοδυναμεί με την Fully Associative Cache.

193 193 Κρυφή μνήμη συσχέτισης συνόλων

194 Απόδοση των Μεθόδων Χαρτογράφισης 194 Εισαγωγή Προκειμένου να έχει καλή απόδοση μια μέθοδος χαρτογράφησης θα πρέπει ταυτοχρόνως να μεγιστοποιούνται κατά το δυνατόν τα εξής: Ποσοστό Επιτυχίας (Hit Ratio): Θα πρέπει να είναι πολύ υψηλό το ποσοστό επιτυχίας της L2 cache. Με άλλα λόγια, θα πρέπει η πιθανότητα εξυπηρέτησης μιας αίτησης από την L2 cache να είναι πολύ μεγάλη. Search Speed: Η ταχύτητα αναζήτησης των περιεχομένων της L2 cache θα πρέπει να είναι όσο το δυνατόν μεγαλύτερη, προκειμένου να γνωρίζουμε σε πολύ μικρό χρονικό διάστημα αν μια αίτηση προς τη μνήμη μπορεί να ικανοποιηθεί ή όχι από την L2 cache. Βασιζόμενοι στους δυο παραπάνω παράγοντες μπορούμε να εκτιμήσουμε την απόδοση των 3 μεθόδων χαρτογράφησης. Απόδοση της Direct Mapped Cache Η Direct Mapped Cache χρησιμοποιεί τον απλούστερο τρόπο χαρτογράφησης και είναι πολύ εύκολο να υπολογίσουμε το ποσοστό επιτυχίας. Από τη στιγμή που κάθε διεύθυνση της κύριας μνήμης είναι δυνατόν να υπάρχει σε μια συγκεκριμένη γραμμή της L2 cache δεν χρειάζεται να κάνουμε αναζήτηση σε όλες τις γραμμές. Αν μια διεύθυνση της κύριας μνήμης υπάρχει στην L2 cache τότε ξέρουμε σε ποια γραμμή θα έχει τοποθετηθεί. Ωστόσο η Direct Mapped Cache έχει τη χειρότερη απόδοση, αφού τα περιεχόμενα μιας διεύθυνσης της κύριας μνήμης μπορούν να τοποθετηθούν σε μια μόνο γραμμή της L2 cache. Για παράδειγμα, έστω ότι έχουμε 512 ΚΒ L2 cache με 32 bytes ανά γραμμή και 64 ΜΒ κύριας μνήμης με λέξεις των 8 bits. Η L2 cache έχει γραμμές, οπότε κάθε γραμμή θα διαμοιράζεται από 4096 συνεχόμενες διευθύνσεις της κύριας μνήμης. Ας υποθέσουμε επίσης στη χειρότερη περίπτωση, ότι ο επεξεργαστής χρειάζεται τα περιεχόμενα 2 διαφορετικών διευθύνσεων X και Υ, οι οποίες όμως τυγχάνει να διαμοιράζονται την ίδια γραμμή της L2 cache αλλά δεν μπορούν να συνυπάρξουν στην ίδια γραμμή σε μια στιγμή. Έστω επίσης ότι η ακολουθία των αιτήσεων προς τη μνήμη είναι Χ,Υ,Χ,Υ (η ακολουθία αυτή είναι πολύ πιθανό να δημιουργηθεί εξαιτίας ενός μικρού βρόγχου). Αρχικά, ο επεξεργαστής θα διαβάσει τα περιεχόμενα της Χ από την κύρια μνήμη και στη συνέχεια αυτά θα μεταφερθούν στην αντίστοιχη γραμμή της L2 cache. Στη συνέχεια, ο επεξεργαστής ψάχνει στην L2 cache για τα περιεχόμενα της μνήμης που βρίσκονται στη διεύθυνση Υ αλλά δεν τα βρίσκει (αφού προηγουμένως έχουν αποθηκευτεί τα περιεχόνενα της Χ), οπότε τα διαβάζει από την κύρια μνήμη και τα αποθηκεύει στην ίδια γραμμή της L2 cache. Όταν αργότερα ο επεξεργαστής ζητήσει και πάλι τα περιεχόμενα της Χ, δεν θα τα βρει στην L2 cache, οπότε θα επαναληφθεί η παραπάνω διαδιακασία. Το ποσοστό επιτυχίας είναι 0%. Βέβαια αυτή είναι μια ακραία περίπτωση, αλλά σε γενικές γραμμές μπορούμε να πούμε ότι η Direct Mapped Cache έχει τη χειτότερη απόδοση από τις 3 μεθόδους χαρτογράφησης. Απόδοση της Fully Associative Cache Η Fully Associative Cache έχει την καλύτερη απόδοση αφού τα περιεχόμενα κάθε διεύθυνσης της κύριας μνήμης μπορούν να αποθηκευτούν σε οποιαδήποτε γραμμή της L2 cache. Ωστόσο, αυτός ο τρόπος χαρτογράφησης έχει ένα πολύ σοβαρό μειονέκτημα που έχει σχέση με την αναζήτηση των περιεχομένων των γραμμών της L2 cache. Συγκεκριμένα, αφού τα περιεχόμενα της κάθε διεύθυνσης της κύριας μνήμης μπορούν να αποθηκευτούν σε οποιαδήποτε από τις γραμμές της L2 cache, η αναζήτηση μέσα στην L2 cache

195 μπορεί να διαρκέσει σημαντικά. Ακόμα και με τη χρησιμοποίηση ειδικού hardware είναι αναπόφευκτη κάποια καθυστέρηση κατά την αναζήτηση μέσα στην L2 cache. Με τη βοήθεια ειδικών αλγορίθμων μπορούμε να μειώσουμε εν μέρει τη συνολική καθυστέρηση, αλλά σε καμιά περίπτωση δεν μπορούμε να την εκμηδενίσουμε (εξαιτίας των περιορισμών που θέτει το ίδιο το hardware). Απόδοση της N-Way Set Associative Cache 195 Η απόδοση της N-Way Set Associative Cache κυμαίνεται μεταξύ των αποδόσεων της Direct Mapped Cache και Fully Associative Cache, αν και σε μερικές περιπτώσεις μπορεί να έχει καλύτερη απόδοση από αυτή της Fully Associative Cache. Αν στο παράδειγμα που αναφέρθηκε στην απόδοση της Direct Mapped Cache υποθέσουμε ότι διαθέτουμε μια 4- Way Set Associative Cache και ότι τα περιεχόμενα των διευθύνσεων Χ και Υ βρίσκονται μέσα στο ίδιο set, τότε η απόδοση της 4-Way Set Associative Cache μπορεί θεωρητικά να ανέλθει στο 100%. Παρακάτω παρατίθεται ένας πίνακας με την απόδοση των 3 μεθόδων χαρτογράφησης: Τύπος κρυφής μνήμης Direct Mapped Fully Associative N-Way Set Associative, N>1 Ποσοστό Επιτυχίας Καλό Το καλύτερο Πολύ καλό, Καλύτερο όσο το Ν αυξάνει Ταχύτητα αναζήτησης Η Καλύτερη Μέτρια Καλή, Χειροτερεύει όσο το Ν αυξάνει Στην πράξη χρησιμοποιείται κυρίως η Direct Mapped Cache και η Set Associative Cache. Η Direct Mapped Cache χρησιμοποιείται περισσότερο για την L2 cache στις μητρικές πλακέτεs, ενώ οι καλύτερης απόδοσης Set Associative Cache χρησιμοποιούνται για την L1 cache μέσα στους επεξεργαστές. Ανάλυση διευθύνσεων στην κρυφή μνήμη Ο τρόπος με τον οποίο αναλύεται μια διεύθυνση όταν φτάνει στον ελεγκτή της L2 cache είναι περίπου ο ίδιος για όλες τις μεθόδους χαρτογράφησης. Για λόγους απλότητας θα ασχοληθούμε με την ανάλυση της διεύθυνσης σε μια Direct Mapped Cache. Έστω λοιπόν, ότι διαθέτουμε 64 ΜΒ κύριας μνήμης (με λέξεις των 8 bits) και 512 KB L2 cache (Direct Mapped) με 32 bytes δεδομένων ανά γραμμή. Υπάρχουν 512 Κ/ 32 = γραμμές στην L2 cache και επομένως 64 Μ / = 4096 διαφορετικές διευθύνσεις της κύριας μνήμης θα διαμοιράζονται την ίδια γραμμή. Όμως, κάθε γραμμή έχει 32 bytes, οπότε το διάστημα των 4096 διευθύνσεων χωρίζεται σε 4096 / 32 = 128 διαφορετικές περιοχές. Στην ουσία, κάθε γραμμή της L2 cache θα διαμοιράζεται μεταξύ των 128 διαφορετικών περιοχών (tags) που συνιστούν οι 4096 συνεχόμενες διευθύνσεις στην κύρια μνήμη. Αφού η κύρια μνήμη έχει μέγεθος 64 ΜΒ και κάθε λέξη έχει εύρος 8 bits, οι διευθύνσεις θα έχουν συνολικό

196 μήκος 26 bits μιας και 2 26 =64 Μ, και θα έχουν τη μορφή Α25Α24Α23...Α1Α0. Όταν μια τέτοια διεύθυνση φτάσει από τον επεξεργαστή στην κύρια μνήμη, χωρίζεται σε 3 μέρη: 1. Α0 ως Α4: Τα 5 δεξιότερα bits αντιπροσωπεύουν τα 32 διαφορετικά bytes της κάθε γραμμής αφού 2 5 =32. Επομένως αυτά τα 5 bits καθορίζουν το byte που ζητήθηκε από τον επεξεργαστή. 2. Α5 ως Α18: Αυτά τα 14 bits καθορίζουν τη γραμμή στην L2 cache αφού 2 14 = Αν βάσει του tag της διεύθυνσης ανακαλύψουμε ότι έχουμε cache hit, τότε τα 14 bits καθορίζουν τη γραμμή (διεύθυνση της γραμμής μέσα στην κρυφή μνήμη) στην οποία είναι αποθηκευμένες οι πληροφορίες που θέλουμε. 3. Α19 ως Α25: Αυτά τα 7 bits καθορίζουν το tag αφού 2 7 = Η λειτουργία της ανάλυσης των διευθύνσεων σε μια Direct Mapped Cache Αν αλλάξουν οι προδιαγραφές της μνήμης, τότε αλλάζει και ο τρόπος αποκωδικοποίησης της διεύθυνσης. Αν για παράδειγμα, είχαμε 32 ΜΒ κύρια μνήμη, 128 ΚΒ L2 cache με 16 bytes ανά γραμμή, τότε τα bits από Α0 ως Α3 αγνοούνται, ενώ τα Α4 ως Α16 καθορίζουν τη γραμμή και τα Α17 ως Α24 είναι το tag.

197 Διαδικασίες Ανάγνωσης και Γραφής στη Κρυφή Μνήμη 197 Μέθοδοι γραψίματος στην κρυφή μνήμη και Dirty Bit Υπάρχουν δυο μέθοδοι εγγραφής των γραμμών στην L2 cache: Write-Back Cache (υστεροεγγραφή): Η μέθοδος αυτή είναι γνωστή και ως "copy back" και έχει ως χαρακτηριστικό της ότι τα νέα δεδομένα που αποθηκεύονται στην L2 cache, θα αποθηκευτούν και στην κύρια μνήμη μόνο όταν πρόκειται να αντικατασταθεί η συγκεκριμένη γραμμή από κάποια άλλη. Έτσι η κύρια μνήμη δεν είναι πλήρως ενημερωμένη σε κάθε χρονική στιγμή. Πριν αντικαταστήσουμε μια γραμμή της L2 cache, συγκρίνουμε τα περιεχόμενα της με τα αντίστοιχα περιεχόμενα της κύριας μνήμης, μέσω ενός bit, που είναι γνωστό ως Dirty Βit και βρίσκεται στην L2 cache. Αν το Dirty Βit έχει τιμή "1" τότε τα περιεχόμενα της γραμμής έχουν μεταβληθεί και επομένως πρέπει να αντιγράψουμε τη γραμμή στην κύρια μνήμη, ενώ αν έχει τιμή "0", τότε απλώς αντικαθιστούμε τη γραμμή. Μόλις φέρουμε μια νέα γραμμή στην L2 cache, αυτομάτως θέτουμε το Dirty Bit στην τιμή "0" και αν μεταβληθούν τα περιεχόμενα της, αυτόματα το Dirty Bit παίρνει την τιμή "1". Write-Through Cache (διεγγραφή): Με τη μέθοδο Write-Through, όποτε μεταβάλλονται τα περιεχόμενα μιας γραμμής της L2 cache, γίνεται αυτομάτως ενημέρωση και της αντίστοιχης γραμμής στην κύρια μνήμη. Με τον τρόπο αυτό η κύρια μνήμη είναι πλήρως ενημερωμένη σε κάθε χρονική στιγμή. Η πιο απλή μέθοδος είναι η Write-Through, όμως η Write-Back έχει καλύτερη απόδοση αφού μια γραμμή μπορεί να μεταβληθεί πολλές φορές αλλά η ενημέρωση της κύριας μνήμης γίνεται μια φορά μόνο όταν πρόκειται να αντικατασταθεί η συγκεκριμένη γραμμή. Η χρησιμότητα του Dirty bit

198 Διαδικασία ανάγνωσης / εγγραφής της κρυφής μνήμης Παρακάτω αναλύεται με τη μορφή βημάτων η διαδικασία ανάγνωσης / εγγραφής σε μια Direct Mapped Cache. Η κύρια μνήμη έχει μέγεθος 64 ΜΒ (με λέξεις των 8 bits), ενώ η L2 cache έχει μέγεθος 512 ΚΒ με 32 bytes δεδομένων ανά γραμμή. Επομένως, όταν ο επεξεργαστής θέλει να διαβάσει ή να γράψει από ή στην κύρια μνήμη αντίστοιχα, συμβαίνουν τα εξής: 1. Ο επεξεργαστής κάνει μια αίτηση για ανάγνωση / γραφή από / προς την κύρια μνήμη. Ταυτοχόνως, ο ελεγκτής της L2 cache ελέγχει αν οι πληροφορίες, στις οποίες έγινε αναφορά, υπάρχουν στην L2 cache, ενώ ο ελεγκτής της μνήμης αρχίζει τη διαδικασία ανάγνωσης / εγγραφής από / προς την κύρια μνήμη. Αυτό γίνεται για να μην χαθεί πολύτιμος χρόνος στην περίπτωση που έχουμε cache miss, μιας και θα πρέπει να κάνουμε προσπέλαση στην κύρια μνήμη. Αν θέλουμε να διαβάσουμε από τη μνήμη και συμβεί cache hit, τότε διακόπτεται η μη ολοκληρωμένη διαδικασία ανάγνωσης. Αντίθετα αν θέλουμε να γράψουμε στη μνήμη (με τη μέθοδο Write-Through) η παραπάνω διαδικασία ολοκληρώνεται. 2. Ο ελεγκτής της L2 cache ελέγχει αν έχουμε cache hit, εξετάζοντας τη διεύθυνση που του έχει αποσταλεί από τον επεξεργαστή. Τα bits της διεύθυνσης από Α0 ως Α4 αγνοούναι προς στιγμήν, αφού χρησιμοποιούνται για τον εντοπισμό ενός συγκεκριμένου byte μέσα από τα 32 bytes που περιέχει η κάθε γραμμή. Τα bits από Α5 ως Α18 αντιπροσωπεύουν τη γραμμή αφού 2 14 = Ο ελεγκτής της L2 cache διαβάζει τη διεύθυνση της γραμμής που υποδεικνύεται από τα bits Α5 ως Α18. Αν για παράδειγμα, αυτά τα 14 bits αντιστοιχούν στον αριθμό 13714, τότε ελέγχει το tag RAM της γραμμής # Στη συνέχεια, συγκρίνονται τα 7 bits της διεύθυνσης από Α18 ως Α24 με το tag RAM της γραμμής #13714 και αν είναι ίδια, τότε έχουμε cache hit, αλλιώς έχουμε cache miss. 4. Αν έχουμε cache hit και θέλουμε να κάνουμε ανάγνωση, τότε ο ελεγκτής της L2 cache διαβάζει τα 32 bytes από το Data store της γραμμής # Η διαδικασία ανάγνωσης που είχε αρχίσει στην κύρια μνήμη διακόπτεται. Αντίθετα, αν έχουμε cache hit και θέλουμε να γράψουμε στη μνήμη, τότε ο ελεγκτής της L2 cache γράφει τα 32 bytes στη γραμμή # Αν χρησιμοποιούμε τη μέθοδο Write-Through, τα 32 bytes θα γραφούν επίσης και στην κύρια μνήμη. Αν χρησιμοποιούμε τη μέθοδο Write-Back, η διαδικασία εγγραφής στην κύρια μνήμη ακυρώνεται ενώ το Dirty Bit της γραμμής #13714 παίρνει την τιμή "1", έτσι ώστε όταν αντικατασταθεί η γραμμή, να αντιγραφεί στην κύρια μνήμη. 5. Αν έχουμε cache miss και θέλουμε να κάνουμε ανάγνωση, η διαδικασία ανάγνωσης από την κύρια μνήμη, που είχε αρχίσει νωρίτερα, ολοκληρώνεται. Τα 32 bytes που διαβάστηκαν από την κύρια μνήμη μεταφέρονται στον επεξεργαστή, ο οποίος χρησιμοποιεί τα bits Α0 ως Α4, για να καθορίσει πιο από τα 32 bytes χρειάζεται. Ενώ συμβαίνουν αυτά στον επεξεργαστή, ενημερώνεται η L2 cache με τα 32 bytes, έτσι ώστε να είναι διαθέσιμα αν ξαναζητηθούν στο κοντινό μέλλον. Αν χρησιμοποιούμε την μέθοδο Write-Through, τότε τα 32 bytes αποθηκεύονται στο Data Store της γραμμής που υποδεικνύεται από τα bits Α5 ως Α18. Τα bits Α19 ως Α25 αποθηκεύονται στο tag RAM της γραμμής. Αν χρησιμοποιούμε τη μέθοδο Write-Back, τότε πριν μεταφέρουμε τα 32 bytes στην L2 cache ελέγχουμε την τιμή του Dirty Bit της συγκεκριμένης γραμμής. Αν το Dirty Bit είναι "1", τότε πρέπει να αντιγράψουμε πρώτα τη γραμμή στην κύρια μνήμη και στη συνέχεια να φέρουμε τα νέα δεδομένα. Στην περίπτωση που το Dirty Bit έχει την τιμή "0", απλώς αντικαταστούμε την παλιά γραμμή με τη νέα. 198

199 Αν έχουμε cache miss και θέλουμε να γράψουμε στη μνήμη, δεν ενημερώνουμε την L2 cache, απλώς γράφουμε στην κύρια μνήμη. Ωστόσο, υπάρχουν μερικά συστήματα κρυφών μνημών, στα οποία κάθε φορά που γράφουμε στην κύρια μνήμη ενημερώνεται και η L2 cache. 199 Η διαδικασία ανάγνωση-γραφής στην κρυφή μνήμη

200 Παράμετροι της Κρυφής Μνήμης 200 Ταχύτητα της κρυφής μνήμης Για να εκτιμήσουμε την ταχύτητα της κρυφής μνήμης του συστήματος, πρέπει να λάβουμε υπόψη μας τόσο την ταχύτητα του chip από το οποίο είναι κατασκευασμένη η κρυφή μνήμη, όσο και τον τρόπο σύνδεσης των chips. Συνήθως η L2 cache είναι φτιαγμένη από ένα chip SRAM, ενώ η κύρια μνήμη είναι κατασκευασμένη από chip DRAM. Επομένως, λαμβάνοντας υπόψη τα chips από τα οποία κατασκευάζονται, η L2 cache είναι σαφώς ταχύτερη αλλά ακριβότερη από την κύρια μνήμη του συστήματος. Ο χρόνος προσπέλασης σε μια L2 cache κυμαίνεται από 7 εώς 20 ns, ενώ ο χρόνος προσπέλασης στην κύρια μνήμη κυμαίνεται στο διάστημα ns. Βέβαια η ταχύτητα του chip SRAM της L2 cache είναι ένα άνω θεωρητικό όριο της ταχύτητας της L2 cache. Σε ένα σύστημα Pentium με δίαυλο μνήμης στα 66 MHz, θα έχουμε περίπου 66 εκατομμύρια παλμούς ανά δευτερόλεπτο, οπότε ο κάθε παλμός θα έχει διάρκεια 15 ns (1/ ) περίπου. Επομένως, για να γίνεται σωστά το διάβασμα από την L2 cache, θα πρέπει η ταχύτητα του chip SRAM να είναι "λίγο" μεγαλύτερη από 15 ns. Το "λίγο" μεγαλύτερη έχει να κάνει με το γεγονός ότι υπάρχουν κάποιες μικρές και αναπόφευκτες καθυστερήσεις μέσα στα κυκλώματα. Αν η ταχύτητα του SRAM chip είναι μικρότερη των 15 ns θα εμφανιστούν προβλήματα χρονισμού. Η ταχύτητα ανάγνωσης του tag RAM επίσης, πρέπει να είναι μεγαλύτερη από την ταχύτητα ανάγνωσης του Data Store, αφού το tag RAM πρέπει να διαβαστεί πιο γρήγορα για να ελέγξουμε αν έχουμε cache hit. Μέσα σε ένα παλμό του ρολογιού πρέπει να ελεχθεί το tag RAM, και στην περίπτωση που έχουμε cache hit να διαβαστούν και τα περιεχόμενα της γραμμής. Επομένως η ταχύτητα του tag RAM είναι περίπου 12 ns, ενώ η ταχύτητα του Data Store γύρω στα 15 ns. Όσο πιο περίπλοκη μέθοδο χαρτογράφησης χρησιμοποιούμε, τόσο πιο σημαντική είναι και η διαφορά ταχύτητας μεταξύ του tag RAM και του Data Store και το αντίστροφο. Η πραγματική ταχύτητα οποιασδήποτε κρυφής μνήμης, δηλαδή ο πραγματικός χρόνος μεταφοράς πληροφοριών από και προς την κρυφή μνήμη είναι συνάρτηση της ταχύτητας του chip της, του ελεγκτή της, καθώς και των chipsets με τα οποία αυτή συνεργάζεται. Οι προδιαγραφές των chipsets καθορίζουν τη μέθοδο μεταφοράς των δεδομένων, το χρονισμό της κρυφής μνήμης, τον αριθμό των παλμών που απαιτούνται για μια μεταφορά από και προς αυτή,...κτλ. Επίσης, η πραγματική απόδοση της κρυφής μνήμης εξαρτάται και από τις προδιαγραφές της μνήμης του συστήματος (για παράδειγμα, την ταχύτητα του διαύλου μνήμης). Μέσος χρόνος απόκρισης της μνήμης Ας υποθέσουμε ότι ο μέσος χρόνος απόκρισης της κρυφής μνήμης (ο χρόνος που απαιτείται για την διεκπεραίωση μιας αίτησης από την κρυφή μνήμη) και της κύριας μνήμης είναι t c και t m αντίστοιχα. Επίσης, αν h είναι το ποσοστό επιτυχίας (hit) της κρυφής μνήμης τότε το ποσοστό αποτυχίας (miss) θα είναι (1-h). Ο μέσος χρόνος απόκρισης για μια αίτηση προς τη μνήμη θα υπολογιζεται από τη σχέση t απόκρισης = h*t c + (1-h)*t m.

201 201 Μέγεθος κρυφής μνήμης Ο χρόνος απόκρισης της μνήμης είναι συνάρτηση του χρόνου απόκρισης της κρυφής και κύριας μνήμης Όταν μιλάμε για το μέγεθος της κρυφής μνήμης, εννοούμε το μέγεθος του data store, που είναι ο χώρος στον οποίο αποθηκεύονται στην πραγματικότητα τα δεδομένα. Μία τυπική L2 cache έχει μέγεθος 256 KB, 512 KB ή ακόμη και 2 MB, αν και θα μπορούσε να έχει και 64 KB μόνο σε μερικά παλιά συστήματα. Μέσα στους επεξεργαστές, το μέγεθος της L1 cache κυμαίνεται από 8 ως 64 KB. Είναι φυσικό, ότι όσο πιο μεγάλο είναι το μέγεθος της κρυφής μνήμης, τόσο καλύτερη θα είναι και η απόδοση της μνήμης, αφού ο αριθμός των διευθύνσεων της κύριας μνήμης που θα διαμοιραζόταν την ίδια γραμμή της κρυφής μνήμης θα είναι μικρότερος. Έστω ένα σύστημα το οποίο έχει 64 KB κύριας μνήμης και 512 KB cache direct mapped με 32 bytes ανά γραμμή. Έτσι, έχουμε γραμμές (512Κ/32) και κάθε γραμμή της κρυφής μνήμης θα μοιράζεται από 4096 διαφορετικές διευθύνσεις της κύριας μνήμης, αφού 64K/16384 = Αν αυξηθεί το μέγεθος της κρυφής μνήμης σε 1 MB, θα έχουμε γραμμές, κάθε μία από τις οποίες θα διαμοιράζεται από 2048 διευθύνσεις της κύριας μνήμης. Από την άλλη πλευρά, αν αυξήσουμε το μέγεθος της κύριας μνήμης από 64 ΚΒ σε 256 ΚΒ, κάθε μία από τις γραμμές της κρυφής μνήμης θα διαμοιραστεί από διαφορετικές διευθύνσεις της κύριας μνήμης. Στην πράξη, δεν υπάρχει μία αυστηρά λογική σχέση μεταξύ του μεγέθους της κρυφής μνήμης και του ποσοστού επιτυχίας. Έτσι σε ένα σύστημα με 256 KB κρυφής μνήμης και 32 MB κύρια μνήμη, αν αυξήσουμε την κρυφή μνήμη κατά 100% σε 512 KB δηλαδή, η αύξηση του ποσοστού επιτυχίας θα είναι περίπου 10%, ενώ αν διπλασιάσουμε το μέγεθος της κρυφής μνήμης σε 1 MB, η αύξηση του ποσοστού επιτυχίας θα είναι μικρότερη από 5%. Παρ όλα αυτά, όταν μεταβάλλεται σημαντικά το μέγεθος της κύριας μνήμης, καλό είναι να υπάρχει μία αντίστοιχη μεταβολή και του μεγέθους της κρυφής μνήμης, έτσι ώστε η απόδοση της μνήμης να παραμένει σε ανεκτά επίπεδα. Μέγεθος μνήμης που μπορεί να γραφεί στην κρυφή μνήμη Το μέγεθος της κύριας μνήμης που μπορεί να γραφεί στην κρυφή μνήμη δεν είναι απεριόριστο. Σχεδόν σε όλα τα σύγχρονα συστήματα 5ης γενιάς, μόνο 64 MB κύριας μνήμης μπορούν να υποβοηθηθούν από την κρυφή μνήμη. Ωστόσο, σε μερικές μητρικές πλακέτες (με chipsets 430FX, 430VX, 430TX) το όριο αυτό είναι μικρότερο από τα 64 MB. Αν έχουμε περισσότερη κύρια μνήμη από αυτή που μπορεί να χρησιμοποιηθεί στην κρυφή

202 μνήμη, τότε η απόδοση της μνήμης πέφτει, κυρίως λόγω της διαφοράς της ταχύτητας των δύο μνημών. Οι προσπελάσεις σε τμήματα της μνήμης που δεν έχουν συνδεθεί με την κρυφή μνήμη θα καθυστερούν πολύ περισσότερο σε σχέση με τις προσπελάσεις σε τμήματα, τα οποία έχουν οριστεί να μπορούν να χρησιμοποιούν την κρυφή μνήμη. Τέτοιου είδους καθυστερήσεις μεγαλώνουν σε συστήματα πολυεργασίας, όπου δεν ξέρουμε ποια δεδομένα πάνε σε χώρους της μνήμης που δεν μπορούν να γραφούν στην κρυφή μνήμη και ποιά σε χώρους που χρησιμοποιούν τη κρυφή μνήμη. Το μέγεθος της κύριας μνήμης που μπορεί να γραφεί στην κρυφή μνήμη εξαρτάται πρώτον από τη σχεδίαση του αντίστοιχου chipset και δεύτερον από το εύρος του tag RAM. Όσο μεγαλύτερη είναι η κύρια μνήμη, τόσο περισσότερες γραμμές θα έχουμε στην κρυφή μνήμη και τόσο περισσότερα bits θα πρέπει να αποθηκεύσουμε στο tag RAM. Ωστόσο, αν το chipset δεν έχει σχεδιαστεί για περισσότερα από 64 MB κύριας μνήμης, τα επιπλέον bits (αν υπάρχουν) του tag RAM δεν θα χρησιμοποιούνται. Ας υποθέσουμε ότι διαθέτουμε 64 MB κύριας μνήμης (λέξεις των 8 bits) και 512 KB L2 cache με 32 bytes ανά γραμμή. Τα 64 MB κύριας μνήμης υποδηλώνουν διευθύνσεις των 26 bits (Α0 ως Α25). Τα bits από Α0 ως Α4 καθορίζουν το byte μέσα στη γραμμή, τα bits Α5 ως Α18 καθορίζουν τη γραμμή και τα bits από Α19 ως Α25 δίνουν το tag. Αν προσθέσουμε επιπλέον άλλα 32 MB, το dirty bit συνήθως συνενώνεται με τα bits του tag RAM, οπότε στην πραγματικότητα το tag RAM θα έχει εύρος 1+7= 8 bits. Για να διευθυνσιοδοτηθούν τώρα τα 96 MB, χρειάζονται 27 bits (Α0 ως Α26), από τα οποία το tag RAM θα καταλαμβάνει 1+8=9 bits (Α19 ως Α26). Το tag RΑΜ της διαθέσιμης κρυφής μνήμης έχει 1+7=8 bits για tag RAM, οπότε θα έχουμε σοβαρό πρόβλημα. Το μοναδικό chipset που υποστηρίζει πάνω από 64 MB μέγιστο μέγεθος κύριας μνήμης, η οποία μπορεί να γραφεί στην κρυφή μνήμη, είναι το 430HX "Triton II" της Intel. Η μητρική πλακέτα του 430ΗΧ μπορεί να δεχθεί chips κρυφής μνήμης τα οποία έχουν tag RAM με έυρος 11 bits σε αντίθεση με τα 7 bits που είναι το πρότυπο. Αυτά τα 3 επιπλέον bits αυξάνουν το μέγεθος της κύριας μνήμης που μπορεί να γραφεί στην cache από 64 σε 512 MB. Για πολλούς χρήστες δεν είναι ξεκάθαρα κατανοητές οι έννοιες μέγεθος της κύριας μνήμης και μέγεθος της μνήμης που μπορεί να γραφεί στην κρυφή μνήμη. Μία κοινή σκέψη είναι ότι προσθέτοντας περισσότερη κρυφή μνήμη αυξάνεται το μέγεθος της κύριας μνήμης που μπορεί να γραφεί σ' αυτή. Στην πραγματικότητα, το εύρος του tag RAM και το chipset είναι εκείνα τα οποία ρυθμίζουν το μέγεθος της κύριας μνήμης που μπορεί να γραφεί στην κρυφή μνήμη. Μερικοί κατασκευαστές τοποθετούν επιπλέον tag RAM πάνω στα COAST modules. Στους υπολογιστές Pentium Pro τα chips της L2 cache και της L1 cache έχουν ενοποιηθεί σε μια συσκευασία, που έχει ενσωματωθεί στην κάρτα του επεξεργαστή. Στους υπολογιστές αυτούς μπορούν να χρησιμοποιούν κρυφή μνήμη ως και 4 GB κύριας μνήμης και προφανώς δεν μπορούμε να επέμβουμε στο tag RAM για να το μεταβάλλουμε αφού αυτό βρίσκεται μέσα στο chip του επεξεργαστή. Οι υπολογιστές Pentium II χρησιμοποιούν μία SEC θυγατρική κάρτα, έχουν σχεδόν ίδια αρχιτεκτονική με αυτή του Pentium Pro, αλλά εξαιτίας περιορισμών λόγω σχεδίασης, μόνο τα 512 MB της κύριας μνήμης μπορούν να γραφούν στην κρυφή μνήμη. Ένα σημαντικό ερώτημα που τίθεται σε πολλούς είναι: κατά πόσο θα μειωθεί η απόδοση του συστήματος, αν διαθέτουμε περισσότερη κύρια μνήμη από αυτή που μπορεί να γραφεί στην κρυφή μνήμη; Η απάντηση είναι εύκολη γιατί εξαρτάται τόσο από το σύστημα, όσο και από την εργασία που κάνουμε. Ένα ποσοστό μείωσης της απόδοσης μεταξύ του 5% και 25% είναι πολύ πιθανό, αλλά πρέπει να σκεφτούμε το γενονός ότι προσθέτοντας επιπλέον κύρια μνήμη, μειώνονται οι προσπελάσεις στο σκληρό δίσκο όταν χρησιμοποιούμε ιδεατή μνήμη, άρα αυξάνεται η απόδοση. Σε συστήματα πολυεπεξεργασίας, είναι καλό για τη συνολική απόδοση του συστήματος να έχουμε μεγάλες ποσότητες κύριας μνήμης, ακόμη 202

203 και αν δεν μπορούν να γραφούν στην κρυφή μνήμη, παρά να έχουμε μικρότερες ποσότητες, οι οποίες μπορούν να γραφούν στην κρυφή μνήμη ολόκληρες. Διαχωρισμός ή Ενοποίηση Πραγματικών Δεδομένων και Εντολών 203 Οι περισσότερες L2 caches χρησιμοποιούνται για την αποθήκευση τόσο των πραγματικών δεδομένων, όσο και των εντολών του επεξεργαστή. Ωστόσο, μερικοί επεξεργαστές διαχωρίζουν αυτές τις πληροφορίες μέσα στην L1 cache. Για παράδειγμα, ο επεξεργαστής "Classic" Pentium II (P54C) δεσμεύει μέσα στην L1 cache 8 ΚΒ για τα πραγματικά δεδομένα και τα υπόλοιπα 8 ΚΒ δεσμεύονται για τις εντολές του επεξεργαστή. Αυτή η αρχιτεκτονική μπορεί να είναι μερικές φορές πιο αποδοτική από την αρχιτεκτονική που δεν κάνει διαχωρισμό των πληροφοριών. Όταν έχουμε διαχωρισμό των πληροφοριών, μπορούμε να χρησιμοποιήσουμε στα δυο τμήματα κρυφές μνήμες διαφορετικού τύπου και διαφορετικής χαρτογράφησης (Pentium Pro). Transactional ή Non-Blocking Cache Οι περισσότερες κρυφές μνήμες μπορούν να χειριστούν μόνο μια αίτηση κάθε φορά. Αν μια αίτηση προς την κρυφή μνήμη οδηγήσει σε cache miss, τότε αυτή θα πρέπει να περιμένει για να έρθουν οι κατάλληλες πληροφορίες από την κύρια μνήμη και μέχρι να συμβεί αυτό, είναι "μπλοκαρισμένη". Μια non-bloking cache έχει τη δυνατότητα να χειρίζεται και άλλες αιτήσεις μέχρι να έρθουν τα δεδομένα από την κύρια μνήμη. Οι επεξεργαστές των συστημάτων Pentium Pro και Pentium II χρησιμοποιούν non-bloking L2 cache, η οποία μπορεί να διαχεριστεί ταυτοχρόνως μέχρι 4 αιτήσεις. Αυτό γίνεται με τη βοήθεια μιας συναλλακτικής (transactional) αρχιτεκτονικής και ενός διαύλου, ο οποίος ονομάζεται DIB (Dual Independent bus / Διπλός ανεξάρτητος δίαυλος), ανήκει αποκλειστικά στην κρυφή μνήμη και είναι τελείως ανεξάρτητος από τον κύριο δίαυλο της μνήμης.

204 Τεχνικές Μεταφοράς και Χρονισμός 204 Εισαγωγή Ένας από τους βασικότερους παράγοντες που καθορίζουν την απόδοση της L2 cache είναι ο τρόπος μεταφοράς των πληροφοριών μεταξύ της L2 cache και του επεξεργαστή. Υπάρχουν τρεις τεχνικές μεταφοράς των πληροφοριών, ενώ η κατάλληλη επιλογή για κάθε σύστημα εξαρτάται από τα σχετικά chipsets του συστήματος. Ο χρονισμός ("timing") αναφέρεται στο συνολικό αριθμό των παλμών του ρολογιού, που απαιτούνται για να διεκπεραιωθεί μια διαδικασία μεταφοράς δεδομένων μεταξύ της κρυφής μνήμης και του επεξεργαστή. Ως ένα βαθμό, ο χρονισμός εξαρτάται και από τον τρόπο μεταφοράς των δεδομένων, αλλά στον καθορισμό του συμμετέχουν και άλλοι παράγοντες όπως: ο επεξεργαστής, τα chipsets. Οι τρεις πιο συνηθισμένενοι τρόποι μεταφοράς δεδομένων μεταξύ του επεξεργαστή και της κρυφής μνήμης αναλύονται παρακάτω. Cache Bursting Μια τυπική L2 cache έχει 32 bytes (ή 256 bits) ανά γραμμή, τα οποία μεταφέρονται σαν μια ομάδα. Στα συστήματα πέμπτης και έκτης γενιάς ο δίαυλος της μνήμης έχει εύρος 64 bits, οπότε θα πρέπει να γίνουν 4 διαδοχικές μεταφορές των 64 bits η καθεμιά. Από τη στιγμή που τα 32 bytes προέρχονται από συνεχόμενες διευθύνσεις της κύριας μνήμης, δεν χρειάζεται να καθορίσουμε τη διεύθυνση μετά την πρώτη μεταφορά. Έτσι, η δεύτερη, τρίτη και τέταρτη μεταφορά θα είναι πολύ πιο γρήγορες από την πρώτη. Αυτού του είδους η μεταφορά (με τη μορφή βημάτων) είναι ταχύτατη και ονομάζεται προσπέλαση με τη μέθοδο της ριπής. Όλες οι σύγχρονες L2 cache χρησιμοποιούν αυτό τον τύπο μεταφοράς πληροφοριών και μάλιστα ο χρονισμός είναι " ". Αυτό σημαίνει ότι η πρώτη μεταφορά διαρκεί 3 παλμούς, ενώ οι υπόλοιπες 1 παλμό η καθεμιά. Επομένως, χρησιμοποιώντας τη μέθοδο της ριπής, για τη μεταφορά μιας γραμμής (32 bytes) απαιτούνται 6 ( ) παλμοί του ρολογιού. Asynchronous Cache Οι παλιές και πιο αργές κρυφές μνήμες ήταν ασύγχρονες (Asynchronous Cache). Η ασύγχρονη μεταφορά σημαίνει ότι όταν μια αίτηση στέλνεται στην κρυφή μνήμη, η τελευταία ανταποκρίνεται στην αίτηση χωρίς να λαμβάνει υπόψη της το ρολόι του συστήματος. Ο τρόπος λειτουργίας μιας ασύγχρονης κρυφής μνήμης είναι ανάλογος με τον τρόπο λειτουργίας των ασύγχρονων FPM και EDO. Επειδή οι ασύγχρονες κρυφές μνήμες δεν είναι συγχρονισμένες με το ρολόι του σύστηματος, μπορεί να εμφανιστούν διάφορα προβλήματα συγχρονισμού στα πολύ γρήγορα συστήματα. Για παράδειγμα σε ένα σχετικά αργό σύστημα των 33 MHz, ο χρονισμός της κρυφής μνήμης είναι " ", αλλά σε ταχύτερα συστήματα (66 MHz) ο χρονισμός πέφτει στο " ". Για αυτό το λόγο ασύγχρονες κρυφές μνήμες συναντούνται μέχρι και τα συστήματα x486. Synchronous Burst Cache Σε αντίθεση με τις ασύγχρονες κρυφές μνήμες που λειτουργούν χωρίς να λαμβάνουν υπόψη το ρολόι του συστήματος, οι σύγχρονες κρυφές μνήμες είναι συγχρονισμένες με το ρολόι του συστήματος. Σε κάθε χτύπο του ρολογιού μπορεί να πραγματοποιηθεί μια μεταφορά πληροφοριών από ή προς την κρυφή μνήμη (αν φυσικά αυτή είναι έτοιμη). Αυτό σημαίνει ότι μπορεί ως ένα βαθμό να ικανοποιεί ταχύτερα συστήματα χωρίς να πέφτει

205 σημαντικά η απόδοση. Ωστόσο, όσο πιο γρήγορο είναι το σύστημα, τόσο ταχύτερα chips SDRAM χρειαζόμαστε, για να μην εμφανιστούν προβλήματα χρονισμού. Πάντως, ακόμα και αυτός ο τύπος κρυφής μνήμης δεν μπορεί να διατηρήσει την απόδοση σε ικανοποιητικά επίπεδα όταν χρησιμοποιείται σε πολύ γρήγορα συστήματα. Για συστήματα στα 66 MHz επιτυγχάνεται χρονισμός " ", αλλά για ταχύτερα συστήματα ο χρονισμός της κρυφής μνήμης πέφτει στο " ". Pipelined Burst (PLB) Cache 205 Η διοχέτευση (pipelining) είναι μια τεχνολογία που χρησιμοποιείται ευρέως στους επεξεργαστές με σκοπό τη βελτίωση της απόδοσής τους. Οι κρυφές μνήμες PLB διαθέτουν ειδικά κυκλώματα που τους δίνουν τη δυνατότητα να εκτελέσουν τις 4 μεταφορές ταυτοχρόνως. Με λίγα λόγια, η δεύτερη μεταφορά αρχίζει λίγο πριν τελειώσει η πρώτη, η τρίτη αρχίζει λίγο πριν τελειώσει η δεύτερη κοκ. Εξαιτίας της πολυπλοκότητας των κυκλωμάτων στις κρυφές μνήμες PLB, η διάρκεια της πρώτης μεταφοράς είναι 3 παλμοί σε αντίθεση με την πρώτη μεταφορά σε μια Synchronous Burst Cache που διαρκεί 2 παλμούς. Παρόλα αυτά, ο παράλληλος τρόπος μεταφοράς των πληροφοριών στις κρυφές μνήμες PLB έχει ως αποτέλεσμα η δεύτερη, η τρίτη και η τέταρτη μεταφορά να διαρκούν μόνο 1 παλμό του ρολογιού, ακόμα και για τα πολύ γρήγορα συστήματα. Έτσι, σε ένα σύστημα των 100 MHz που χρησιμοποιεί κρυφή μνήμη PLB, ο χρονισμός της κρυφής μνήμης μπορεί να διατηρηθεί στην πολύ ικανοποιητική τιμή " ". Οι κρυφές μνήμες PLB είναι πλέον το πρότυπο για όλα τα συστήματα Pentium. Απόδοση των μεθόδων μεταφοράς Ο παρακάτω πίνακας δείχνει τη θεωρητική μέγιστη απόδοση ενός συστήματος σε διάφορες ταχύτητες του διαύλου μνήμης χρησιμοποιώντας τις τρεις διαφορετικές μεθόδους μεταφοράς των δεδομένων. Όπως φαίνεται και από τον πίνακα για συστήματα των 60 και 66 MHz καλύτερη απόδοση έχει η Synchronous Burst Cache, ενώ για τα ταχύτερα συστήματα καλύτερη απόδοση έχει η PLB Cache. Ταχύτητα Διαύλου (MHz) Ασύγχρονη Synchronous Burst Pipelined Burst

206 Φυσική Οργάνωση της Κρυφής Μνήμης 206 Ενσωματωμένη Level 2 Cache Οι επεξεργαστές Intel Pentium Pro έχουν ενσωματωμένο το chip της L2 cache. Στην ουσία μέσα στο "chip" του επεξεργαστή υπάρχουν τόσο το chip της L1 cache όσο και το chip της L2 cache. Αυτοί οι επεξεργαστές μπορούν να έχουν 256 ΚΒ ή 512 ΚΒ ή 1 ΜΒ L2 cache. Η αρχιτεκτονική αυτή είναι πολύ αποδοτική, αφού επιτρέπει στην L2 cache να λειτουργεί βάσει της εσωτερικής ταχύτητας του επεξεργαστή, η οποία είναι συνήθως 180 ή 200 MHz και όχι βάσει της ταχύτητας του διαύλου της μνήμης (60 ή 66 MHz). Ένα σημαντικο μειονέκτημα της ενσωματωμένη level 2 cache είναι το γεγονός ότι αν θελήσουμε να αυξήσουμε το μέγεθος της L2 cache θα πρέπει να αντικαταστήσουμε το "chip" του επεξεργαστή. Επίσης οι επεξεργαστές αυτού τους είδους είναι πολύ πιο ακριβοί από τους συνηθισμένους επεξεργαστές, εξαιτίας της περίπλοκης σχεδίασης τους, έτσι ώστε να "χωρούν" το σχετικά μεγάλο σε όγκο chip της L2 cache. Οι συνηθισμένες κρυφές μνήμες είναι κατασκευασμένες από αρκετά μικρά chip, ενώ η ενσωματωμένη level 2 cache υλοποιείται από ένα μόνο chip. Ένα ακόμα μειονέκτημα της ενσωματωμένης level 2 cache είναι ότι τα ελλατωματικά chip μπορούν να ανιχνευτούν μόνο αν ο επεξεργαστής δοκιμαστεί πριν την οριστική τοποθέτηση του πάνω στη μητρική πλακέτα. Στην περίπτωση που ανιχνευτούν καταστροφές μέσα στην ενσωματωμένη level 2 cache, είμαστε αναγκασμένοι να πετάξουμε το "chip" του επεξεργαστή. Αυτός είναι και ο σημαντικότερος λόγος, εξαιτίας του οποίου η Intel δεν έχει ενσωματώσει το chip της L2 cache μέσα στο "chip" του επεξεργαστή στους Pentium II. Στους σύγχρονους υπολογιστές δεν χρησιμοποιείται πλέον η ενσωματωμένη level 2 cache. Ο επεξεργαστής Pentium Pro που έχει ενσωματωμένη L2 cache (1MB) Κρυφή Μνήμη Θυγατρικής Κάρτας H Intel ξεκινώντας από τους επεξεργαστές Pentium II παρουσίασε ένα νέο τρόπο οργάνωσης της κρυφής μνήμης, που ονομάστηκε SEC (Single Edge Contact). H ενσωματωμένη κρυφή μνήμη των επεξεργαστών Pentium Pro λειτουργούσε βάσει της ταχύτητας του επεξεργαστή, με αποτέλεσμα να έχει πολύ ικανοποιητική απόδοση, αλλά και πολύ υψηλό κόστος κατασκευής. Από την άλλη μεριά, η κλασσική κρυφή μνήμη, που τοποθετούνταν πάνω σε υποδοχές της μητρικής πλακέτας ήταν φθηνή, αλλά χωρίς

207 ικανοποιητική απόδοση. Η αρχιτεκτονική SEC είναι ένας συνδιασμός των δυο παραπάνω μεθόδων. Συγκεκριμένα, πάνω σε μια μικρή κάρτα, που ονομάζονταν θυγατρική κάρτα τοποθετούνταν σε διαφορετικές υποδοχές το chip του επεξεργαστή και το chip της κρυφής μνήμης. Στην συνέχεια, η θυγατρική κάρτα, που περιείχε μεταξύ των άλλων τα δυο βασικά chip (επεξεργαστή και κρυφή μνήμη) τοποθετούνταν σε μια ειδική υποδοχή της μητρικής πλακέτας. Με τον τρόπο αυτό μειώνονταν το κόστος κατασκευής, ενώ στην περίπτωση ελλατωματικής κρυφής μνήμης δεν χρειάζονταν να πετάξουμε το chip του επεξεργαστή, απλώς να αντικαταστήσουμε το ελλατωματικό chip της κρυφής μνήμης. Η Κρυφή Μνήμη Θυγατρικής Κάρτας (Daughtercard Cache) είναι ταχύτερη από μια τυπική κρυφή μνήμη, αλλά σαφώς πιο αργή από μια ενσωματωμένη κρυφή μνήμη αφού πρόκειται για συνδιασμό των δυο τύπων κρυφής μνήμης. Για παράδειγμα, σε ένα σύστημα Pentium II στα 266 MHz, η L2 cache (Daughtercard Cache) θα έχει ταχύτητα 133 ΜΗz. Φυσικά, η απόδοση μιας κρυφής μνήμης θυγατρικής κάρτας σε ένα σύστημα Pentium Pro στα 200 MHz δεν θα είναι η ίση με την απόδοση μιας ενσωματωμένης κρυφής μνήμης (200 MHz), αλλά θα είναι σαφώς καλύτερη από την απόδοση μιας τυπικής κρυφής μνήμης (66 MHz). Η κρυφή μνήμη των Pentium II, όπως και αυτή των Pentium Pro είναι non-blocking. 207 Μια θυγατρική κάρτα με το chip του επεξεργαστή και της κρυφής μνήμης Τυπική Κρυφή Μνήμη Ο πιο συνηθισμένος τύπος κρυφής μνήμης είναι αυτός που τοποθετείται απευθείας πάνω στη μητρική πλακέτα (Motherboard Cache). Σε μερικά παλιά συστήματα, η κρυφή μνήμη ήταν κατασκευασμένη από μερικά chips SRAM, τα οποία τοποθετούνταν πάνω σε συγκεκριμένες υποδοχές της μητρικής πλακέτας. Αυτό έδινε ευελιξία, αλλά είχε και μερικά μειονεκτήματα. Στα περισσότερα νέα συστήματα, η τυπική κρυφή μνήμη υλοποιείται από 1 εώς 4 chips, που συνδέονταν απευθείας πάνω στη μητρική πλακέτα. Ο ακριβής αριθμός των chips της κρυφής μνήμης εξαρτάται από τις προδιαγραφές της μητρικής πλακέτας. Μερικές μητρικές πλακέτεs υποστηρίζουν την ταυτόχρονη χρησιμοποίηση μη μετακινήσιμων chips κρυφής μνήμης (soldered cache) και COASt Modules. COASt Modules Σε μερικές μητρικές πλακέτεs χρησιμοποιείται ένας ειδικός τρόπος φυσικής οργάνωσης της κρυφής μνήμης, που είναι γνωστός ως COASt (Cache On A Stick). Στην πραγματικότητα, η ονομασία COASt δεν έχει καμία σχέση με το τι είναι τα COASt. Τα COASt Modules είναι ένα

208 μικρή πλακέτα, που συγκρατεί τα chips SRAM της κρυφής μνήμης, όπως ακριβώς και τα SIMMs στην κύρια μνήμη. Τοποθετούνται σε ειδικές υποδοχές πάνω στη μητρική πλακέτα, που ονομάζονται CELP (Card Edge Low Profile). Μερικές μητρικές πλακέτες χρησιμοποιούν μόνο αυτές τις υποδοχές για την εισαγωγή κρυφής μνήμης, κάποιες άλλες χρησιμοποιούν μόνο τις υποδοχές που απευθύνονται στην τυπική κρυφή μνήμη, ενώ κάποιες άλλες χρησιμοποιούν και των δυο τύπων τις υποδοχές. Στην τελευταία περίπτωση με την βοήθεια μιας γέφυρας βραχυκύκλωσης μπορούμε να δηλώσουμε στο σύστημα ποια υποδοχή χρησιμοποιείται, αν και μερικές μητρικές πλακέτες έχουν την ικανότητα να ανιχνεύσουν από μόνα τους ποιά υποδοχή χρησιμοποιείται. 208

209 Μητρική Πλακέτα Ο Ρόλος της Μητρικής Πλακέτας Μητρική Πλακέτα και ο ρόλος της στον υπολογιστή Η μητρική πλακέτα (motherboard) είναι μια πολύ βασική συσκευή του υπολιστικού συστήματος. Αν ο επεξεργαστής είναι το μυαλό του υπολογιστή, η μητρικη πλακέτα είναι το κεντρικό "νευρικό" σύστημα που χρησιμοποιεί ο επεξεργαστής για να ελέγχει τα άλλα μέρη του υπολογιστικού συστήματος. Παίζει σημαντικό ρόλο στα παρακάτω ζητήματα: Οργάνωση: Με τον ένα ή με τον άλλο τρόπο, όλα είναι τελικά συνδεδεμένα με τη μητρική πλακέτα. Ο τρόπος με τον οποίο είναι σχεδιασμένη, υπαγορεύει τον τρόπο με τον οποίο ολόκληρος ο υπολογιστής πρόκειται να οργανωθεί. Έλεγχος: Η μητρική πλακέτα περιλαμβάνει το chipset και τα προγράμματα του BIOS, τα οποία ελέγχουν το μεγαλύτερο μέρος της ροής των δεδομένων μέσα στον υπολογιστή. Επικοινωνία: Όλες οι επικοινωνίες μεταξύ του υπολογιστή και των περιφερειακών του, του υπολογιστή και άλλων υπολογιστών, ακόμα και με το χρήστη εκτελούνται μέσω της μητρικής πλακέτας. Υποστήριξη του Επεξεργαστή: Η μητρική πλακέτα υπαγορεύει άμεσα την επιλογή του επεξεργαστή του συστήματος. Υποστήριξη των Περιφερειακών: Η μητρική πλακέτα καθορίζει, σε ένα μεγάλο μέρος, το είδος των περιφερειακών που μπορούμε να χρησιμοποιήσουμε στον υπολογιστή. Για παράδειγμα, ο τύπος της κάρτας γραφικών που το σύστημα μπορεί να χρησιμοποιήσει (ISA, VLB, PCI), εξαρτάται από τους διαύλους που η μητρική χρησιμοποιεί. Απόδοση: Η μητρική πλακέτα είναι ένας αποφασιστικός παράγοντας για την απόδοση του συστήματος, για δύο κύροιυς λόγους. Ο πρώτος και βασικότερος, γιατί υπαγορεύει τον τύπο του επεξεργαστή, της μνήμης, των διαύλων, την ταχύτητα interface σκληρού δίσκου, που το σύστημα μπορεί να χρησιμοποιήσει και αυτά τα στοιχεία επηρεάζουν άμεσα την απόδοση του συστήματος. Κατά δεύτερον, η ποιότητα των κυκλωμάτων της μητρικής και το chipset έχουν αντίκτυπο στην απόδοση του συστήματος. Ικανότητα αναβάθμισης: Οι ικανότητες της μητρικής πλακέτας καθορίζουν την αναβάθμιση που μπορούμε να κάνουμε στον υπολογιστή μας. Για παράδειγμα υπάρχουν μητρικές, οι οποίες μπορούν να δεχτούν μέχρι και Pentium 133 MHz, ενώ άλλες μέχρι 200 MHz. Προφανώς, η δεύτερη θα μας δώσει περισσότερες δυνατότητες αναβάμισης, αν ξεκινήσουμε με ένα P133 επεξεργαστή. 209

210 210 Μητρική πλακέτα υπολογιστή

211 Συντελεστής Μορφής: AT και baby AT 211 Συντελεστής μορφής (form factor) Ο συντελεστής μορφής μιας μητρικής περιγράφει το γενικό της σχήμα, τι είδος "κουτιού" και τι τροφοδοτικό μπορεί να χρησιμοποιήσει, καθώς και τη φυσική της οργάνωση. Για παράδειγμα μια εταιρία μπορεί να φτίαξει δύο μητρικές πλακέτες, οι οποίες έχουν βασικά την ίδια λειτουργικότητα, αλλά χρησιμοποιούν ένα διαφορετικό συντελεστή μορφής και οι μόνες πραγματικές διαφορές είναι η φυσική σχεδιάση της πλακέτας, η θέση των συστατικών του υπολογιστή κτλ. Πραγματικά, πολλές εταιρίες κάνουν ακριβώς αυτό, για παράδειγμα έχουν μια baby AT και μια ΑΤΧ έκδοση. ΑΤ Μέχρι πρόσφατα, οι συντελεστές μορφής AT και baby ΑΤ ήταν οι πιο συνηθισμένοι στον κόσμο των μητρικών πλακετών. Αυτοί οι δύο διαφέρουν βασικά στο πλάτος: η παλιά full AT πλακέτα είναι 12" πλατιά. Αυτό σημαίνει ότι τυπικά δεν θα χωράει μέσα σε ένα ευρέως χρησιμοποιούμενο mini desktop ή ένα minitower κουτί. Υπάρχουν πολύ λίγες νέες μητρικές πλακέτες στην αγορά, που χρησιμοποιούν το full AT μέγεθος. Αυτό το μέγεθος ήταν αρκετά συνηθισμένο σε 386 και παλαιότερους υπολογιστές. Ένα από τα βασικά προβλήματα με το πλάτος αυτής της πλακέτας είναι ότι ένα μεγάλο ποσοστό της πλακέτας καλύπτεται από τους οδηγούς των δίσκων. Αυτό κάνει την εγκατάσταση, τον εντοπισμό προβλημάτων και την αναβάθμιση πολύ δύσκολα. Baby AT Μητρική πλακέτα με συντελεστή μορφής AT Οι baby AT μητρικές πλακέτες ήταν, μέχρι το 1997, ο πιο συνηθισμένος συντελεστής μορφής στην αγορά. Μετά από τρία χρόνια και έντονες πιέσεις από την Intel, οι ATX ξεπέρασαν τελικά τις ΑΤ και είναι οι πλέον δημοφιλείς για όλα τα νέα συστήματα. Μια baby AT μητρική πλακέτα είναι συνήθως 12" πλατιά και έχει μήκος 13". Το μειωμένο πλάτος συνεπάγεται λιγότερη επικάλυψη στα περισσότερα κουτιά από τους οδηγούς των δίσκων, αν και εξακολουθούν να υπάρχουν κάποια επικαλυμένα τμήματα στο μπροστινό μέρος του

212 κουτιού. Υπάρχουν τρεις οπές στηρίγματος πάνω στη μητρική, η πρώτη εκτείνεται κατά μήκος της πίσω μεριάς της πλακέτας και εκεί βρίσκονται οι υποδοχές των διαύλων και ο συνδετήρας του πληκτρολογίου. Η δεύτερη εκτείνεται στο μέσο της πλακέτας, ενώ η τρίτη στο μπροστινό μέρος κοντά στο μέρος που είναι τοποθετημένοι οι οδηγοί. Ένα πρόβλημα με τις baby AT πλακέτες είναι ότι πολλές από αυτές μειώνουν το κόστος μειώνοντας το μέγεθος της πλακέτας. Εφόσον το μήκος είναι προκαθορισμένο, πολλές καινούριες μητρικές πλακέτες έχουν μήκος μόνο 11" ή ακόμα και 10". Αυτό μπορεί να οδηγήσει σε προβλήματα εγκατάστασης καθώς η τρίτη σειρά από τρύπες πάνω στην πλακέτα δεν θα ταιριάζει με τις σειρές πάνω στο κουτί. Δυστυχώς είναι πάρα πολύ πιθανό να εγκαταστήσουν τη μητρική πλακέτα χρησιμοποιώντας μόνο τις δύο πρώτες σειρές από τρύπες, και μετά χρησιμοποιούν ένα stubbed spacer για την τρίτη γραμμή. Μια baby ΑΤ μητρική πλακέτα ξεχωρίζει από το σχήμα της και την παρουσία ενός απλού full-size συνδετήρα του πληκρολογίου κολλημένου πάνω στην πλακέτα. Οι σειριακοί και οι παράλληλοι συνδετήρες θυρών είναι σχεδόν πάντα συνδεδεμένοι, χρησιμοποιώντας καλώδια, τα οποία εκτείνονται μεταξύ των φυσικών συνδετήρων, που είναι τοποθετημένοι πάνω στο κουτί και των ακροδεκτών, που είναι τοποθετημένοι πάνω στην πλακέτα. Η ΑΤ και Η baby ΑΤ έχουν το τις υποδοχές του επεξεργαστή και της μνήμης στο μπροστινό μέρος της πλακέτας και μακριές κάρτες επέκτασης (expansion cards) ήταν σχεδιασμένες να εκτείνονται πάνω από αυτές. Όταν αυτές οι μητρικές πλακέτες, όταν σχεδιάστηκαν δούλευαν πολύ καλά. Οι επεξεργαστές και τα chips της μνήμης ήταν μικρά και τοποθετούνταν άμμεσα στην πλακέτα και η τακτοποίηση μέσα στην πλακέτα δεν ήταν σοβαρό θέμα. Ωστόσο, τώρα χρησιμοποιούμε μνήμη σε SIMM/DIMM υποδοχές, όχι άμμεσα συνδεδεμένες με τη μητρική και έχουμε μεγαλύτερους επεξεργαστές, οι οποίοι χρειάζονται μεγαλύτερη απορρόφηση της θερμότητας και διατάξεις απομάκρυνσης της θερμότητας τοποθετημένες πάνω τους. Καθώς οι επεξεργαστές εξακολουθούν να τοποθετούνται στο ίδιο μέρος, το αποτέλεσμα είναι ο συνδυασμός του επεξεργαστή και της διάταξης απομάκρυνσης της θερμότητας, να μπλοκάρουν περισσότερες από τρεις υποδοχές επέκτασης. Οι πιο καινούριες baby AT μητρικές πλακέτες έχουν μετακινήσει τις SIMM ή DIMM υποδοχές απόμερα, αλλά ο επεξεργαστής παραμένει ένα πρόβλημα. To ΑΤΧ σχεδιάστηκε μερικώς για να λύσει το πρόβλημα αυτό. 212 Μητρική πλακέτα με συντελεστή μορφής baby AT

213 213 Σχεδιάγραμμα μητρική πλακέτα baby AT

214 Συντελεστής Μορφής: ΑΤΧ και baby ATX 214 ATX και mini ATX Η πρώτη σημαντική αλλαγή στο σχεδιασμό των μητρικών πλακετών, το ΑΤΧ σχεδιάστηκε από την Intel το Μετά από τρία χρόνια οι ATX τελικά επιβλήθηκαν στην θέση των ΑΤ, σαν η βασική επιλογή μητρικής για τα νέα συστήματα. Οι καινούριοι Pentium Pro και Pentium II επεξεργαστές χρησιμοποιούν ΑΤΧ μητρικές. Ο σχεδιασμός της ATX είχε αρκετά, βασικά πλεονεκτήματα, σε σχέση με το σχεδιασμό των παλαιότερων μητρικών. Ξεπερνάει κάποια προβλήματα, τα οποία θα αντιμετώπιζαν αυτοί που "στήνουν" ένα σύστημα. Όσο περνούσε ο καιρός, αύξανε συνεχώς η ανικανότητα των baby AT μητρικών να χειριστούν με κομψότητα τις νέες απαιτήσεις των μητρικών πλακετών και το σχεδιασμό των chipsets. Οι ΑΤΧ είχαν φέρει αλλαγές όχι μόνο στην πλακέτα αλλά και στο κουτί και στο τροφοδοτικό. Μητρική πλακέτα με συντελεστή μορφής ATX Σχεδιάγραμμα μητρικής πλακέτας ATX

215 Όλες οι αλλαγές που έγιναν εξετάζονται παρακάτω. Ενοποιημένοι Συνδετήρες θυρών Ε/Ε: Οι baby AT μητρικές χρησιμοποιούν headers, οι οποίοι εξέχουν από την πλακέτα και ένα καλώδιο πηγαίνει από αυτούς στους φυσικούς σειριακούς και παράλληλους συνδετήρες, οι οποίοι είναι τοποθετημένοι στο κουτί. Η ΑΤΧ έχει αυτούς τους συνδετήρες τοποθετημένους κατευθείαν πάνω στη μητρική πλακέτα. Αυτή η βελτίωση μειώνει το κόστος, εξοικονομεί χρόνο εγκατάστασης, βελτιώνει την αξιοπιστία (καθώς οι θύρες μπορούν να ελεγχθούν πριν η μητρική τεθεί σε λειτουργία) και κάνει την πλακέτα περισσότερο τυποποιημένη. Ενοποιημένοι Συνδετήρες PS/2 Ποντικιού: Στις περισσότερες λιανικώς πωλούμενες baby AT μητρικές πλακέτες δεν υπάρχει PS/2 θύρα ποντικιού ή για να αποκτήσουμε μια έπρεπε να χρησιμοποιήσουμε ένα καλώδιο από το PS/2 header πάνω στην πλακέτα, όπως στις σειριακές και στις παράλληλες θύρες. Οι ΑΤΧ έχουν τη θύρα PS/2 ενσωματωμένη στην πλακέτα. Μειωμένη Παρεμβολή από τους Οδηγούς Δίσκων: Καθώς η πλακέτα έχει περιστραφεί ουσιαστικά κατά 90 μοίρες σε σχέση με την baby AT, υπάρχει πολύ λιγότερη "επικάλυψη" μεταξύ της πλακέτας και των οδηγών. Αυτό συνεπάγεται πιο εύκολη πρόσβαση στην πλακέτα και λιγότερα προβλήματα ψύξης. Μειωμένη Παρεμβολή από τις Κάρτες Επέκτασης: Οι υποδοχές του επεξεργαστή και της μνήμης μεταφέρθηκαν από το μπροστινό μέρος της πλακέτας στο πίσω, κοντά στο τροφοδοτικό. Αυτό εξαλείφει τα προβλήματα τακτοποίησης (τοποθέτησης) που είχαν οι baby ΑΤ μητρικές και επιτρέπουν full length κάρτες να χρησιμοποιηθούν για τις υποδοχές των διαύλων του συστήματος. Καλύτεροι Συνδετήρες Τροφοδοτικού: Η ATX μητρική πλακέτα χρησιμοποιεί ένα απλό 20-pin σύνδεσμο, αντί για τα μπερδεμένα ζεύγη από πολύ όμοιους συνδετήρες που χρησιμοποιούσε η baby AT. "Soft Power" Παροχή: Η παροχή στο ΑΤΧ ανοίγει και κλείνει χρησιμοποιώντας σήμανση από τη μητρική πλακέτα και όχι ένα φυσικό διακόπτη με ελατήριο. Αυτό επιτρέπει στον υπολογιστή να ανοίγει και να κλείνει με τον έλεγχο του λογισμικού, επιτρέποντας πολύ βελτιωμένη διαχείρηση της ισχύος. Για παράδειγμα με ένα ΑΤΧ σύστημα μπορείς να ρυθμίζεις τα Windows 95, έτσι ώστε ο υπολογιστής να κλείνει πραγματικά όταν του λες να σταματήσει τη λειτουργία του (shut down), χωρίς να χρειάζεται να πατήσεις το κουμπί τροφοδοσίας του. Παροχή 3.3V: Οι ΑΤΧ είναι σχεδιασμένες, έτσι ώστε η παροχή τους να είναι 3.3V. Αυτή η ηλεκτρική τάση (ή χαμηλότερη) χρησιμοποιείται από όλους σχεδόν τους καινούριους επεξεργαστές. Έτσι έχουμε μείωση του κόστους, καθώς δεν χρειάζεται ο μετασχηματισμός της τάσης από τα 5V στα 3.3V. Καλύτερη Ροή του Αέρα: Το τροφοδοτικό του ΑΤΧ σπρώχνει το αέρα μέσα στο κουτί, αντί έξω από αυτό. Αυτό σημαίνει ότι ο αέρας σπρώχνεται προς τα έξω από όλες τις μικρές χαραμάδες του κουτιού, εμποδίζοντας έτσι το μάζεμα της σκόνης. Επιπλέον καθώς η υποδοχή του επεξεργαστή βρίσκεται ακριβώς δίπλα στο τροφοδοτικό, ο ανεμιστήρας του τροφοδοτικού μπορεί να χρησιμοποιηθεί για να ψύχει τη διάταξη απομάκρυνσης της θερμότητας (heat sink). Σε πολλές περιπτώσεις αυτό εξαλείφει την ανάγκη να υπάρχει (αναμφίβολα αναξιόπιστο) ανεμιστηράκι για τον επεξεργαστή. Βελτιωμένη Σχεδιάση για Αναβάθμιση: Μπορούμε να πούμε ότι εξαιτίας της πιο πρόσφατης σχεδίασής του, το ΑΤΧ είναι η επιλογή για το μέλλον. Περισσότερο 215

216 όμως η σχεδίαση του κάνει την αναβάθμιση πιο εύκολη, λόγω της πιο αποδοτικής πρόσβασης στα μέρη πάνω στην πλακέτα. 216 Μητρική πλακέτα με συντελεστή μορφής mini ATX Σχεδιάγραμμα μητρικής πλακέτας mini ATX

217 Συντελεστής Μορφής: LPX, Mini LPX και NLX 217 LPX και Mini LPX Ο πρωταρχικός σκοπός πίσω από την σχεδίαση του LPX είναι να μειώσει το χρησιμοποιούμενο χώρο και συνεπώς το κόστος. Αυτό μπορεί να φανεί από το πιο ξεχωριστό χαρακτηριστικό του: την κάθετη κάρτα (riser card), η οποία συγκρατεί τις θύρες επέκτασης. Αντί να έχουν τις κάρτες επέκτασης (expansion cards) στις θύρες των διαύλων Ε/Ε, πάνω στη μητρική, όπως στις ΑΤ ή στις ΑΤΧ, στην LPX ο δίαυλος Ε/Ε βρίσκεται πάνω στην κάθετη κάρτα, η οποία συνδέεται πάνω στη μητρική πλακέτα. Τότε, οι κάρτες επέκτασης, το μέγιστο μόνο τρεις, συνδέονται πάνω στην κάθετη κάρτα. Αυτό σημαίνει ότι οι κάρτες επέκτασης βρίσκονται παράλληλα τοποθετημένες με τη μητρική πλακέτα. Έτσι το ύψος του κουτιού μπορεί να μειωθεί κατά πολύ σε desktop υπολογιστές, καθώς το ύψος των καρτών επέκτασης είναι ο κύριος λόγος που τα full-sized desktop κουτιά είναι τόσο ψηλά. Το πρόβλημα είναι ότι οι θύρες επέκτασης περιορίζονται σε δύο ή τρεις. Οι LPX μητρικές πλακέτες συνήθως έρχονται με ενσωματωμένες κάρτες γραφικών. Αν η ενσωματωμένη κάρτα είναι καλής ποιότητας, μπορεί να εξοικονομήσει χρήματα για τους κατασκευαστές και να παρέχει στο χρήστη μια καλής ποιότητας εμφάνιση της εξόδου. Ωστόσο, αν ο χρήστης θέλει να αναβαθμίσει την κάρτα γραφικών, θα υπάρξει πρόβλημα, εκτός και αν η ενσωματωμένη κάρτα γραφικών μπορεί να εξουδετερωθεί. Οι LPX μητρικές έρχονται με σειριακούς, παράλληλους και mouse συνδετήρες προσαρτημένους σε αυτές, όπως οι ΑΤΧ. Ενώ οι LPX μητρικές χρησιμοποιούνται από τους κατασκευαστές για να κερδίσουν χρήματα και χώρο στην κατασκευή ενός κατά παραγγελία προϊόντος, αυτά τα συστήματα υποφέρουν από μη τυποποίηση, φτωχή επεκτασιμότητα, μικρή ικανότητα αναβάθμισης και μικρή ικανότητα ψύξης. Μητρική πλακέτα με συντελεστή μορφής LPX

218 218 NLX Σχεδιάγραμμα μητρικής πλακέτας LPX με κάθετη κάρτα Με τον καιρό τελικά οι ΑΤ μητρικές πλακέτες έγιναν απαρχαιωμένες και λιγότερο ικανές για χρήση με την πιο καινούρια τεχνολογία, αλλα και οι LPX μητρικές δείχνουν επίσης την ίδια αδυναμία. Η ανάγκη για ένα σύγχρονο, μικρό πρότυπο για τις μητρικές πλακέτες έχει οδηγήσει στην ανάπτυξη μιας νέας NLX μητρικής. Κατά κάποιο τρόπο η NLX είναι για την LPX, ότι η ATX για την ΑΤ: είναι γενικά η ίδια ιδέα όπως η LPX, αλλά με βελτιώσεις, που την κάνουν πιο κατάλληλη για την καινούρια τεχνολογία. Επίσης όπως η ΑΤΧ η πρότυπη NLX αναπτύχθηκε από την Intel Corporation και προωθείται από την Intel. Η NLX χρησιμοποιεί, ακόμα, τον ίδιο γενικό σχεδιασμό όπως η LPX, με ένα μικρότερο καταλαμβανόμενο χώρο για τη μητρική πλακέτα και μια κάθετη κάρτα για τις κάρτες επέκτασης. Πάνω σε αυτή τη βασική ιδέα, η NLX είχε τις παρακάτω βασικές αλλαγές: Αναθεωρημένος σχεδιασμός για να υποστηρίξει μεγαλύτερα τμήματα μνήμης και τη σύγχρονη DIMM συσκευασία της μνήμης. Υποστήριξη για τις πιο πρόσφατες τεχνολογίες των επεξεργαστών, συμπεριλαμβανομένου και του νέου Pemtium II, χρησιμοποιώντας συσκευασία SEC. Υποστήριξη για AGP κάρτες γραφικών. Καλύτερα θερμικά χαρακτηριστικά, για υποστήριξη σύγχρονων επεξεργαστών, οι οποίοι θερμαίνονται περισσότερο σε σχέση με τους παλαιότερους. Καταλληλότερη τοποθέτηση του επεξεργαστή πάνω στη μητρική πλακέτα, για να επιτρέπει πιο εύκολη πρόσβαση και καλύτερη ψύξη. Μεγαλύτερη ευελιξία στον τρόπο με τον οποίο η μητρική πλακέτα πρέπει να "στηθεί" (set up) και να "σχηματισθεί" (configured).

219 Καλύτερα σχεδιασμένα χαρακτηριστικά, όπως είναι η ικανότητα να τοποθετείται η πλακέτα κατά τέτοιο τρόπο που να μπαίνει και να βγαίνει εύκολα από το κουτί. Καλώδια, όπως είναι το καλώδιο της διασύνδεσης του οδηγού δισκέτας, τώρα βρίσκονται τοποθετημένα στην κάθετη κάρτα, αντί πάνω στη μητρική, μειώνοντας το μήκος του καλωδίου και την ακαταστασία πάνω στην πλακέτα. Υποστήριξη για desktop και tower κουτιά. Η NLX, όπως και η LPX, είναι βασικά σχεδιασμένες για κατασκευαστές εμπορικών υπολογιστών, μαζικής παραγωγής, για λιανική πώληση. Πολλές αλλαγές που έγιναν βασίζονται στην βελτίωση της ευελιξίας, έτσι ώστε να επιτρέπει πιο εύκολη συναρμολόγηση και μειωμένο κόστος. 219 Σχεδιάγραμμα μητρικής πλακέτας NLX με κάθετη κάρτα

220 Τα συστατικά της Μητρικής Πλακέτας 220 Τυπωμένα ολοκληρωμένα κυκλώματα Οι μητρικές πλακέτες είναι τυπωμένα ολοκληρωμένα κυκλώματα πολλαπλών επιπέδων, γι' αυτό και ορισμένες φορές αποκαλούνται και PCBs (Printed Circuit Boards). Η φυσική πλακέτα, την οποία βλέπουμε είναι ένα σάντουιτς από αρκετά λεπτότερα κυκλώματα, κάθε ένα από τα οποία περιέχει κάποια από τα κυκλώματα που απαιτούνται για να συνδεθούν τα διάφορα συστατικά πάνω στην πλακέτα. Κάποτε αυτό ήταν ακριβό, δύσκολο για να κατασκευαστεί, αλλά ο καιρός και η αυτοματοποίηση μείωσαν την πολυπλοκότητα της κατασκευής. Οι καλές μητρικές πλακέτες είναι σταθερές και καλά σχεδιασμένες, ενώ οι φτηνές συνήθως έχουν αυξημένη πιθανότητα ύπαρξης ηλεκτρικών προβλημάτων στην πλακέτα. Επιπρόσθετα, οι καλύτερες μητρικές μειώνουν τα προβλήματα παρεμβολής, εξαιτιάς της σχεδιάσης τους και μειώνουν το ρίσκο να δημιουργηθούν προβλήματα κατά την συναρμολόγηση του υπολογιστή. Οι λεπτές μητρικές είναι περισσότερο ευάλωτες στο να σπάσουν, όταν τοποθετούνται πάνω τους τα περιφεριακά. όσο πιο χοντρή η πλακέτα, τόσο καλύτερα. Υποδοχή του Επεξεργαστή Τυπωμένα κυκλώματα μητρική πλακέτας Οι μητρικές πλακέτες έχουν μια ή περισσότερες υποδοχές για να συγκρατούν τον επεξεργαστή(-ές). Οι μητρικές που δέχονται ένα επεξεργαστή είναι οι πιο συνηθισμένες, αλλα μητρικές περισσότερων επεξεργαστών δεν είναι δύσκολο να βρεθούν. Ο τύπος της υποδοχής υπαγορεύει και τον τύπο του επεξεργαστή (και σε κάποιες περιπτώσεις την ταχύτητα) που μπορεί να χρησιμοποιηθεί από τη μητρική πλακέτα. Τα στάνταρς για τις υποδοχές των επεξεργαστών έχουν δημιουργηθεί από την Intel. Οι παλαιότεροι επεξεργαστές, μέχρι και τον Pentium Pro, χρησιμοποιούσαν μια ορθογωνίου σχήματος υποδοχή για τον επεξεργαστή. Οι πιο καινούριοι επεξεργαστές, αρχίζοντας από τον Pentium II, είναι τοποθετημένοι πάνω σε μια θυγατρική πλακέτα, που χρησιμοποιεί ένα SEC (Single Edge Connector) για να συνδεθεί με τη μητρική πλακέτα. Υποδοχή επεξεργαστή σε κάθετη κάρτα (slot 1)

221 Μερικές μητρικές πλακέτες έχουν υποδοχή που χρησιμοποιεί την υποδοχή ZIF (Zero Insertion Force- μηδενική δύναμη εισαγωγής), που επιτρέπει στον επεξεργαστή να τοποθετηθεί ή να απομακρυνθεί από την πλακέτα χρησιμοποιώντας ένα μοχλό, ο οποίος σφίγγει και χαλαρώνει τους ακροδέκτες (pin) του επεξεργαστή στην υποδοχή. Αυτή είναι μια τεράστια βελτίωση σε σχέση με τις παλαιότερες υποδοχές, οι οποίες απαιτούσαν την καταβολή αξιοσημείωτης δύναμης στην επιφάνεια ενός εύθραστου (και ακριβού) επεξεργαστή, απλά για να τοποθετηθεί στην υποδοχή. 221 Υποδοχές μνήμης Υποδοχή (ZIF) επεξεργαστή Οι περισσότερες μητρικές πλακέτες σήμερα έχουν από 2 έως 8 υποδοχές για τη μνήμη (memory sockets). Αυτές συνήθως είναι SIMMs (Single Inline Memory Modules) ή DIMMs (Dual Inline Memory Modules). SIMMs υποδοχές μνήμης Οι μητρικές συνήθως ονομάζουν αυτές τις υποδοχές τους ως εξής: "SIMM0" εώς "SIMM7" ή "DIMM0" εώς "DIMM3" και διαφόρους άλλους τέτοιους συνδυασμούς. Οι υποδοχές συνήθως γεμίζονται, αρχίζοντας από την μικρότερη αριθμητικά υποδοχή. Οι περισσότερες μητρικές για Pentium και μεταγενέστερους επεξέργαστες, απαιτούν οι υποδοχές SIMMs να γεμίζονται κατά ζευγάρια, αντίθετα με τις DIMMs, οι οποίες μπορούν να γεμίζονται και

222 ξεχωριστά. Για παράδειγμα αν θέλουμε να τοποθετήσουμε 32MB SIMM RAM θα πρέπει να τα τοποθετήσουμε σε δύο υποδοχές από 16ΜΒ RAM. 222 Υποδοχές κρυφής μνήμης DIMMs υποδοχές μνήμης Όλες οι καινούριες μητρικές πλακέτες μετά τον 486 και τον Pentium, έχουν ενσωματωμένη δευτερεύσουσα μνήμη ή υποδοχή για να τοποθετηθεί. Αυτή η μνήμη αποκαλείται και δευτέρου επιπέδου ("Level 2","L2") κρυφή μνήμη. Οι μητρικές πλακέτες για τον Pentium Pro και τον Pentium II δεν έχουν υποδοχή για δευτέρου επιπέδου κρυφή μνήμη πάνω τους. Είναι ενοποιημένη με τον επεξεργαστή στον Pentium Pro και μέσα στη συσκευασία του επεξεργαστή για τον Pentium II. Η παρουσία δευτέρου επιπέδου κρυφής μνήμης πάνω στη μητρική φαίνεται ότι θα αποτελεί παρελθόν σε λίγα χρόνια. Η τάση είναι να τοποθετείται κατευθείαν η L2 κρυφή μνήμη πάνω στον επεξεργαστή (Pentium Pro) ή πάνω σε μια θυγατρική πλακέτα (Pentium II και επόνενοι επεξεργαστές). Υποδοχές διαύλων εισόδου/εξόδου Όλες οι μητρικές πλακέτες έχουν ένα ή περισσότερους διαύλους εισόδου/εξόδου, οι οποίοι χρησιμοποιούνται για να επεκτείνουν τις ικανότητες του υπολογιστή. Αυτές οι υποδοχές επιτρέπουν την επέκταση των ικανοτήτων του συστήματος με διάφορους τρόπους. Σε ένα τυπικό υπολογιστή είναι σχεδόν σίγουρο ότι υπάρχουν τουλάχιστον δύο τύποι διαύλων Ε/Ε: ISA και PCI. Υποδοχές διαύλου ISA Ελεγκτής πληκτρολογίου Υποδοχές διαύλου PCI Ο ελεγκτής πληκτρολογίου κάνει ότι ακριβώς υπονοεί το όνομα του. Επίσης, ελέγχει την ενσωματρωμένη PS/2 θύρα, αν υπάρχει στη μητρική. Σε κάποιους πιο σύγχρονους

223 υπολογιστές, αυτός ο ελεγκτής είναι ενσωματωμένος στο chip του ελεγκτή Super I/O, έτσι η μητρική μπορεί να μην έχει ένα ξεχωριστό chip για αυτή τη δουλειά. 223 Ελεγκτής πληκτρολογίου Ρολόι πραγματικού χρόνου και Chip Μνήμης CMOS Αυτό το chip στηρίζει το πραγματικού χρόνου ρολόι το οποίο κρατάει την ημερομηνία και την ώρα στον υπολογιστή, καθώς επίσης και την CMOS RAM, η οποία κρατάει τις ρυθμίσεις του BIOS. Τροφοδοτείται από μια μπαταρία, η οποία μερικές φορές μπορεί να είναι ενσωματωμένη και στο ρολόι πραγματικού χρόνου. Ελεγκτής Super I/O To chip του ελεγκτή Super I/O εκτελεί πολλές από τις βασικές λειτουργίες εισόδου - εξόδου, οι οποίες συνήθως γίνονται από πολλαπλά μικρότερα chips. BIOS Chips Το BIOS σύστημα του υπολογιστή είναι κωδικοποιημένο σε chips μνήμης ανάγνωσης μόνο (read- only memory, ROM), που βρίσκονται πάνω στη μητρική πλακέτα. Συνήθως υπάρχουν ένα ή δύο BIOS chips, εξαρτάται από την πλακέτα, και συχνά το όνομα τους είναι το όνομα της εταιρίας που κατασκευάζει το λογισμικό του BIOS (συνήθως Award ή AMI). Γέφυρες βραχυκύκλωσης BIOS Chip Οι γέφυρες βραχυκύκλωσης (Jumpers) είναι ακροδέκτες (pins) πάνω στη μητρική πλακέτα ή σε άλλες συσκευές, οι οποίοι χρησιμοποιούνται για να παρέχουν πληροφορίες διαμόρφωσης στο hardware. Ένα απλό jumper αποτελείται από ένα ζευγάρι ακροδεκτών με μια μικρή ορθογώνια αντίσταση εκτροπής ρεύματος, η οποία συγκρατεί τους δύο αυτούς ακροδέκτες μαζί. Το hardware είναι προγραμματισμένο να λειτουργεί με διαφορετικό

224 τρόπο όταν τα jumpers κάνουν κύκλωμα και αλλιώς όταν είναι ανοιχτά. Για κάποιες λειτουργίες χρησιμοποιείται ένα σύνολο από jumpers. Μια από τις πιο πρόσφατες καινοτομίες στην αγορά είναι οι μητρικές πλακέτες χωρίς jumpers. Σε αυτές τις μητρικές μπορούμε να κάνουμε πολλές ρυθμίσεις του hardware, όπως την ταχύτητα, τον τύπο και την τάση του ρεύματος του επεξεργαστή, από το BIOS. Αυτή η διευθέτηση επιτρέπει την αλλαγή της ταχύτητας του επεξεργαστή, τόσο εύκολα, όπως οποιαδήποτε ρύθμιση του BIOS. 224 Γέφυρα βραχυκύκλωσης με δύο ακροδέκτες Γενικότερα με τα jumpers της μητρικής πλακέτα μπορούμε να ρυθμίσουμε: Τάση του επεξεργαστή: Όλες σχεδόν οι νεότερες μητρικές πλακέτες έχουν ένα ή δύο jumpers για να ρυθμίζουν την τάση του επεξεργαστή. Προφανώς, αυτά πρέπει να καθοριστούν σωστά, διαφορετικά οι συνέπειες μπορεί να είναι καταστροφικές. Επιπλέον, νεότεροι επεξεργαστές χρησιμοποιούν δύο επίπεδα τάσης: μια "εξωτερική" τάση Ε/Ε και μία τάση "πυρήνα". Προκειμένου η μητρική πλακέτα να υποστηρίζει αυτούς τους νέους επεξεργαστές, πρέπει να έχει jumpers που να καθορίζουν και τα δύο επίπεδα τάσης. Ταχύτητα επεξεργαστή /ταχύτητα διαύλου / Πολλαπλασιαστές: Κάθε μητρική πλακέτα από της 486 και μεταγενέστερες, έχει έναν τρόπο να καθορίζει την ταχύτητα του επεξεργαστή. Υπάρχουν δύο κύριες μέθοδοι για την επιλογή της ταχύτητας του επεξεργαστή. Μερικές μητρικές παρέχουν μια λίστα από διάφορες ταχύτητες που υποστηρίζουν και ένα διάγραμμα του πως να ρυθμίσουμε τα jumpers για να πετύχουμε την κάθε ταχύτητα. Ενώ άλλες απαιτούν τον καθορισμό δύο διαφορετικών jumpers: ένα ελέγχει την ταχύτητα του διαύλου μνήμης και το άλλο ρυθμίζει τον πολλαπλασιαστή του επεξεργαστή. Τύπος του επεξεργαστή: Προκειμένου να απαλλάξουν το χρήστη από τη δουλειά της ρύθμισης της τάσης και της ταχύτητας, μερικές μητρικές πλακέτες συνδυάζουν τα jumpers σε ένα σύνολο ή ομάδα από jumpers. Κατόπιν, παρέχουν μια μεγάλη λίστα με κάθε τύπο επεξεργαστή και ταχύτητα που υποστηρίζει η μητρική, παραθέτοντας και τις κατάλληλες ρυθμίσεις για κάθε συνδυασμό. Μέγεθος και τύπος κρυφής μνήμης: Μερικές μητρικές πλακέτες μπορεί να έχουν διαφορετικές ποσότητες κρυφής μνήμης, είτε ενσωματωμένες, είτε σε ένα COAST module. Υπάρχει συχνά ένα ή δύο jumpers τα οποία χρησιμοποιούνται για να ορίχουν ποιά χρησιμοποιείται και πόση κρυφή μνήμη υπάρχει πάνω στη μητρική πλακέτα. Τύπος και μέγεθος κύριας μνήμης: Σχεδόν όλοι οι νεότεροι προσωπικοί υπολογιστές αυτο-αναγνωρίζουν την ποσότητα και τον τύπο της κύριας μνήμης του συστήματος, αλλά πολλές παλιότερες (486) απαιτούν jumpers τα οποία θα αλλάζουν όταν θα αλλάζει η ποσότητα της μνήμης.

225 Ενεργοποίηση flash BIOS: Πολλές μητρικές πλακέτες απαιτούν να ορίσουμε ειδικά jumpers, προκειμένου να ενεργοποιηθεί το flash BIOS. Αυτό το jumper είναι συνήθως ορισμένο σε "normal". Συνδετήρες πληκτρολογίου και ποντικιού Αυτοί οι συνδετήρες βρίσκονται τοποθετημένοι στο πίσω μέρος της μητρικής πλακέτας. Οι τύποι των συνδετήρων πληκτρολογίου και ποντικιού του υπολογιστή εξαρτώνται από τον τύπο της μητρικής. Οι καινούριοι υπολογιστές, που χρησιμοποιούν ATX, LPX ή NLX μητρικές χρησιμοποιούν ένα ζευγάρι από μικρούς συνδτήρες των 6 ακροδεκτών για το πληκτρολόγιο και ξεχωριστό (PS/2) για το ποντίκι. Οι παλαιότεροι υπολογιστές που χρησιμοποιούσαν AT μητρικές είχαν ένα συνδετήρα των 5 ακροδεκτών για το πληκτρολόγιο, δεν είχαν ξεχωριστό για το ποντίκι και χρησιμοποιούσαν μια σειριακή θύρα για αυτή τη δουλειά. 225 Συνδετήρας πληκτρολογίου Συνδετήρας ποντικιού Συνδετήρας τροφοδοσίας Οι μητρικές έχουν μια υποδοχή για να εφαρμόζουν τα καλώδια που έρχονται απο το τροφοδοτικό. Οι ΑΤΧ μητρικές και τα τροφοδοτικά χρησιμοποιούν για την τροφοδοσία ένα καλώδιο 20 ακροδεκτών. Όλα τα υπόλοιπα χρησιμοποιούν ένα ζευγάρι από καλώδια 6 ακροδεκτών. Τα καλώδια είναι συνδεδεμένα με τη μητρική, κατά τέτοιο τρόπο, έτσι ώστε οι μαύροι ακροδέκτες (γείωση) να είναι μαζί στο κέντρο. Αυτός ο συνδετήρας βρίσκεται στην πίσω πλευρά της μητρικής πλακέτας κοντά στο τροφοδοτικό. Συνδετήρας τροφοδοσίας Ρυθμιστής Ηλεκτρικής Τάσης Το γεγονός ότι ο επεξεργαστής και όλες οι υπόλοιπες συσκευές λειτουργούν με διαφορετική τάση, έχει οδηγήσει στην ανάγκη για ένα ή περισσότερους ρυθμιστές τάσης (voltage regulators) στις πιο σύγχρονες μητρικές πλακέτες. Αυτοί οι ρυθμιστές μειώνουν τα 5.5V που χρησιμοποιούν οι υπόλοιπες συσκευές στα 3.3V ή χαμηλότερα για τις ανάγκες του επεξεργαστή. Ρυθμιστής ηλεκτρικής τάσης

226 Chipset Chips Στις περισσότερες μητρικές πλακέτες υπάρχουν από δύο μέχρι τέσσερα τέτοια chips, τα οποία έχουν την ονομασία της εταιρίας που τα έχει προμηθεύσει. Το chipset κανονικά ελέγχει τον έλεγχο της ροής των δεδομένων από και προς τον επεξεργαστή, στη μνήμη και την κρυφή μνήμη, όπως επίσης και τους διαύλους του συστήματος. 226 Πυκνωτές chipset chip Οι πυκνωτές είναι ηλεκτρικές συσκευές, οι οποίες χρησιμοποιούνται για να φιλτράρουν και να μειώνουν τις ακμές των ηλεκτρικών σημάτων πάνω στη μητρική πλακέτα. Πολλοί κατασκευαστές προσπαθούν να μειώσουν το κόστος μέσω των πυκνωτών, μειώνοντας τον αριθμό τους πάνω στην πλακέτα ή χρησιμοποιώντας μικρότερους και φτηνότερους. Με την χρήση οι φτηνοί πυκνωτές χάνουν την αποτελεσματικότητας τους. Πυκνωτές Μπαταρία Οι υπολογιστές χρησιμοποιούν μια χαμηλή τάσης μπαταρία, για να συγκρατούν κάποιες βασικές πληροφορίες όταν είναι εκτός τροφοδοσίας, για παράδειγμα τις ρυθμίσεις του BIOS και την παρούσα ημερομηνία και ώρα. Η μπαταρία μπορεί να είναι διαφόρων ειδών. Σε πολλούς παλιούς υπολογιστές είναι ένα μεγάλο ορθογώνιο κουτί, το οποίο συνδέεται με τη μητρική πλακέτα με καλώδια. Κάποιοι υπολογιστές χρησιμοποιούν μια μπαταρία τοποθετημένη πάνω στη μητρική, η οποία έχει κυλινδρικό σχήμα. Γενικά αυτές οι μπαταρίες δεν είναι αποσπάσιμες. Κάποιοι χρησιμοποιούν επίπεδη μπαταρία ρολογιού, με μια μεταλλική συσκευή συγκράτησης.

227 Μερικοί υπολογιστές δεν φαίνεται να έχουν καθόλου μπαταρία. Σε αυτή την περίπτωση η μπαταρία μπορεί να είναι λιθίου και να είναι ενσωματωμένη σε άλλες συσκευές (τυπικά στο πραγματικού χρόνου ρολόι). Επίσης μπορεί να είναι τύπου νικελίου-καλμίου (μερικές φορές αποκαλείται και συσσωρευτής) και επαναφορτίζεται όποτε ο υπολογιστής τίθεται σε λειτουργία. Αυτές οι μπαταρίες δεν μπορούν να αντικατασταθούν και η διάρκεια λειτουργίας τους κυμαίνεται από πέντε εώς δέκα χρόνια. 227 Θύρες και Headers Μπαταρία υπολογιστή Οι θύρες είναι συνδετήρες που χρησιμοποιούνται για να συνδέουν εξωτερικά καλώδια και συσκευές πάνω στη μητρική πλακέτα. Επιπρόσθετα από τους συνδετήρες του πληκτρολογίου και τον PS/2 του ποντικιού, κάποιες μητρικές (όπως η ATX) έχουν στο πίσω μέρος ενσωματωμένες παράλληλες και σειριακές θύρες. Σειριακή θύρα Παράλληλη θύρα Οι μητρικές πλακέτες που δεν χρησιμοποιούν ενσωματωμένες θύρες, χρησιμοποιούν αντι για αυτές headers. Τα headers είναι σύνολα από ακροδέκτες που χρησιμοποιούνται για να συνδέουν συσκευές ή θύρες πάνω στη μητρική. Ένα καλώδιο ξεκινάει από τη θύρα και συνδέεται με τα headers πάνω στην πλακέτα. Παρακάτω αναφέρονται μερικά από τα headers που βρίσκονται σε μία μητρική πλακέτα τύπου baby AT: Σειριακών θυρών: Όπως αναφέρθηκε, υπάρχουν συνήθως δύο headers για σειριακές θύρες. Κάθε μία έχει 9 ή 10 ακροδέκτες. Παράλληλης θύρας: Το header αυτό χρησιμοποιείται για την εξωτερική παράλληλη θύρα και έχει 26 ακροδέκτες (στην πραγματικότητα χρησιμοποιούνται οι 25) Θύρας PS/2 ποντιού: Μερικές καλές μητρικές παρέχουν ένα header για το ποντίκι τύπου PS/2 όταν αυτή η θύρα δεν υπάρχει ήδη πάνω στη μητρική. USB: Μία νέα τεχνολογία, η USB, σκοπεύει να γίνει το στάνταρ για τη διασύνδεση συσκευών όπως πληκτρολόγιο, ποντίκι και εξωτερικά modems. Εφόσον δεν είναι ακόμη πολύ κοινή τεχνολογία, πολλές μητρικές παρέχουν ένα header για την προσθήκη μιας νέας θύρας αν θελήσουμε στο μέλον.

228 Primary και Secondary IDE/ATA interface σκληρού δίσκου: Οι περισσότερες καινούργιες μητρικές, έχουν ολοκληρωμένα headers για τα δύο αυτά κανάλια IDE. Κάθε ένα έχει 40 ακροδέκτες. Interface εύκαμπτου δίσκου: Οι καινούργιες μητρικές παρέχουν ένα header των 34 ακροδεκτών για το καλώδια του οδηγού εύκαμπτου δίσκου. SCSI: Μερικές μητρικές έχουν ολοκληρωμένες θύρες SCSI ή headers, και κάτι τέτοιο είναι ασυνήθιστο. Αυτές είναι των 60 ακροδεκτών. 228 Περίληψη Headers Το παρακάτω σχεδιάγραμμα δείχνει τα περιέχόμενα μιας μητρικής πλακέτας, καθώς και τη θέση που αυτά έχουν πάνω στη μητρική. Περιεχόμενα μητρικής πλακέτας 1. Συνδετήρες πληκτρολογίου και ποντικιού. 2. Συνδετήρας τροφοδοσίας. 3. Υποδοχές μνήμης (DIMM). 4. Συνδετήρας εύκαμπτου δίσκου. 5. Συνδετήρα IDE σκληρού δίσκου.

229 6. tagram. 7. Chipsets. 8. Δευτερεύουσα κρυφή μνήμη. 9. Υποδοχή COASt. 10. Υποδοχή επεξεργαστή. 11. Flash BIOS. 12..BIOS CMOS. 13. Μπαταρία. 14. Υποδοχές διαύλου ISA. 15. Υποδοχές διαύλου PCI. 16. Υποδοχές μνήμης (SIMM). 17. Ελεγκτές Ε/Ε: συνδετήρες για παράλληλη και σειριακή θύρα. 18. Συνδετήρας USB. 229

230 Chipset Υποστήριξη Επεξεργαστή 230 Βελτιστοποίηση και υποστήριξη "τάξης" υπολογιστών Ένα chipset είναι σχεδιασμένο να δουλεύει με ένα συγκεκριμένο σύνολο υπολογιστών. Γενικά, τα περισσότερα chipsets υποστηρίζουν μια "τάξη" επεξεργαστών. Τα περισσότερα είναι σχεδιασμένα για συστήματα 486, Pentum και Pentium Pro / II. Ο λόγος για τον οποίο γίνεται αυτό είναι απλός και έχει να κάνει με το γεγονός ότι η σχεδίαση του κυκλώματος ελεγκτή πρέπει να είναι διαφορετική για κάθε μία από αυτές τις οικογένειες επεξεργαστών, λόγω του ότι έχουν διαφορετικούς τρόπους χρήσης της κρυφής μνήμης, της προσπέλασης στη μνήμη κλπ. Για παράδειγμα, οι Pentium Pro και Pentium II έχουνl2 cache πάνω στη συσκευασία του επεξεργαστή. Έτσι, προφανώς χρειάζονται διαφορετική λογική από ότι οι απλοί Pentiums, οι οποίοι έχουν L2 cache πάνω στην μητρική πλακέτα. Οι περισσότερες καλές μητρικές πλακέτες, οι οποίες υποστηρίζουν επεξεργαστές Pentium, καθώς επίσης και τους ισοδύναμους της AMD (K5, K6) και της Cyrix (6x86, 6x86MX), οι οποίοι από τη στιγμή που είναι σχεδιασμένοι να είναι εναλλακτικοί της Intel, δουλεύουν με Intel chipsets αν και μερικές φορές χρειάζονται διαφορετική ρύθμιση στα jumpers. Ένας άλλος παράγοντας βελτιστοποίησης που θα έπρεπε να αναφερθεί είναι ότι αυτοί οι επεξεργαστές δεν είναι πάντα συμβατοί με το chipset της Intel, το οποίο σκοπεύουν να αντικαταστήσουν και σε μερικές περιπτώσεις προσθέτουν επιπλέον χαρακτηριστικά απόδοσης, τα οποία μπορούν να αποκτηθούν από τα ιδιαίτερα πλεονεκτήματα του chipset. Η ικανότητα της μητρικής πλακέτας να δέχεται επεξεργαστές διπλής τάσης όπως οι Pentium MMX, εξαρτάται μόνο από τους ρυθμιστές τάσεις και όχι από το chipset. MMX είναι μια επέκταση του συνόλου εντολών και δεν απαιτεί αλλαγή του chipset, συγκριτικά με τον πρότυπο Pentium. Οι επεξεργαστές K6 της AMD και 6x86MX της Cyrix είναι στην πραγματικότητα 6ης γενιάς επεξεργαστές, αλλά είναι σχεδιασμένοι να τοποθετούνται σε μητρικές πλακέτες 5ης γενιάς. Υποστήριξη ταχύτητας επεξεργαστή Οι ταχύτεροι επεξεργαστές απαιτούν ένα αντίστοιχο κύκλωμα chipset, το οποίο θα είναι ικανό να τους διαχειριστεί. Η προδιαγραφή ταχύτητας του επεξεργαστή γίνεται με τη χρήση δύο παραμέτρων: την ταχύτητα του διαύλου μνήμης και τον πολλαπλασιαστή του επεξεργαστή (βλ. αρχιτεκτονική επεξεργαστών). Γενικά, ο δίαυλος επεξεργαστή και ο δίαυλος μνήμης ενώνουν τον επεξεργαστή, τη μνήμη και το chipset. Η ταχύτητα του διαύλου μνήμης είναι η "εξωτερική" ταχύτητα του επεξεργαστή, η ταχύτητα με την οποία επικοινωνεί με το υπόλοιπο σύστημα. Η ταχύτητα αυτή δείχνει επίσης και την ταχύτητα του τοπικού διαύλου PCI, ο οποίος στις περισσότερες μητρικές πλακέτες τρέχει στο μισό της ταχύτητας του διαύλου μνήμης. Συνήθως, στους σύγχρονους υπολογιστές η ταχύτητα του διαύλου μνήμης είναι 50, 60, 66, 75 MHz. Ο πολλαπλασιαστής αναπαριστά το συντελεστή, με τον οποίο ο επεξεργαστής πολλαπλασιάζει την ταχύτητα του διαύλου μνήμης, με σκοπό να αποκτήσει την δική του εσωτερική ταχύτητα. Στους σύγχρονους υπολογιστές ο πολλαπλασιαστής αυτός είναι 1.5x, 2x, 2.5x, 3x, 3.5x, 4x, 4.5x ή 5x. Το ύψος των ταχυτήτων του επεξεργαστή, που υποστηρίζεται από το chipset, φαίνεται, γενικά, από το ύψος των υποστηριζόμενων ταχυτήτων του διαύλου μνήμης και των πολλαπλασιαστών. Για παράδειγμα, ένα τυπικό Pentium chipset υποστηρίζει ταχύτητες διαύλου μνήμης 50 ως 66 MHz με πολλαπλασιαστή που κυμαίνεται από 1.5x μέχρι 3x. Αυτό έχει ως αποτέλεσμα ταχύτητες επεξεργαστή, που κυμαίνονται στην περιοχή των 75, 90, 100, 120, 133, 150, 166 και 200 MHz.

231 Υποστήριξη πολλών επεξεργαστών 231 Μερικά chipsets υποστηρίζουν τη δυνατότητα δημιουργίας μητρικής πλακέτας με δύο ή τέσσερις επεξεργαστές. Το κύκλωμα του chipset συντονίζει τις δραστηριότητες των επεξεργαστών, έτσι ώστε να μην εμπλέκεται η μία με την άλλη και συνεργάζεται με το λειτουργικό σύστημα, για να μοιράσει το φόρτο εργασίας μεταξύ των επεξεργαστών, για να επιτύχει τη μέγιστη απόδοση. Το μόνο πρότυπο αυτή τη στιγμή για πολυεπεξεργασία σε Pentium και Pentium Pro υπολογιστές, είναι η έκδοση SMP της Intel και δουλεύει μόνο με επεξεργαστές της Intel. Υπάρχουν περισσότερα θέματα που πρέπει να προσεχθούν, για να μπορούν να τρέχουν πολλοί επεξεργαστές μαζί, εκτός από το να υπάρχει η απαραίτητη υποστήριξη από το chipset. Αυτό απλά είναι ένα απαραίτητο στοιχείο. Πρέπει επίσης οι επεξεργαστές να είναι συμβατοί, αλλά και το λειτουργικό σύστημα να μπορεί να ωφεληθεί από το πλεονέκτημα της ύπαρξης πολλών επεξεργαστών, για να μπορεί να επιτευχθεί σημαντική βελτίωση στην απόδοση του συστήματος.

232 Υποστήριξη Κρυφής και Κύριας Μνήμης 232 Μέγεθος δευτερεύουσας κρυφής μνήμης Το chipset καθορίζει την ποσότητα της L2 cache, που υποστηρίζεται για κάθε σύστημα. Τα περισσότερα σύγχρονα chipsets υποστηρίζουν ένα μέγεθος cache, είτε 256, είτε 512 KB. Πρέπει, όμως, να πούμε ότι αυτό δεν ισχύει για τους υπολογιστές Pentium Pro, οι οποίοι έχουν την L2 cache στην ίδια συσκευασία με τον επεξεργαστή. Τύπος δευτερεύουσας κρυφής μνήμης Υπάρχουν τρείς κύριοι τύποι κρυφής μνήμης οι οποίοι χρησιμοποιούνται σήμερα και οι οποίοι με αύξουσα σειρά απόδοσης είναι: ασύγχρονη (asynchronous), σύγχρονη κατά ριπή (asynchronous burst), και διοχέτευση κατά ριπή (pipeline burst). Κάθε ένας τύπος απαιτεί διαφορετικό κύκλωμα ελέγχου και επομένως πρέπει να υπάρχει σαφής υποστήριξη από το chipset. Πολιτικές εγγραφής δευτερεύουσας κρυφής μνήμης Οι "πολιτικές" εγγραφής για την κρυφή μνήμη είναι δύο και ελέγχουν τον τρόπο με τον οποίο γίνονται οι εγγραφές στη μνήμη αυτή: μία "write through" κρυφή μνήμη σημαίνει ότι οι εγγραφές μνήμης στέλνονται στην κύρια μνήμη αμέσως μόλις ο επεξεργαστής δώσει έξω την πληροφορία, ενώ μία "write back" κρυφή μνήμη σημαίνει ότι ο επεξεργαστής γράφει την πληροφορία μόνο στην κρυφή μνήμη, η οποία αργότερα δίνει την πληροφορία στην κύρια μνήμη, στον κατάλληλο χρόνο. Δυνατότητα κύριας μνήμης να γραφεί στην κρυφή μνήμη Τα χαρακτηριστικά του chipset ελέγχουν τη μέγιστη ποσότητα μνήμης που το σύστημα μπορεί να εγγράψει στην κρυφή μνήμη. Αυτό είναι ένα πολύ διαφορετικό θέμα από αυτό της ποσότητας της μνήμης, που το σύστημα μπορεί να διαχειριστεί. Πολλά chipsets μπορούν να διαχειριστούν περισσότερη μνήμη, από αυτή που μπορούν να υποστηρίζουν για L2 cache. Η ποσότητα της μνήμης που έχει την δυνατότητα να γραφεί στην κρυφή μνήμη εξαρτάται από το κύκλωμα ελέγχου του chipset και την ποσότητα της tag RAM, που υπάρχει στη μητρική πλακέτα και όχι από το μέγεθος της μνήμης που υπάρχει σε ένα σύστημα. Μέγεθος κύριας μνήμης Το chipset δείχνει τη μέγιστη ποσότητα μνήμης RAM (μέγεθος RAM) που μπορούμε να έχουμε πάνω στη μητρική πλακέτα. Για τα σύγχρονα chipsets, αυτό το μέγεθος μπορεί να είναι από 64 MB ως και 4GB. Ο αριθμός αυτός μπορεί να είναι μεγαλύτερος από τη μέγιστη ποσότητα μνήμης που μπορεί να γραφεί στην κρυφή μνήμη και αυτό είναι κάτι που θα πρέπει να ξέρουμε. Τεχνολογία DRAM Το chipset ελέγχει το κατά πόσο η μητρική πλακέτα μπορεί να χρησιμοποιεί FPM, EDO, BEDO ή SDRAM μνήμη. Η αλλαγή του τύπου μνήμης επιδρά στον τρόπο με τον οποίο η μνήμη διαβάζεται και γράφεται, κάτι το οποίο ελέγχεται από το chipset. Επιπλέον, μερικά chipsets είναι καλύτερα με συγκεκριμένους τύπους μνήμης, ενώ με άλλους όχι. Ένα chipset μπορεί να βελτιστοποιηθεί, για να παρέχει γρηγορότερες προσπελάσεις σε συγκεκριμένους τύπους μνήμης ή μπορεί να είναι λιγότερο αποδοτικό με άλλους.

233 Υποστήριξη μεγέθους και συσκευασίας DRAM 233 Η μνήμη για προσωπικούς υπολογιστές έρχεται σε δύο βασικούς τύπους συσκευασίας: η SIMM (Single In- line Memory Module), η οποία έχει δύο μεγέθη, 30 και 72 pins και η DIMM (Dual In-line Memory Module) η οποία έχει 168 pins. Αυτές οι συσκευασίες δεν διαφέρουν μόνο στο φυσικό μέγεθος, αλλά και στο εύρος μνήμης που μπορούν να εξάγουν σε μια στιγμή. Οι μνήμες SIMMs με 30 pins παράγουν 8 bits δεδομένων σε κάθε στιγμή, αυτές με τα 72 pins παράγουν 32 bits και οι DIMMs 64 bits. Το μέγεθος της μνήμης που απαιτείται από τη μητρική πλακέτα, εξαρτάται από το πώς το chipset προσπελαύνει τη μνήμη και από το εύρος του διαύλου δεδομένων του επεξεργαστή. Γενικά, η τάξη 486 απαιτεί 32 bits εύρος μνήμης και οι Pentium και Pentium Pro απαιτούν 64 bits, αλλά και η σχεδίαση του chipset έχει μια επιρροή στο θέμα αυτό. Μερικές μητρικές πλακέτες μπορούν να διαχειρίζονται 32 bits εύρος μνήμης, αλλάζοντας τον τρόπο προσπέλασης της μνήμης. Η σχεδίαση του chipset είναι επίσης ένα περιοριστικός παράγοντας για το πόσα SIMMs ή DIMMs υποδοχές (slots) μπορούν να υπάρχουν σε μια μητρική πλακέτα. Καλύτερα chipsets υποστηρίζουν περισσότερα slots, δίνοντας μεγαλύτερη ευελιξία στην δυνατότητα αναβάθμισης του υπολογιστή. Υποστήριξη ισοτιμίας και διόρθωσης σφαλμάτων Η λογική διόρθωσης σφαλμάτων παρέχεται σαν ένα μέρος των ικανοτήτων του κυκλώματος ελεγκτή μνήμης στο chipset. Στους σύγχρονους υπολογιστές και η ισοτιμία, αλλά και οι λειτουργίες ECC (Error Correcting Code) παρέχονται από τη χρήση μνήμης με ισοτιμία. Μερικά chipsets υποστηρίζουν μόνο ECC χρησιμοποιώντας ECC μνήμη. Ένα chipset χωρίς υποστήριξη ισοτιμίας, δεν έχει την ικανότητες να βρει ή να διορθώσει λάθη ανάγνωσης από τη μνήμη.

234 Χρονισμός και Έλεγχος Ροής 234 Εισαγωγή Μία από τις πιο σημαντικές λειτουργίες του chipset είναι να ελέγχει τις αναγνώσεις και εγγραφές στη μνήμη, αλλά και τη μεταφορά αυτών των δεδομένων πάνω στον τοπικό δίαυλο (PCI και/ή AGP) από τον επεξεργαστή. Η ποιότητα σχεδίασης του chipset, ο τύπος της κρυφής μνήμης, η ταχύτητα της κύριας μνήμης και ο τύπος του επεξεργαστή που χρησιμοποιείται, παίζουν ένα σημαντικό ρόλο στον καθορισμό, του πόσο αποδοτικά μπορεί η πληροφορία να μεταφερθεί από και προς τη μνήμη, κάτι το οποίο θα καθορίσει, σε κάποιο βαθμό, την γενική απόδοση του υπολογιστή. Κωδικοποίηση διεύθυνσης Το chipset εκτελεί την λειτουργία μετάφρασης των αιτήσεων του επεξεργαστή για εντολές και δεδομένα σε διευθύνσεις, οι οποίες αναπαριστούν περιοχές στη μνήμη, όπου βρίσκονται αυτές οι πληροφορίες και πρέπει να διαβαστούν. Κρυφή μνήμη και ρυθμός μεταφοράς δεδομένων Όταν ο επεξεργαστής ζητά πληροφορίες από τη μνήμη, η κρυφή μνήμη είναι η πρώτη που εξετάζεται για να διαπιστωθεί αν περιέχει αυτά τα δεδομένα (αυτό γίνεται γιατί είναι πολύ γρήγορη). Αν ναι, τα δεδομένα διαβάζονται από εκεί, διαφορετικά διαβάζονται από την κύρια μνήμη και δίνονται και στον επεξεργαστή αλλά και στην κρυφή μνήμη, για την περίπτωση που χρειαστούν στο κοντινό μέλλον. Το chipset ελέγχει το χρονισμό αυτών των μεταφορών. Καλύτερα chipsets μπορούν να κάνουν αυτή τη δουλειά πολύ πιο αποδοτικά από κάποια άλλα. Ροή δεδομένων και υποστήριξη διαύλου Το chipset ελέγχει και διαχειρίζεται τη ροή των πληροφοριών, από τον τοπικό δίαυλο προς τη μνήμη, όπως επίσης και από τον PCI απευθείας στον επεξεργαστή. Σε συστήματα AGP, το chipset επίσης συντονίζει μεταφορές μεταξύ του επεξεργαστή και των AGP καρτών γραφικών. Για μεγαλύτερη απόδοση, μπορεί να υπάρχουν διάφορες "συναλλαγές" σε κατάσταση αναμονής την ίδια χρονική στιγμή. Από τη στιγμή που ο επεξεργαστής, η μνήμη και ο δίαυλος PCI λειτουργούν σε διαφορετικές ταχύτητες, χρησιμοποιούνται και καταχωρητές, για να κρατούν τα δεδομένα κατά τη διάρκεια των μεταφορών. Τα chipsets ποικίλουν στην ποσότητα τέτοιων καταχωτητών που μπορούν να παρέχουν. Περισσότεροι καταχωρητές σημαίνει περισσότερη ικανότητα υποστήριξης της ασύγχρονης λειτουργίας του επεξεργαστή, της μνήμης και του διαύλου PCI. Χρονισμός μνήμης συστήματος Αφού, στις περισσότερες περιπτώσεις η μνήμη είναι πολύ πιο αργή από τον επεξεργαστή που υπηρετεί, αυτός συχνά πρέπει να περιμένει τη μνήμη, ώστε να του παρέχει την πληροφορία που χρειάζεται. Μία "κατάσταση αναμονής" είναι ένας κύκλος ρολογιού (ένας χτύπος), που ο επεξεργαστής μένει ανενεργός, επειδή περιμένει την κύρια μνήμη. Ο στόχος του chipset είναι να μειώσει τον αριθμό αυτών των καταστάσεων, όσο το δυνατόν περισσότερο. Εισάγει αυτές τις καταστάσεις αναμονής, όπου είναι απαραίτητο, για να εξασφαλίσει ότι ο επεξεργαστής δεν θα προτρέχει σε σχέση με την κρυφή και την κύρια μνήμη. Όσο πιο γρήγορη είναι η κύρια και η κρυφή μνήμη, τόσο λιγότερες είναι αυτές οι καταστάσεις αναμονής, κάτι

235 που βελτιώνει την απόδοση του συστήματος. Όλη αυτή η διαδικασία είναι επίσης μια διαδικασία του κυκλώματος ελέγχου προσπέλασης της μνήμης που διαθέτει το chipset. Ηκρυφή μνήμη στα σύγχρονα συστήματα αποθηκεύει δεδομένα σε "γραμμές" των 32-bytes, κάτι που σημαίνει ότι η πληροφορία που διαβάζεται ή γράφεται σ' αυτή, είναι 32 bytes κάθε φορά. Αφού όμως η κύρια μνήμη διαβάζεται, γενικά, ανά 8 bytes κάθε φορά (64 bits), αυτό σημαίναι ότι μία εγγραφή στην κρυφή μνήμη (32 bytes) απαιτεί 4 εγγραφές ή αναγνώσεις της κύριας μνήμης (8 bytes) για να ολοκληρωθεί. Για την πρώτη από αυτές τις αναγνώσεις ή εγγραφές, η πληροφορία για την διεύθυνση πρέπει να δοθεί στη μνήμη, ώστε να της πει ποιά περιοχή πρέπει να χρησιμοποιηθεί. Μετά από αυτό, οι τρείς επόμενες εγγραφές ή αναγνώσεις είναι από συνεχόμενες περιοχές της μνήμης, έτσι η ταχύτητα είναι πολύ μεγαλύτερη, επειδή δεν υπάρχει η ανάγκη αποστολής της διεύθυνσης για τις τρεις επόμενες προσπελάσεις στη μνήμη. Αυτό φυσικά αυξάνει την απόδοση κατακόρυφα. Ο χρόνος που απαιτείται για την προσπέλαση της μνήμης την πρώτη φορά, ονομάζεται "λανθάνων χρόνος προσπέλασης". Για να αναπαραστήσουμε αυτήν την τεχνολογία, ο χρονισμός προσπέλασης της κύριας και κρυφής μνήμης, συχνά ορίζεται χρησιμοποιώντας ορολογία όπως: F-S-S- S, όπου "F" είναι ο αριθμός των χτύπων που απαιτούνται για την πρώτη προσπέλαση, και "S" είναι ο αριθμός για κάθε ακόλουθη συνεχόμενη προσπέλαση. Ένα παράδειγμα αυτής της προδιαγραφής θα μπορούσε να είναι το " ", το οποίο σημαίνει ότι η πρώτη προσπέλαση απαιτεί 6 κύκλους ρολογιού και οι τρείς επόμενες από 2 η κάθε μία. Επίσης, είναι δυνατό να συναντήσουμε προδιαγραφές όπως "x ", το οποίο σημαίνει ότι η πρώτη προσπέλαση μπορεί να κυμαίνεται ανάλογα με το σύστημα που πρόκειται να χρησιμοποιηθεί. Αυτά όλα εξηγούνται καλύτερα στο κεφάλαιο της κύριας μνήμης. Έλεγχος περιφερειακών και διαύλου εισόδου-εξόδου Οι περισσότεροι σύγχρονοι υπολογιστές χρησιμοποιούν δύο τύπους διαύλων: τον ISA (Industry Standard Architecture) δίαυλο για αργά περιφερειακά, αλλά και συμβατότητα με τα άλλα παλαιότερα εξαρτήματα και τον PCI (Peripheral Componet Interconnect) δίαυλο, ο οποίος είναι υψηλής ταχύτητας τοπικός δίαυλος για σκληρούς δίσκους, κάρτες γραφικών και άλλα εξαρτήματα υψηλής ταχύτητας. Επίσης, οι πλέον σύγχρονοι υπολογιστές χρησιμοποιούν τη νέα θύρα AGP, για γραφικά. Το chipset ελέγχει αυτούς τους διαύλους και μεταφέρει πληροφορία από και προς τον επεξεργαστή και τη μνήμη. Οι ικανότητες του chipset καθορίζουν τι είδους δίαυλοι μπορούν να υποστηριχθούν από το σύστημα, σε τι ταχύτητες μπορούν να τρέξουν και τι επιπλέον χαρακτηριστικά μπορούν να έχουν. Τύποι και έλεγχος διαύλων Το chipset δείχνει τι είδους δίαυλοι υποστηρίζονται από το σύστημα. Στην πραγματικότητα, η Intel ονομάζει τα δικά της chipsets "PCIsets" και"agpsets". Οι περισσότεροι από τους νέους υπολογιστές υποστηρίζουν ISA και PCI διαύλους, αλλά παλαιότερα chipsets (σε υπολογιστές 486) υποστηρίζουν VLB, αντί για PCI. Υπάρχουν ακόμη μερικοί 486 υπολογιστές, οι οποίοι υποστηρίζουν και τους τρείς διαύλους στην ίδια μητρική πλακέτα. Οι νεότεροι υπολογιστές επίσης, υποστηρίζουν το δίαυλο AGP για κάρτες γραφικών. Το chipset διαχειρίζεται τη ροή πληροφορίας από τα διάφορα μέρη του υπολογιστή πάνω στο δίαυλο PCI. 235

236 Γέφυρες διαύλων Η "γέφυρα" είναι όρος δανεισμένος από την τεχνολογία των δικτύων, ο οποίος αναφέρεται σε ένα τμήμα του υλικού, το οποίο συνδέει δύο ανόμοια δίκτυα και περνά πληροφορίες από τους υπολογιστές του ενός δικτύου σε εκείνους του άλλου και το αντίθετο. Κατά έναν ανάλογο τρόπο, το chipset πρέπει να χρησιμοποιεί γέφυρες διαύλων για να συνδέει τους διαφορετικούς τύπους διαύλων συστήματος που ελέγχει. Η πιο συνηθισμένη από αυτές είναι η γέφυρα PCI-ISA, η οποία χρησιμοποιείται για να συνδέει αυτούς τους δύο διαφορετικούς διαύλους. Ελεγκτής δίσκων IDE/ATA Όλες σχεδόν οι μητρικές πλακέτες, έχουν πλέον πάνω τους ενσωματωμένη υποστήριξη για 4 IDE σκληρούς δίσκους, δύο σε κάθε κανάλι. Οι λόγοι για την ενσωμάτωση αυτής της υποστήριξης είναι πολλοί. Μεταξύ αυτών και το γεγονός ότι αυτοί οι οδηγοί είναι πάνω στον δίαυλο PCI, έτσι εξοικονομούμε μία υποδοχή επέκτασης (expansion slot) και επομένως μειώνουμε το κόστος. Υπάρχουν διάφορα χαρακτηριστικά που σχετίζονται με το IDE/ATA interfaceκαι τη χρήση του από το δίαυλο PCI, τα οποία ελέγχονται από το chipset. Ο ρυθμός μεταφοράς δεδομένων των οδηγών IDE βασίζεται στην χρήση των τρόπων μεταφοράς (PIO modes) και η χρήση γρηγορότερων τέτοιων τρόπων εξαρτάται από την υποστήριξη του διαύλου PCI και του chipset. Η ικανότητα να έχουμε ένα διαφορετικό PIO mode, για κάθε μία από τις δύο συσκευές στο ίδιο IDE κανάλι, που ονομάζεται ανεξάρτητος χρονισμός συσκευών, είναι επίσης ένα χαρακτηριστικό του chipset. Χωρίς αυτό, και οι δύο συσκευές πρέπει να τρέχουν στην ταχύτητα της πιο αργής από τις δύο συσκευές. Ελεγκτής DMA και υποστήριξη DMA mode Η άμεση προσπέλαση μνήμης (DMA / Direct Memory Access) παρέχει έναν τρόπο στις συσκευές, να μεταφέρουν απευθείας πληροφορίες από και προς τη μνήμη, χωρίς παρέμβαση του επεξεργαστή. Αυτό είναι κάτι που κάνει το σύστημα πολύ πιο αποδοτικό απ' ότι όταν χρησιμοποιεί PIO mode, επειδή επιτρέπει στον επεξεργαστή να ασχολείται με άλλες δουλειές (όταν χρησιμοποιείται ένα λειτουργικό σύστημα που υποστηρίζει κάτι τέτοιο) και όχι μεταφορές πληροφοριών από διάφορες συσκευές προς τη μνήμη και το αντίθετο. Ακόμη χρησιμοποιείται από πολλές συσκευές, αν και τώρα υπάρχουν γρηγορότεροι τρόποι μεταφοράς που χρησιμοποιούνται για συσκευές υψηλής ταχύτητας όπως οι σκληροί δίσκοι. Το DMA ελέγχεται από τον ελεγκτή DMA του chipset και όσο πιο καλοί είναι αυτοί οι ελεγκτές, τόσο περισσότερα DMA modes υποστηρίζονται. Η διαχείριση διαύλου είναι ένα επιπλέον χαρακτηριστικό του DMA δια του οποίου οι απομακρυσμένες συσκευές όχι μόνο μπορούν να στείλουν δεδομένα απευθείας στη μνήμη, αλλά μπορούν, στην πραγματικότητα, να πάρουν τον έλεγχο του διαύλου και να εκτελούν μόνες τους τις μεταφορές αντί να χρησιμοποιούν τον DMA ελεγκτή. Αυτό μειώνει τη σπατάλη του να πρέπει ο ελεγκτής DMA να επικοινωνεί με τις συσκευές και να κάνει τις διάφορες μεταφορές, βελτιώνοντας την απόδοσης του συστήματος. Ελεγκτής διακοπών Ο ελεγκτής διακοπών παρέχει τα μέσα, με τα οποία οι συσκευές εισόδου-εξόδου ζητούν την προσοχή του επεξεργαστή για να ασχοληθεί μαζί τους, όταν πρόκειται για μεταφορές δεδομένων. Αυτή η δουλειά εκτελείται από ένα ζεύγος ελεγκτών διακοπών της Intel, τους 8259, που τώρα έχουν ενσωματωθεί στο chipset. 236

237 Υποστήριξη USB Το USB (Universal Serial Bus) είναι μία νέα τεχνολογία, που έχει σκοπό να αντικαταστήσει τις ήδη υπάρχοντες θύρες επικοινωνίας, που χρησιμοποιούνται για το πληκτρολόγιο και το ποντίκι. Δεν είναι ακόμη σίγουρο αν αυτό το πρότυπο θα γίνει τόσο δημοφιλές, επειδή έχει ήδη κυκλοφορήσει εδώ και καιρό, αλλά πολύ λίγοι είναι αυτοί που το χρησιμοποιούν. Η υποστήριξη πάντως για USB υλοποιείται σαν ένα μέρος του chipset. Υποστήριξη AGP Ο AGP (Accelerated Graphics Port) είναι ένας νέος δίαυλος, ειδικά σχεδιασμένος από την Intel, για να συνδέει τους επεξεργαστές με υψηλής ταχύτητας κάρτες γραφικών και ειδικά αυτές που εκτελούν λειτουργίες 3D (τριών διαστάσεων). Δεν είναι πραγματικά ένας δίαυλος γιατί υποστηρίζει μόνο δύο συσκευές. Η υποστήριξη για το δίαυλο αυτό υπάρχει στο chipset και στο μέλλον ένας μεγάλος αριθμός από αυτά θα έχει τέτοιου είδους υποστήριξη. Plug and Play Το Plug and Play είναι μια προδιαγραφή, η οποία χρησιμοποιεί διάφορα επιπλέον χαρακτηριστικά σε hardware, BIOSes και λειτουργικά συστήματα, για να ενεργοποιήσει υποστηριζόμενες συσκευές να έχουν αυτόματη αναγνώριση στη δική τους χρήση πηγών του συστήματος (IRQs, I/O addresses, DMA channels). Με σκοπό να βοηθήσει στην εξαφάνιση μερικών προβλημάτων που σχετίζονται τη ρύθμιση περιφερειακών, έτσι ώστε να δουλεύουν σωστά, το Plug and Play απαιτεί επίσης την κατάλληλη υποστήριξη από το chipset. 237

238 5 η Γενιά (Pentium Plus) 238 Εισαγωγή Ο κόσμος του Pentium chipset είναι πολύ διαφορετικός από αυτόν των 486. Όταν αναπτύχθηκε το Pentium chipset, την ίδια εποχή με τον PCI δίαυλο, για να τρέχει σε αυτόν, η Intel αποφάσισε ότι θα ήταν χρήσιμο να το πλασάρει στην αγορά. Από τεχνική άποψη, αυτό είναι χρήσιμο, γιατί προκειμένου να εξασφαλίσουμε τη μέγιστη απόδοση, η ζεύξη καλωδίων επεξεργαστή, cache, και chipset πρέπει να γίνεται ολοένα και πιο στριμωγμένη. Η Intel είχε ένα μοναδικό πλεονέκτημα στην δημιουργία chipsets, για το λόγο ότι είχε καλύτερη γνώση των επεξεργαστών που χρησιμοποιούταν εκείνη τη στιγμή και του διαύλου PCI. Όσο συνεχίζει να προσθέτει νέες λειτουργίες στους επεξεργαστές της, μπορεί μπορεί να βάζει και την υποστήριξη για αυτές στο δικό της chipset και να χρησιμοποιεί το ονομά της για να γίνεται όλο και πιο κυρίαρχη στο χώρο αυτό. Το 1997 ωστόσο, η Intel επικεντρώσε την προσοχή της στην πλατφόρμα Pentium II και γενικά στη σχεδίαση 6ης γενιάς μηχανών, με αποτέλεσμα άλλοι κατασκευαστές chipsets όπως η Via Technologies και η SiS, να αρχίσουν να αντισταθμίζουν αυτή την "αδιαφορία" της Intel για Pentium chipsets με την παραγωγή δικών τους. Ας δούμε όμως τα πιο γνωστά 5ης γενιάς chipsets της Intel. Chipsets της SiS Intel 430LX ("Mercury") To 430LX ήταν το πρώτο Pentium chipset της Intel και χρησιμοποιούταν στους πρώτους Pentium υπολογιστές, οι οποίοι έτρεχαν στα 60 και 66 MHz. Αυτοί ήταν 5V chips και χρησιμοποιούταν στις παλιές socket 4 μητρικές πλακέτες, αλλά πολύ γρήγορα ξεπεράστηκαν, όταν η Intel παρουσίασε τους επεξεργαστές 3.3V των 90 και 100 MHz, οι οποίοι τοποθετούνταν σε socket 5 μητρικές πλακέτες. Το 430LX ήταν ένα πολύ απλό chipset, σε σχέση με τα σημερινά και περιελάμβανε φυσικά PCI δίαυλο και υποστήριξη για περισσότερα από 128 ΜΒ RΑΜ, ενώ δεν υποστήριζε μνήμη EDO. Τα chips κρυφής μνήμης ήταν απευθείας τοποθετημένα πάνω στις περισσότερες μητρικές πλακέτες και ήταν 64 KB. Το 430LX ξεπεράστηκε πολύ γρήγορα, όπως και οι μητρικές που το χρησιμοποιούσαν. Σήμερα είναι πολύ δύσκολο όχι μόνο να βρούμε αυτό το chipset στην αγορά, αλλά και να βρούμε πληροφορίες γι' αυτό.

239 Intel 430ΝΧ ("Neptune") Το 430NX ήταν το πρώτο chipset που χρησιμοποιήθηκε για τους 2ης γενιάς Pentiums της Intel, μετατρέποντας τους από 90 MHz σε 133MHz. Η μεγαλύτερη βελτίωση με αυτή τη γενιά τεχνολογίας, ήταν ο ίδιο ο νεότερος Pentium: έτρεχε πολύ γρηγορότερα, ομαλότερα και πολύ πιο αξιόπιστα από τους Pentium 1ης γενιάς. Επιπλέον, το ίδιο το chipset παρουσίασε τις ακόλουθες βελτιώσεις σε σχέση με το 430LX: Υποστήριξη διπλού επεξεργαστή Υποστήριξη 512 MB κύριας μνήμης Υποστήριξη πάνω από 512 KB ασύγχρονης L2 cache Ενώ αυτό το chipset ήταν καλό, δεν παρουσίασε πραγματικά καμία κύρια ή καινοτόμο τεχνολογία και δεν ήταν καλά δημοσιοποιημένο. Όπως και το προηγούμενό του, αποσύρθηκε με την εμφάνιση της σειράς Triton και η μόνη πηγή πληροφοριών για αυτό είναι να κοιτάξουμε σε ιστοσελίδες των κατασκευαστών για παλαιότερά τους συστήματα. Intel 430FX ("Triton") Το πρώτο Triton chipset της Intel, το 430FX, καθιέρωσε την Intel στον κόσμο των chipsets. Αν και δεν συγκρίνεται με τα τελευταία chipsets, το 430FX στην εποχή του ήταν ένα σημαντικό βήμα μπροστά, στον κόσμο των chipsets. Η κυρίαρχη τεχνολογική προσφορά του FX ήταν η υποστήριξή του για EDO RAM. Το chipset FX άρχισε την "επανάσταση από τη μνήμη FPM στην EDO. Βελτίωσε κατά πολύ το NX, αλλά ήταν επίσης κατά πολλούς τρόπους ένα βήμα κάτω από αυτό. Τα πλεονεκτήματα του FX σε σχέση με το NX ήταν: Υποστήριξη για EDO RAM. Υποστήριξη για pipelined burst cache και τεχνολογίες ασύγχρονης cache. PCI επίπεδο 2.0 compliance. Βελτιωμένη απόδοση γενικά. Τα μειονεκτήματά του συγκριτικά με το NX ήταν: Υποστήριξη λιγότερης μνήμης (συνολικά 128 MB μόνο). Ελλειψη υποστήριξης για διπλή επεξεργασία. Το chipset 430FX εμφανίζεται ακόμη σε μερικές περιπτώσεις, κυρίως σε παλιότερες μητρικές πλακέτες, αλλά είναι ωστόσο αρκετά απαρχαιωμένο. Αντικαταστάθηκε από τα Triton II chipsets, επίσης από την Intel. Intel 430HX ("Triton II") Το chipset Triton II HX δημιουργήθηκε από την Intel για να καλύψει κάποιες αδυναμίες του αρχικού chipset Triton. Σκόπευε να είναι ένα υψηλής τεχνολογίας chipset, το οποίο θα κατακτούσε την αγορά των επαγγελματιών. Τα κύρια πλεονεκτήματα, που είχε επιπλέον από το FX ήταν: Υποστήριξη για ισοτιμία και μνήμη ECC. Υποστήριξη για διπλό επεξεργαστή. Υποστήριξη για 512 MB κύριας μνήμης αντί για 128 MB. 239

240 Υποστήριξη για 512 MB κύριας μνήμης που μπορούσε να γραφεί στην κρυφή μνήμη αντί για 64 MB. Πολύ βελτιωμένη απόδοση, λόγω του γρηγορότερου χρονισμού μνήμης και των περισσοτέρων καταχωρητών εισόδου-εξόδου. PCI επίπεδο 2.0 compliance. Υποστήριξη USB. Υποστήριξη ανεξάρτητου χρονισμού συσκευών για οδηγούς IDE/ATA. Το chipset αυτό ήταν όντως πολύ καλό και έχει γίνει το πιο δημοφιλές Intel Pentium chipset, για χρήστες, οι οποίοι θέλουν απόδοση στο σύστημά τους. Οι μητρικές πλακέτες, οι οποίες το χρησιμοποιούν είναι λίγο ακριβότερες από αυτές που χρησιμοποιούν FX ή VX. Το μεγαλύτερο πλεονεκτημά του είναι η απόδοσή του, η πολύ μεγαλύτερη μέγιστη μνήμη που μπορεί να γραφεί στην κρυφή μνήμη και η υποστήριξη ισοτιμίας και διόρθωση σφαλμάτων. Το chipset αυτό είναι το μόνο chipset κλάσης Pentium, το οποίο προσφέρει ισοτιμία και υποστήριξη μνήμης με διόρθωση σφαλμάτων. Αυτό, το κάνει τη μοναδική επιλογή, αν δεν θέλουμε να χρησιμοποιήσουμε ένα chipset που δεν είναι της Intel. Ωστόσο το chipset αυτό έχει σταματήσει να παράγεται και επομένως οι επιλογές μας γίνονται πιο περιορισμένες. 240 Intel 430HX ("Triton II") Intel 430VX ("Triton II", a.k.a. "Triton II") Πρέπει να πούμε ότι η υποστήριξη για 512 MB μνήμης, που μπορεί να γραφεί στην κρυφή μνήμη, έχει νόημα μόνο όταν η μητρική πλακέτα παρέχει αρκετή tag RAM (είναι απαραίτητη 11 bits tag RAM). Το chipset 430HX ονομάζεται τεχνικώς και "Triton II" επειδή η Intel θεώρησε το HX και VX σαν μία οικογένεια, δύο chipsets τα οποία επικεντρώνονται σε διαφορετικά τμήματα της αγοράς. Το HX είναι το πιο ακριβό και σκοπεύει να κατακτήσει την αγορά των επιχειρήσεων και γενικά των απαιτητικών χρηστών, ενώ το VX είναι η πιο οικονομική λύση για απλούς υπολογιστές και χρήστες. Επίσης το VX ονομάζεται συχνά και "Triton III" για να το διακρίνουμε από το HX, αλλά και για λόγους μάρκετινγκ, ώστε να φαίνεται σαν κάτι καινούργιο και φυσικά καλύτερο. Αυτό όμως είναι εντελώς παραπλανητικό, γιατί το VX έχει μόνο ένα σημαντικό τεχνικό πλεονέκτημα, σε σχέση με το HX και είναι στην πραγματικότητα κατώτερο σε όλα σχεδόν τα υπόλοιπα χαρακτηριστικά. Κατά κάποιο τρόπο είναι περισσότερο όμοιο με το FX από ότι με το HX. Τα πλεονεκτήματα του VX σε σχέση με το HX είναι: Χαμηλότερο κόστος. Υποστήριξη για SDRAM.

241 Βελτιωμένες αναγνώσεις κατά ριπή από τη μνήμη, χρησιμοποιώντας SDRAM. Ο χρονισμός με SDRAM είναι , αντί για που είναι με το HX χρησιμοποιώντας EDO RAM. Τα μειονεκτήματα του VX συγκριτικά με το HX είναι: Έλλειψη υποστήριξης ισοτιμίας η μνήμης ECC. Έλλειψη υποστήριξης διπλού επεξεργαστή. Υποστήριξη μόνο για 128 MB κύριας μνήμης. Υποστήριξη μόνο για 64 MB κύριας μνήμης που μπορεί να γραφεί στην κρυφή μνήμη. Αργότερος χρονισμός μνήμης, όταν χρησιμοποιείται EDO RAM. Λιγότεροι PCI καταχωρητές εισόδου-εξόδου. Έλλειψη ανεξάρτητου χρονισμού συσκευής, για οδηγούς IDE/ATA Λιγότερες υποστηριζόμενες υποδοχές στη μητρική πλακέτα για SIMMs ή DIMMs Το πλεονέκτημα της χρήσης SDRAM σε σχέση με EDO RAM σε συστήματα Pentium είναι αμφίβολο. Ενώ, η απλή ταχύτητα της μνήμης αυτής είναι πολύ μεγαλύτερη από αυτή της EDO, μόνο το 5% με 10% του συνόλου των αιτήσεων για αναγνώσεις μνήμης πηγαίνουν πραγματικά σ' αυτή. Η συντριπτική πλειοψηφεία ικανοποιείται από την κρυφή μνήμη και το τελικό αποτέλεσμα δεν οδηγεί σε τόσο μεγάλη βελτίωση, όση υποδηλώνει η αυξημένη ταχύτητα της μνήμης αυτής. Κατά κάποιο τρόπο, το μόνο πλεονέκτημα από την αγορά SDRAM, είναι η ελπίδα, ότι η μνήμη αυτή θα είναι ικανή να χρησιμοποιείται και στο μέλλον, μιάς και φαίνεται να είναι η κατεύθυνση προς την οποία προσανατολίζεται η νέα τεχνολογία. Ωστόσο, ακόμη και αυτό είναι αμφίβολο, από τη στιγμή που φαίνεται ότι η Intel θα ασχοληθεί με τις νέες τεχνολογίες όπως RAMbus DRAM και το μέλλον για την SDRAM δεν είναι και τόσο σίγουρο. Επιπλέον, οι προδιαγραφές SDRAM φαίνεται να αλλάζουν συχνά. Αντίθετα, το μεγαλύτερο μειονέκτημα του chipset VX είναι η μειωμένη υποστήριξη μνήμης, που μπορεί να γραφεί στην κρυφή μνήμη, κάτι το οποίο δεν φαινόταν να είναι μεγάλο θέμα, όταν η μνήμη ήταν πολύ ακριβή, αλλά όταν τα πράγματα άλλαξαν, η αδυναμία αυτή έγινε ορατή στους περισσότερους χρήστες. 241 Intel 430VX Intel 430TX Με το chipset 430HX να είναι η πρώτη επιλογή, αυτών που ήθελαν να έχουν υψηλή απόδοση, η ανακοίνωση της Intel για ένα νέο chipset, το 430TX, έκανε όλους τους

242 χρήστες να ελπίζουν πως αυτό θα ήταν ένα βήμα μπροστά, συνδυάζοντας τα πλεονεκτήματα του 430HX με νέες ικανότητες και χαρακτηριστικά. Αντίθετα, το νέο chipset της Intel έμοιαζε να είναι περισσότερο ένας διάδοχος του VX παρά του HX, κάτι το οποίο απογοήτευσε πολλούς χρήστες. Το chipset αυτό περιλαμβάνει διάφορες νέες τεχνολογίες και βελτιώσεις της απόδοσης επιπλέον του VX, αλλά αφήνει εκτός πολλές ικανότητες του chipset HX. Το αποτέλεσμα όλων αυτών είναι ότι αντί το 430TX να είναι το καλύτερο των Pentium chipsets, τα πράγματα δεν ήταν έτσι. Ας δούμε τα πλεονεκτήματα και τα μειoνεκτήματα του chipset αυτού έναντι στα περισσότερα προγενέστερα chipsets: Τα κυριότερα πλεονεκτήματα του TX έναντι του VX: Βελτιωμένος χρονισμός μνήμης για την πρώτη ανάγνωση από την SDRAM ( αντί για ). Αυξημένη μέγιστη μνήμη από 128 σε 256 MB (αλλά η ικανή μνήμη για εγγραφή στην κρυφή μνήμη παραμένει 64 MB). Υποστήριξη για περισσότερα SIMM και DIMM slots πάνω στην μητρική πλακέτα. Υποστήριξη για DMA mode 3, επιτρέποντας γρηγορότερους ρυθμούς μεταφοράς για τους οδηγούς. Ανεξάρτητο χρονισμό συσκυεών για οδηγούς IDE/ATA. Λιγότερη κατανάλωση ενέργειας. Καλύτερη γενική απόδοση. Τα μειονεκτήματα του TX έναντι του VX: Το μόνο μειονέκτημα είναι το γεγονός ότι είναι ακριβώτερο. Έστι, μπορούμε να πούμε ότι το TX είναι καλύτερο, αλλά το VX είναι φτηνότερο. Τα πλεονεκτήματα του TX έναντι του HX είναι: Υποστήριξη για SDRAM Ανώτερος χρονισμός μνήμης όταν χρησιμοποιεί SDRAM. Υποστήριξη για DMA mode 3, επιτρέποντας γρηγορότερους ρυθμούς μεταφοράς για τους οδηγούς. Λιγότερη κατανάλωση ενέγρειας. Τα μειονεκτήματά του σε σχέση με το HX είναι: Έλλειψη υποστήριξης ισοτιμίας ή μνήμης με ECC. Έλλειψη υποστήριξης διπλού επεξεργαστή. Υποστήριξη μόνο για 256 MB κύριας μνήμης. Υποστήριξη μόνο για 64 MB κύριας μνήμης, που μπορεί να γραφεί στην κρυφή μνήμη. Λιγότεροι PCI καταχωρητές εισόδου-εξόδου. Έλλειψη ανεξάρτητου χρονισμού συσκευής για οδηγούς IDE/ATA. Λιγότερα υποστηριζόμενα slots στη μητρική πλακέτα για SIMM ή DIMM. 242

243 243 Intel 430TX Chipsets 5ης γενιάς (Pentium class) άλλων κατασκευαστών Το 1998, εμφανίστηκαν στην αγορά τρεις σημαντικοί κατασκευεαστές chipsets. Η πιο γνωστή εταιρία από αυτές είναι η Via Technologies, η οποία έχει γίνει ο μεγαλύτερος ανταγωνιστής της Intel. Τα chipsets της εταιρίας αυτής, πάντα ήταν πολύ ανταγωνιστικά αυτών της Intel, αλλά υπέφεραν από την γενική κυριαρχία της Intel στο χώρο των υπολογιστών, η οποία έχει ένα πολύ καλό όνομα. Οι άλλοι δύο κατασκευαστές είναι η SiS (Silicon Integrated Systems) και η ALi (Acer Labs Inc). Αυτές οι εταιρίες παλιά είχαν "εκτοπιστεί" από την Intel και τώρα προσπαθούν να κάνουν μία καλή επιστροφή (εφόσον το socket 7παραμείνει ακόμη στην αγορά). Σαν αποτέλεσμα της υπάρξης αυτών των τριών εταιριών στο χώρο των chipsets έχουμε μια κατάσταση, στην οποία η κάθε μία προσπαθεί να ξεπεράσει την άλλη και έτσι τα Pentium chipsets, που δεν είναι της Intel, εξελίσονται με έναν εκπληκτικό ρυθμό. Chipset της Via Tecnologies

244 6 η Γενιά (Prentium Pro/ II Class) 244 Εισαγωγή Αν όπως είπαμε, η Intel κυριάρχησε στον κόσμο των Pentium chipsets, αυτή η κυριαρχία της είναι πολύ περισσότερο ορατή στα Pentium Pro / Pentium II chipsets. Η Intel αύξησε σταδιακά την επιτυχία της στην αγορά των Pentiums και δεδομένης της πολύ καλής της γνώσης για τους Pentiums Pro, ήταν ικανή να κυκλοφορήσει την ίδια στιγμή και το chipset για τον επεξεργαστή αυτό. Το Pentium Pro ήταν από την αρχή σχεδιασμένο να είναι ένα chip για servers και γενικά για πολυεπεξεργασία. Intel 450GX/KX ("Orion") Το πρώτο Pentium Pro chipset της Intel ήταν στην πραγματικότητα ένα ζεύγος από chipsets και ονομαζόταν "Orion". Αυτά τα chipsets ήταν υψηλής απόδοσης και αρκετά ακριβά. Το 450GX ονομάζεται επίσης και "έκδοση server" (αν και στην ουσία το KX είναι πολύ καλύτερο για πολλούς servers). Υποστηρίζει πολλά χαρακτηριστικά, τα οποία δεν βρίσκονται σε άλλα chipsets, συμπεριλαμβανομένης και υποστήριξης για 8 GB μνήμη τετραπλής διαφύλλωσης (4-way interleaved memory), επεξεργαστές quad Pentium Pro και δύο διαφορετικούς PCI διαύλους. Το 450KX είναι η workstation έκδοση του Orion και υποστηρίζει διπλούς επεξεργαστές και μόνο 1 GB μνήμη διπλής διαφύλλωσης (2-way interleaved memory). Και τα δύο chipsets υπστηρίζουν ισοτιμία και ECC μνήμη. Intel 440FX ("Natoma") Η συντριπτική πλειοψηφία των Pentium Pro μητρκών πλακετών χρησιμοποιούν το chipset 440FX, το οποίο προσφερόταν σαν ο κύριος αντικαταστάτης του 450KX Orion. Από άποψη χαρακτηριστικών, το Pentium 430HX "Triton II" chipset, προσφέρει βελτιωμένη απόδοση σε σχέση με το Orion, σε πολύ χαμηλότερο κόστος. Ωστόσο, δεν έχει ιδιαίτερες ικανότητες σε σχέση με το 450GX, κάτι που κάνει το δεύτερο καταλληλότερο για εφαρμογές υψηλής απόδοσης. Το μεγαλύτερο μειονέκτημα του FX chipset είναι ότι δεν περιλαμβάνει ενσωματωμένες τις νεότερες τεχνολογίες. Αυτό σημαίνει έλλειψη υποστήριξης για Ultra DMA και SDRAM. Με το νέο ειδικό Pentium II 440LX chipset να είναι το κυρίαρχο, πολύ λίγοι υπολογιστές Pentium II παράγονται, οι οποίοι να χρησιμοποιούν το chipset 440FX. Intel 440LX Το chipset της Intel είναι 440LX είναι ειδικά σχεδιασμένο για τον επεξεργαστή της, Pentium II. Ο Pentium II ανακοινώθηκε μερικούς μήνες πριν από το 440LX και τότε οι Pentium II μητρικές πλακέτες χρησιμοποιούσαν το παλαιότερο 44FX chipset. Αυτό το chipset δεν ήταν σχεδιασμένο για Pentium II, ενώ το 440LX ήταν και επίσης έχει βελτιστοποιηθεί για να πάρει τα πλεονεκτήματα της αρχιτεκτονικής του. Συγκριτικά με το 44FX, το 44LX προσφέρει αρκετές βελτιώσεις. Οι σημαντικότερες είναι: Είναι το πρώτο Intel chipset που υποτίθεται ότι υποστηρίζει το νέο πρότυπο AGP (Accelerated Graphics Port) για αυξημένη απόδοσης video και συγκεκριμένα 3D γραφικά. Υποστήριξη για μνήμη SDRAM, η πρώτη φορά που η μνήμη αυτή υποστηρίζεται από Pentium Pro ή Pentium II.

245 Υποστήριξη για πρότυπο Ultra DMA Interface σκληρών δίσκων. Υποστήριξη για USB (Universal Serial Bus) interface. Βελτιωμένη απόδοση, ειδικά για Pentium II. Φυσικά, το 440LX χρησιμοποιείται στις τελευταίες και καλύτερες Pentium II μητρικές πλακέτες και υποστηρίζει τη συσκευασία SEC αυτών των επεξεργαστών. 245

246 Λειτουργίες Ελεγκτή Πληκτρολογίου και Super I/O Controller 246 Λειτουργίες του ελεγκτή πληκτρολογίου (Keyboard controller) Οι πρώτοι υπολογιστές χρησιμοποιούσαν έναν ελεγκτή της Intel, τον 8042, για να διασυνδέονται με το πληκτρολόγιο. Ο ελεγκτής πάνω στη μητρική πλακέτα διασυνδέεται με έναν παρόμοιο ελεγκτή πάνω στο πληκτρολόγιο, χρησιμοποιώντας μία ειδική σειριακή σύνδεση. Πολλοί σύγχρονοι υπολογιστές εξομοιώνουν τον 8042, για λόγους συμβατότητας, αντί να χρησιμοποιούν διαφορετικό ελεγκτή πάνω στη μητρική. Επίσης, μερικά Super I/O chips είναι πολύ περισσότερο ενοποιημένα, ενσωματώνοντας πάνω τους και τις λειτουργίες ελέγχου του πληκτρολογίου. Αυτό φυσικά εξαφανίζει την ανάγκη για ένα διαφορετικό chip ελεγκτή πληκτρολογίου. Ο ελεγκτής πληκτρολογίου παρέχει στον υπολογιστή αρκετές λειτουργίες. Έλεγχος πληκτρολογίου και μετάφραση Προφανώς, ο ελεγκτής πληκτρολογίου είναι το κύκλωμα που ελέγχει το πληκτρολόγιο. Όταν λαμβάνει ένα σήμα από τον ελεγκτή του ίδιου του πληκτρολογίου, στέλνει σήμα στον επεξεργαστή χρησιμοποιώντας μία αίτηση διακοπής, που είναι ορισμένη για το πληκτρολόγιο (IRQ 1). Ο επεξεργαστής μεταφράζει το πλήκτρο που πατήθηκε και ασχολείται ειδικά μ' αυτό. Ο ελεγκτής επίσης, διαχειρίζεται το ρυθμό αυτόματης λήψης σημάτων. Αυτός είναι ο ρυθμός, με τον οποίο ο ελεγκτής λαμβάνει σήματα, αναγνωρίζει δηλαδή πατήματα πλήκτρων, όταν ένα πλήκτρο κρατάται πιεσμένο για μια συνεχόμενη χρονική περίοδο. Υποστήριξη ποντικιού PS/2 Ο ελεγκτής πληκτρολογίου διαχειρίζεται τις εισόδους από το ποντίκι, τύπου PS/2, το οποίο υπάρχει στους περισσότερους νέους υπολογιστές. Αυτός είναι ακριβώς ο τρόπος που σχεδίασε η IBM, όταν έφτιαξε αυτό το πρότυπο με την δική της γραμή PS/2. Προσπέλαση στην υψηλή περιοχή μνήμης Η ονομαζόμενη "υψηλή περιοχή μνήμης" είναι τα πρώτα 64 KB της μνήμης. Η προσπέλαση σ' αυτήν την ειδική περιοχή της μνήμης μπορεί να γίνει από το DOS παρά το γεγονός ότι δεν είναι μέρος των παραδοσιακών 640 KB συνηθισμένης μνήμης, λόγω της παράξενης σχεδίασης ροής στα αρχικά IBM AT. Όταν ο περιορισμός των 640 KB τους DOS γίνεται πολύ "αποπνικτικός", η χρήση αυτής της ειδικής περιοχής για αποθήκευση στην συνηθισμένη μνήμη γίνεται ένα πολύ καλό πλεονέκτημα. Η προσπέλαση αυτής της περιοχής μέσω της "Α20 γραμμής" (Η 21η είναι γραμμή διεύθυνσης), ελέγχεται από τον ελεγκτή του πληκτολογίου (κυρίως στα παλιότερα συστήματα),ωστόσο, πολλά νέα chipsets ενσωματώνουν αυτήν την υποστήριξη για να βελτιώσουν την απόδοση. Λειτουργίες του Super I/O controller Ο super I/O ελεγκτής είναι ένα ξεχωριστό chip, που μοιάζει πολύ με το chipset του συστήματος και εκτελεί πολλές λειτουργίες, οι οποίες χρειάζονταν περισσότερα μέρη του hardware στο παρελθόν. Αυτό απλουστεύει τη σχεδίαση και μειώνει το κόστος. Το super I/O chip είναι συνήθως υπεύθυνο για τον έλεγχο των περιφερειακών χαμηλής ταχύτητας, τα οποία υπάρχουν σε κάθε υπολογιστή. Από τη στιγμή που αυτά έχουν τυποποιηθεί, είναι συνήθως τα ίδια σε κάθε υπολογιστή και είναι πιο εύκολο να ενοποιηθούν σε ένα μόνο

247 chip, αντί να ανυσηχούμε για αυτά σε κάθε μητρική πλακέτα. Οι νεότεροι υπολογιστές μερικές φορές ενοποιούν αυτές τις λειτουργίες ακόμη περισσότερο και περιλαμβάνουν στο super I/O chip όχι μόνο τις παραπάνω λειτουργίες αλλά και το χρονιστή του συστήματος, ελεγκτή πληκτρολογίου και σε μερικές περιπτώσεις ακόμη και ελεγκτές σκληρών δίσκων IDE. 247 Έλεγχος σειριακής θύρας Super I/O Controller Το super I/O chip ελέγχει τις σειριακές θύρες επικοινωνίας και περιλαμβάνει τα UARTs, τα οποία κάνουν τη λειτουργία των θυρών. Σχεδόν όλα τα σύγχρονα chips παρέχουν το υψηλής απόδοσης UART, το οποίο περιλαμβάνει καταχωρητή 16-byte FIFO. Ελεγκτής οδηγού εύκαμπτου δίσκου Η υποστήριξη για οδηγούς εύκαμπτων δίσκων (δισκετών) παρέχεται από το super I/O chip. Νεώτερα μοντέλα υποστηρίζουν ρυθμό μεταφοράς 1.0 MB/sec και παρέχουν επίσης υποστήριξη για 2.88 MB οδηγό εύκαμπτων δίσκων, αν και αυτοί ο οδηγοί δεν είναι ακόμη πολύ διαδεδομένοι. Οι μαγνητικές ταινίες επίσης χρησιμοποιούν το ίδιο interface.

248 Επιπρόσθετες Λειτουργίες Μητρικής Πλακέτας 248 Eισαγωγή Σε μερικές μητρικές πλακέτες, συμπεριλαμβάνεται ένα κύκλωμα, το οποίο εκτελεί συνηθισμένες λειτουργίες που βρίσκονται σε πολλές περιπτώσεις πάνω στις κάρτες επέκτασης. Αυτό έχει και τα πλεονεκτήματα του αλλά και τα μειονεκτήματά του, κάτι το οποίο εξαρτάται από το τι περιλαμβάνει, πως κάνει τις διάφορες λειτουργίες και τι θέλουμε εμείς να κάνει. Γενικά, το ενσωματωμένο κύκλωμα έχει το πλεονέκτημα του χαμηλού κόστους και το μειονέκτημα της περιορισμένης επιλογής και δυνατότητας αναβάθμισης. Ολοκληρωμένη κάρτα γραφικών Η ολοκληρωμένη κάρτα γραφικών είναι ένα από τα πιο συνηθισμένα ολοκληρωμένα κυκλώματα ελεγκτών πάνω στη μητρική πλακέτα και δυστυχώς το χειρότερο. Η κάρτα γραφικών είναι ένα από τα πιο σημαντικά (σε σχέση με την απόδοση) χαρακτηριστικά ενός υπολογιστή. Υλοποιώντας όμως, αυτό το κύκλωμα πάνω στη μητρική πλακέτα, εξαλείφουμε τη δυνανότητα επιλογής μιας κάρτας, η οποία θα καλύπτει ακριβώς τις ιδιαίτερες ανάγκες μας. Επιπλέον, τέτοιες μητρικές πλακέτες είναι πολύ δύσκολο να αναβαθμιστούν. Πολλές από αυτές, οι οποίες έχουν την επιλογή απενεργοποίησης του κυκλώματος γραφικών πάνω στη μητρική πλακέτα, έχουν ακόμη και τότε προβλήματα με επιπρόσθετες κάρτες αναβάθμισης, όπως φυσικά και αυτά που δεν έχουν την επιλογή αυτή. Σε υπολογιστές που δεν είναι και τόσο προχωρημένης τεχνολογίας, τα ενσωματωμένα κυκλώματα γραφικών μπορεί να μειώσουν το κόστος, με την μη αγορά ξεχωριστής κάρτας γραφικών, ακόμη και τη μη ύπαρξη του ιδίου του slot πάνω στη μητρική πλακέτα. Αυτές οι μητρικές πλακέτες συχνά έρχονται εξοπλισμένες σε μορφή LPX από τον κατασκευαστή, για να εξοικονομείται χώρος και κόστος. Ολοκληρωμένη κάρτα ήχου Ολοκληρωμένος ελεγκτής κάρτας γραφικών Η υποστήριξη ολοκληρωμένων καρτών ήχου είναι αρκετά συνηθισμένη, κυρίως σε υπολογιστές με ονόματα που ορίζονται από τους πωλητές λιανικής. Οι περισσότερες. ολοκληρωμένες πάνω στη μητρική πλακέτα, κάρτες ήχου περιλαμβάνουν τα περισσότερα βασικά στοιχεία των καρτών SoundBlaster. Ωστόσο, οι κάρτες αυτές χρησιμοποιούν πολλές πηγές του συστήματος και μπορεί να προκαλέσουν πολλά προβλήματα, όταν είναι χαμηλής

249 ποιότητας, τα οποία προβλήματα είναι δύσκολο να ανακαλυφθούν. Οι περισσότερες τέτοιες κάρτες, παρέχουν αρκετή λειτουργικότητα, χωρίς να προσεγγίζουν όμως την ποιότητα και τις ικανότητες των ξεχωριστών καρτών ήχου. Ολοκληρωμένη διασύνδεση δικτύου 249 Ολοκληρωμένοι προσαρμοστές δικτύου είναι σχετικώς σπάνιοι στις μητρικές πλακέτες αν και σε αρκετές περιπτώσεις μπορεί να είναι το λιγότερο προβληματικό (από όσα είπαμε) κύκλωμα που είναι ολοκληρωμένο πάνω στη μητρική πλακέτα, το οποίο συναγωνίζεται τα συνηθισμένα πρότυπα (όπως το ΝΕ συμβατό με 10 Mb/s Ethernet) και έρχεται με πολύ καλούς οδηγούς. Επιπλέον, με generic NE2000 προσαρμοστές οι οποίοι πωλούνται πολύ φτηνά, οι μητρικές αυτές είναι πολύ καλές επιλογές. Ωστόσο, αν θέλουμε να πάμε σε ένα 100 Mb/s fast Ethernet, θα πρέπει πιθανώς να έχουμε μια κάρτα δικτύου PCI και θα πρέπει να απενεργοποιήσουμε το ολοκληρωμένο κύκλωμα κάρτας, που υπάρχει πάνω στη μητρική πλακέτα. Ολοκληρωμένος προσαρμοστής δικτύου Ολοκληρωμένος SCSI ελεγκτής Οι ολοκληρωμένοι ελεγκτές SCSI πάνω στη μητρική πλακέτα, είναι πολύ καλοί, αν και μόνο αν, παρέχουν υποστήριξη για όλους τους τύπους SCSI που χρησιμοποιούμε και φυσικά με την προϋπόθεση ότι δεν σχεδιάζουμε αναβάθμιση των προτύπων SCSI με νεότερα. Ένα από τα σημαντικότερα προβλήματα με το SCSI είναι ο μεγάλος αριθμός των συνεχώς αλλαγμένων προτύπων και πρωτοκόλλων.

250 Εισαγωγή Πόροι Συστήματος Γενικά 250 Στην ενότητα αυτή εξετάζουμε λεπτομερώς τους πόρους συστήματος των προσωπικών υπολογιστών. Κατά κάποιο τρόπο, οτιδήποτε υπάρχει σε έναν υπολογιστή είναι ένας πόρος (μνήμη RAM, ταχύτητα επεξεργαστή, χωρητικότητα δίσκου, κλπ). Ωστόσο, υπάρχουν συγκεκριμένοι πόροι σε ένα σύστημα, οι οποίοι χρησιμοποιούνται από διάφορες συσκευές που το σύστημα αυτό περιέχει. Αυτοί δεν κυρίως "φυσικά μέρη" του συστήματος, αν και έχουν ένα κομμάτι hardware προκειμένου να υλοποιηθούν. Περισσότερο είναι λογικά μέρη του συστήματος τα οποία ελέγχουν το πως αυτό δουλεύει και αναφέρονται ως πόροι συστήματος. Οι πόροι συστήματος είναι σημαντικοί επειδή πρέπει να χρησιμοποιούνται (να διαμοιράζονται) από δίαφορες συσκευές του υπολογιστή. Αυτό περιλαμβάνει όχι μόνο τη μητρική πλακέτα και άλλα κύρια εξαρτήματα, αλλά και συσκεύες επέκτασης, ενσωματωμένες κάρτες και περιφερειακά. Οι πόροι χρησιμοποιούνται κυρίως για επικοινωνίες και μεταφορές πληροφορίας μεταξύ αυτών των συσκευών. Για ιστορικούς λόγους, η ποσότητα μερικών από αυτούς τους πόρους είναι περιορισμένη και καθώς τοποθετούμε περισσότερα περιφερειακά στο σύστημά μας, μπορεί να είναι δύσκολο να βρούμε διαθέσιμους πόρους για να ικανοποιήσουμε τις νέες απαιτήσεις που δημιουργούνται. Αυτό οδηγεί στις λεγόμενες συγκρούσεις πόρων, οι οποίες είναι ένα από τα πιο κοινά προβλήματα στη διαμόρφωση των σύγχονων υπολογιστών και συνήθως δύσκολο να εντοπισθούν και να διορθωθούν.

251 Διακοπές (Interrupts) Διακοπές: Εισαγωγή Οι διακοπές είναι οι πιο γνωστοί πόροι συστήματος, αφού σχεδόν όλοι όσοι ασχολούνται με υπολογιστές έχουν ακούσει για αυτές. Μία διακοπή είναι βασικά κάτι σαν μήνυμα από κάποιο μέρος του υπολογιστή σε κάποιο άλλο (συνήθως τον επεξεργαστή), το οποίο του λέει ότι πρέπει να σταματήσει αυτό που κάνει και να ασχοληθεί μαζί του. Ένα IRQ είναι μία αίτηση διακοπής (Interrupt ReQuest) και είναι το όνομα του πραγματικού σήματος που χρησιμοποιείται όταν ένα περιφερειακό ζητά μια διακοπή από τον επεξεργαστή. Οι διακοπές παίζουν έναν σημαντικό ρόλο στον τρόπο με τον οποίο ο επεξεργαστής εκτελεί επεξεργασία εισόδου/εξόδου και διασυνδέεται με κάθε περιφερειακό του υπολογιστή, από το ποντίκι μέχρι το σκληρό δίσκο και το modem. Διακοπές και επεξεργασία πληροφοριών Ο επεξεργαστής είναι μία συσκευή υψηλής συχνότητας, η οποία είναι σχεδιασμένη να κάνει ένα πράγμα κάθε στιγμή. Ωστόσο, σήμερα χρησιμοποιούμε τους υπολογιστές μας κατά έναν τρόπο, ο οποίος κάνει τον επεξεργαστή να φαίνεται ότι κάνει πολλές λειτουργίες την ίδια χρονική στιγμή. Αν χρησιμοποιούμε ένα λειτουργικό σύστημα πολυεργασίας, όπως Windows 95, μπορούμε να κάνουμε το έξής: την ίδια στιγμή να αποθηκεύουμε ένα αρχείο από το Internet, να γράφουμε ένα κείμενο στο Word και να ακούμε ένα μουσικό CD. Ο επεξεργαστής είναι ικανός να κάνει κάτι τέτοιο, μοιράζοντας το χρόνο του μεταξύ των διαφόρων προγραμμάτων που τρέχουν και των διαφόρων συσκευών που χρειάζονται την προσοχή του. Πρέπει όμως να τονίσουμε πως απλά φαίνειται ότι ο επεξεργαστής κάνει πολλά πράγματα την ίδια στιγμή επειδή η εναλλαγή μεταξύ των διαφόρων λειτουργιών γίνεται σε πολύ υψηλή ταχύτητα και ο χρόνος που δίνεται σε κάθε μία (λειτουργία) είναι πολύ μικρός. Τα περισσότερα μέρη ενός υπολογιστή χρειάζεται να στείλουν πληροφορία στον επεξεργαστή, αλλά και να πάρουν πληροφορία από αυτόν. Αυτό προϋποθέτει μια ικανότητα του επεξεργατή να δίνει την προσοχή του σε κάθε συσκευή όταν αυτή τη χρειάζεται. Ο επεξεργαστής πρέπει να ισορροπεί τις μεταφορές πληροφορίας που κάνει από διάφορες συσκευές του υπολογιστή και να εξασφαλίσει ότι οι μεταφορές αυτές θα γίνονται με έναν οργανωμένο τρόπο, ώστε να αποφεύγονται προβλήματα τα οποία θα μπορούσαν να δημιουργήσουν μια κατάσταση χάους στο σύστημα. Υπάρχουν δύο τρόποι με του οποίους ο επεξεργαστής θα μπορούσε να κάνει κάτι τέτοιο: Εκ περιτροπής (Pooling): Ο επεξεργαστής θα μπορούσε να κάνει "περιστροφές", πηγαίνοντας σε κάθε συσκευή και ρωτώντας την αν χρειάζεται την προσοχή του. Αυτό ονομάζεται pooling (εξυπηρέτηση εκ περιτροπής) και χρησιμοποιείται σε πολύ λίγες περιπτώσεις στον κόσμο των υπολογιστών (κυρίως σε δίκτυα αλλά με κάποιες αλλαγές), αλλά όχι για τον επεξεργαστή των υπολογιστών και αυτό γίνεται για πολλούς λόγους. Ένας λόγος είναι ότι η τεχνική αυτή είναι σπάταλη. Πηγαίνοντας ο επεξεργαστής "γύρω-γύρω" σε κάθε συσκευή και ρωτώντας αν αυτή θέλει την προσοχή του θα έχουμε "απώλεια κύκλων" στους οποίους ο επεξεργαστής θα μπορούσε να κάνει κάτι άλλο. Αυτό είναι και η πραγματικότητα γιατί στις περισσότερες περιπτώσεις η απάντηση από τις συσκευές είναι "όχι". Ένας άλλος λόγος είναι ότι διαφορετικές συσκευές χρειάζονται την προσοχή του επεξεργαστή σε διαφορετικές συχνότητες (π.χ. το ποντίκι χρειάζεται την προσοχή του επεξεργαστή σε πολύ μικρότερη συχνότητα από ό,τι ο σκληρός δίσκος όταν μεραφέρει δεδομένα). 251

252 Με διακοπές (Interrupting): Ο άλλος τρόπος με τον οποίο ο επεξεργαστής μπορεί να διαχειριστεί μεταφορές πληροφορίας είναι να αφήνει τις συσκευές να ζητούν την προσοχή του όταν θέλουν να κάνουν κάτι. Αυτή είναι η βάση της χρήσης διακοπών. Όταν μία συσκευή έχει δεδομένα προς μεταφορά, παράγει μία διακοπή η οποία λέει στον επεξεργαστή: "χρειάζομαι την προσοχή σου". Τότε, ο επεξεργαστής σταματά ό,τι έκανε και ασχολείται με τη συσκευή που έκανε την αίτηση διακοπής. Στην πραγματικότητα, μπορεί να διαχειριστεί πολλές τέτοιες διακοπές σε κάθε στιγμή, χρησιμοποιώντας επίπεδα προτεραιοτήτων για κάθε συσκευή. Ίσως φαίνεται μη αποδοτικό το να τρέχει ένας επεξεργαστής αφήνοντας κάθε συσκευή να τον διακόπτει κάθε τόσο. Θα αναφέρουμε όμως ένα παράδειγμα για να καταλάβουμε την αναγκαιότητα λειτουργίας με την τεχνική αυτή. Έστω ότι σε έναν υπολογιστή των 200 MHz πληκτρολογεί μία πολύ γρήγορη γραμματέας, η οποία μπορεί να γράφει 120 λέξεις σε ένα λεπτό. Αν κάθε λέξη έχει κατά μέσο όρο 5 χαρακτήρες, τότε σε κάθε λεπτό θα έχουμε 600 χαρακτήρες από το πληκτρολόγιο να πρέπει να περάσουν στον επεξεργαστή. Ο υπολογιστής αυτός μπορεί να επεξεργαστεί 20,000,000 εντολές μεταξύ κάθε πατήματος ενός πλήκτου στο πληκτολόγιο σύμφωνα με τον παραπάνω ρυθμό. Έτσι μπορούμε να δούμε γιατί το να έχουμε τον επεξεργαστή να ρωτά το πληκτρολόγιο κάθε στιγμή αν αυτό χρειάζεται την προσοχή του, είναι κάτι πολύ σπάταλο, ειδικά από τη στιγμή που η γραμματέας κάθε ένα ή δύο λεπτά θα σταματά για να εξετάζει το κείμενό της ή να κάνει κάτι άλλο. Πέραν όμως των διακοπών από το hardware, που εξετάζουμε εδώ, υπάρχουν και οι διακοπές που προκαλούνται από το software (διακοπές λογισμικού / software interrupts). Αυτές είναι διακοπές διαφόρων προγραμμάτων προς ανταπόκριση διαφόρων γεγονότων που συμβαίνουν καθώς οι εφαρμογές τρέχουν. Στην ουσία, αυτές οι διακοπές αντιπροσωπεύουν την αυτοδιακοπή του επεξεργαστή. Αυτό είναι μέρος του τρόπου με τον οποίο ο επεξεργαστής μπορεί να κάνει πολλά πράγματα την ίδια στιγμή. Το άλλο πράγμα που κάνουν οι διακοπές λογισμικού, είναι να επιτρέπουν σε ένα πρόγραμμα να προσπελάσει ένα άλλο χωρίς να ξέρει που βρίσκεται αυτό στην κύρια μνήμη. 252

253 Διακοπές: Λειτουργεία και Χαρακτηριστικά 253 Ελεγκτές διακοπών Οι διακοπές των συσκευών φτάνουν στον επεξεργαστή χρησιμοποιώντας ένα τμήμα hardware που ονομάζεται ελεγκτής διακοπών (interrupt controller). Το πρότυπο για τη συσκευή αυτή είναι ο 8259 ελεγκτής διακοπών της Intel και υπάρχει από τις πρώτες μέρες των PCs. Όπως και οι περισσότεροι αφοσιωμένοι ελεγκτές, στις σύγχρονες μητρικές πλακέτες ο 8259 είναι, στις περισσότερες περιπτώσεις, ενσωματωμένος σε ένα μεγαλύτερο chip ως μέρος του chipset συστήματος. Ο ελεγκτής διακοπών έχει 8 γραμμές εισόδου οι οποίες παίρνουν αιτήσεις από 8 διαφορετικές συσκευές. Τότε ο ελεγκτής περνά αυτές τις αιτήσεις στον επεξεργαστή, λέγοντάς του ποιά συσκευή ζήτησε την προσοχή του, κάτι το οποίο γίνεται με τον αριθμό γραμμής που έγινε η αίτηση (από το 0 μέχρι το 7). Το αρχικό XT PC είχε μόνο έναν τέτοιο ελεγκτή και ως εκ τούτου μπορούσε να χρησιμοποιεί μόνο 8 διακοπές. Από το IBM AT PC και ύστερα, ένας δεύτερος ελεγκτής προστέθηκε και έτσι το σύστημα επεκτάθηκε, κάτι το οποίο ήταν μέρος της επέκτασης του διαύλου ISA από 8 σε 16 bits. Προκειμένου να διασφαλίσουν τη συμβατότητα, οι σχεδιαστές του AT δεν ήθελαν να αλλάξουν τη σχεδίαση της μίας διακοπής που έφτανε στον επεξεργαστή. Έτσι αυτό που έκαναν ήταν να συνδέσουν τους δύο ελεγκτές στη σειρά. Ο πρώτος ελεγκτής διακοπών έχει 8 εισόδους και μία έξοδο που πηγαίνει στον επεξεργαστή, ενώ ο δεύτερος έχει την ίδια σχεδίαση, δηλαδή 8 εισόδους (διπλασιάζοντας τον αριθμό διακοπών) και μία έξοδος, αλλά η έξοδος αυτή προσάπτεται στην είσοδο 2 του πρώτου ελεγκτή. Αν οποιαδήποτε από τις εισόδους του δεύτερου ελεγκτή γίνει ενεργή, η έξοδος από αυτόν τον ελεγκτή προκαλεί δράση στην είσοδο 2 του πρώτου ελεγκτή, ο οποίος στέλνει αυτήν την αίτηση στον επεξεργαστή. Τι γίνεται όμως με το IRQ2; Η γραμμή αυτή τώρα χρησιμοποιείται για το δεύτερο ελεγκτή, έτσι οι σχεδιαστές άλλαξαν την καλωδίωση πάνω στη μητρική πλακέτα και στέλνουν τις συσκευές που χρησιμοποιούν το IRQ2 στον IRQ9, έτσι κάθε συσκευή που εγκαθιστούμε και χρησιμοποιεί το IRQ2, στην πραγματικότητα θα χρησιμοποιεί το IRQ9. Σήμερα είναι δύσκολο να βρούμε συσκευές που να χρησιμοποιούν το IRQ2 ως κύρια ρύθμιση μιας και αυτό έχει τεθεί εκτός χρήσης για περισσότερο από 10 χρόνια. Στις περισσότερες περιπτώσεις το IRQ2 θεωρείται "άχρηστο", ενώ το IRQ9 είναι μία κανονική γραμμή διακοπής. Ωστόσο, μερικά modems για παράδειγμα, ακόμη αναφέρονται στο IRQ2 σαν έναν τρόπο για να ξεπεράσουν το γεγονός ότι οι COM3 και COM4 μοιράζονται τις ίδιες διακοπές με τις COM1 και COM2 εξ ορισμού.

254 254 Δίαυλοι και γραμμές IRQs Ελεγκτής διακοπών (16 IRQs) Οι συσκευές οι οποίες χρησιμοποιούν διακοπές, τις ενεργοποιούν με σήματα πάνω στις γραμμές του διαύλου ISA. Οι περισσότερες από τις διακοπές παρέχονται στο δίαυλο για χρήση από τις συσκευές. Ωστόσο, μερικές από αυτές χρησιμοποιούνται εσωτερικά από το σύστημα και επομένως δεν τους δίνονται γραμμές πάνω στον ISA δίαυλο. Αυτές είναι οι διακοπές 0, 1, 2, 8, 9 και 13 οι οποίες ποτέ δεν είναι διαθέσιμες για κάρτες επέκτασης. Όπως είπαμε στην ενότητα για το διαύλο ISA, ο αρχικός δίαυλος είχε εύρος 8 bits και έναν μόνο συνδετήρα για κάρτες επέκτασης. Όταν ο δίαυλο επεκτάθηκε από 8 σε 16 bits, ένας δεύτερος συνδετήρας προστέθηκε δίπλα στον πρώτο. Η πρόσθεση αυτού του επιπλέον συνδετήρα συνέπεσε με την πρόσθεση ενός δεύτερου (όπως είπαμε) ελεγκτή διακοπών και οι γραμμές για αυτά τα επιπλέον IRQs τοποθετήθηκαν σε αυτόν το δεύτερο συνδετήρα. Αυτό σημαίνει ότι προκειμένου να προσπελάσουμε οποιοδήποτε από αυτά τα επιπλέον IRQs (10, 11, 12, 14, 15) η κάρτα πρέπει να έχει και τους δύο αυτούς συνδετήρες. Ενώ καμία σχεδόν μητρική πλακέτα δεν έχει σήμερα σχισμές διαύλου των 8 bits, υπάρχουν κάποιες κάρτες επέκτασης οι οποίες ακόμη χρησιμοποιούν μόνο ένα συνδετήρα ISA. Το πιο κοινό παράδειγμα για κάτι τέτοιο είναι τα εσωτερικά modems. Οι κάρτες αυτές μπορούν να χρησιμοποιήσουν μόνο τα IRQs 3, 4, 5, 6 και 7 (αν και το IRQ6 δεν είναι ποτέ διαθέσιμο μιας και πάντα χρησιμοποιείται από τον ελεγκτή του εύκαμπτου δίσκου). Μπορούν επίσης να χρησιμοποιήσουν και το IRQ9 έμμεσα, αν έχουν τη δυνατότητα να χρησιμοποιήσουν το IRQ2, μιας και αυτό, όπως είπαμε, διακλαδώνεται στο IRQ9. Να πούμε εδώ ότι όλα όσα είπαμε έχουν ισχύ στις υποδοχές μόνο του διαύλου ISA και του VLB. Οι υποδοχές του PCI διαχειρίζονται τις διακοπές διαφορετικά, χρησιμοποιώντας το δικό τους εσωτερικό σύστημα διακοπών. Αν μία PCI κάρτα χρειάζεται να χρησιμοποιήσει μια κανονική γραμμή

255 διακοπής, το BIOS θα "χαρτογραφήσει" την διακοπή PCI σε μία κανονική διακοπή συστήματος. Αυτό συνήθως γίνεται με τη χρήση των IRQs 9 ως 12. Προτεραιότητα διακοπής 255 Ο υπολογιστής επεξεργάζεται τις διακοπές συσκευών σύμφωνα με το επίπεδο προτεραιότητας που αυτές έχουν. Αυτό είναι μία λειτουργία της γραμμής διακοπής που χρησιμοποιούν για να φτάσουν στον ελεγκτή διακοπών. Για το λόγο αυτό, τα επίπεδα προτεραιότητας βρίσκονται άμεσα στον αριθμό διακοπής: Σε έναv παλιό XT υπολογιστή, η προτεραιότητα των διακοπών είναι 0, 1, 2, 3, 4, 5, 6, 7. Σε έναν σύγχρονο υπολογιστή, είναι ελαφρώς πιο πολύπλοκη. Ας θυμηθούμε ότι το δεύτερο σύνολο διακοπών είναι διασωληνωμένο μέσω του IRQ2 στον πρώτο ελεγκτή διακοπών. Αυτό σημαίνει ότι ο πρώτος ελεγκτής βλέπει όλες αυτές τις διακοπές σαν να έχουν την ίδια προτεραιότητα, του δικού του δηλαδή IRQ2. Το αποτέλεσμα αυτού είναι να έχουν μια διαβάθμιση των προτεραιοτήτων κατά τον ακόλουθο τρόπο: 0, 1, (8, 9, 10, 11, 12, 13, 14, 15), 3, 4, 5, 6, 7. Τα IRQ8 ως IRQ15 παίρνουν τη θέση του IRQ2. Σε έναν υπολογιστή πάντως, δεν είναι το επίπεδο προτεραιότητας των IRQs που κάνει την διαφορά στην απόδοσή του, έτσι δεν είναι κάτι για το οποίο θα πρέπει να ανυσηχούμε. Non-Maskable Interrupts (NMI) Διαβάθμιση προτεραιοτήτων των IRQs Όλες οι κανονικές διακοπές οι οποίες χρησιμοποιούνται και αναφέρονται με τον αριθμό τους, ονομάζονται maskable interrupts. Ο επεξεργαστής είναι ικανός να "κρύψει" ή να αγνοήσει προσωρινώς οποιαδήποτε τέτοια διακοπή που τον καλεί, προκειμένου να τελειώσει κάτι άλλο που κάνει εκείνη τη στιγμή και που πιθανώς να είναι πιο σημαντικό αυτό που "λέει" η διακοπή. Ωστόσο, υπάρχουν σε ένα PC και διακοπές που δεν μπορούν να "κρυφτούν" ή να αγνοηθούν, οι οποίες ονομάζονται non-maskable interrupts (NMI) και μπορούν να χρησιμοποιηθούν για μια σειρά από προβληματικές καταστάσεις, οι οποίες απαιτούν την άμεση απασχόληση του επεξεργαστή. Ένα NMI δεν μπορεί να αγνοηθεί από το σύστημα αν δεν τερματιστεί η λειτουργία του.

256 Όταν ληφθεί ένα σήμα NMI, ο επεξεργαστής αμέσως σταματά οτιδήποτε και αν κάνει και ασχολείται με τη διακοπή αυτή. Όπως μπορούμε να φανταστούμε, αν το σύστημα αυτό δεν χρησιμοποιείται σωστά θα προκαλέσει χάος σε έναν υπολογιστή. Στην πραγματικότητα ένα NMI σήμα χρησιμοποιείται συνήθως για σημαντικά προβλήματα, όπως διαδοχικά προβλήματα του hardware. Η πιο συνηθισμένη περίπτωση που θα παραγόταν μία τέτοια διακοπή είναι σε λάθος ισοτιμίας από το υποσύστημα της κύριας μνήμης. Αυτό το λάθος πρέπει να αντιμετωπιστεί αμέσως γιατί διαφορετικά θα προκληθεί αλλοίωση δεδομένων. Διακοπές, πολλαπλές συσκευές και συγκρούσεις Γενικά, οι διακοπές είναι πόροι μιας συσκευής. Εξ αιτίας του τρόπου που είναι σχεδιασμένος ο δίαυλος δεν είαι εύκολο για περισσότερες της μίας συσκευής να χρησιμοποιούν την ίδια διακοπή την ίδια χρονική στιγμή. Αυτό μπορεί να προκαλέσει σύγχυση στον επεξεργαστή και να τον κάνει να ανταποκρίνεται σε λάθος συσκευή και σε λάθος χρονική στιγμή. Αν προσπαθήσουμε να χρησιμοποιήσουμε δύο συσκευές με το ίδιο IRQ, θα προκύψει μία σύγκρουση IRQ. Αυτός είναι ένας τύπος από τις συγκρούσεις πόρων. Είναι δυνατό να μοιράσουμε ένα IRQ μεταξύ περισσοτέρων της μίας συσκευής, αλλά μόνο κάτω από συγκεκριμένες συνθήκες. Στην ουσία, αν έχουμε δύο συσκευές οι οποίες χρησιμοποιούνται σπάνια και ποτέ ταυτόχρονα, μπορούμε να τις ορίσουμε να χρησιμοποιούν το ίδιο IRQ. Ωστόσο, αυτή η μέθοδος δεν είναι και πολύ καλή αφού είναι πολύ επιρεπής στα προβλήματα και είναι φυσικά πολύ πιο αποδοτικό να έχει κάθε συσκευή το δικό της IRQ. Ένα από τα πιο γνωστά προβλήματα σχετικά με το διαμοιρασμό των IRQs είναι η χρήση της 3ης και 4ης θύρας (COM3, COM4), μιας και εξ ορισμού, η COM3 χρησιμοποιεί την ίδια διακοπή με την COM1 (IRQ4), και η COM4 την ίδια διακοπή με την COM2 (IRQ3). Περίληψη των IRQs και οι συνηθισμένες χρήσεις τους Ο παρακάτω πίνακας παρέχει πληροφορίες σχετικά με τα 16 επίπεδα των IRQs που υπάρχουν τυπικά σε έναν προσωπικό υπολογιστή καθώς και τη χρήση που αυτά συνήθως έχουν: 256

257 257 IRQ Γραμμή διαύλου Προτεραιότητα Συνήθης εξ ορισμού χρήση 0 όχι 1 Χρονιστής συστήματος 1 όχι 2 Ελεγκτής πληκτρολογίου 2 όχι Δεν είναι διαθέσιμο Καμία. Υποδέχεται τα IRQs από 8 ως 15. Αντικαταστάθηκε από το IRQ 9 3 8/16-bit 11 COM2 4 8/16-bit 12 COM1 5 8/16-bit 13 Κάρτα ήχου 6 8/16-bit 14 Ελεγκτής Εύκαμπτου δίσκου 7 8/16-bit 15 LPT1 8 όχι 3 Real-time clock 9 16-bit μόνο bit μόνο bit μόνο bit μόνο 6 7 PS/2 mouse 13 όχι 8 Floating Point Unit (FPU / NPU / Μαθηματικός συνεπεξεργαστής) bit μόνο bit μόνο 9 Κανάλι Primary IDE 10 Κανάλι Secondary IDE

258 Κανάλια Άμεσης Προσπέλασης Συστήματος (DMA): Λειτουργία και Χαρακτηριστικά 258 Κανάλια άμεσης προσπέλασης μνήμης (Direct Access Memory (DMA) Channels) Τα κανάλια άμεσης προσπέλασης μνήμης είναι "δρόμοι" του συστήματος που χρησιμοποιούνται από πολλές συσκευές για να μεταφέρουν πληροφορίες από και προς τη μνήμη με άμεσο τρόπο. Τα DMA κανάλια δεν είναι τόσο γνωστά όσο τα IRQs, ως πόροι συστήματος. Αυτό συμβαίνει κυρίως για τον εξής λόγο: είναι πολύ λιγότερα και χρησιμοποιούνται από πολύ λιγότερες συσκευές, ως εκ τούτου προκαλούν λιγότερα προβλήματα κατά την εγκατάσταση ενός συστήματος. Ωστόσο, συγκρούσεις στα κανάλια DMA μπορούν να προκαλέσουν πολύ σημαντικά προβλήματα, τα οποία είναι πολύ δύσκολο να εντοπιστούν. Τα DMAs χρησιμοποιούνται σήμερα κυρίως από οδηγούς εύκαμπτων δίσκων, οδηγούς μαγνητικών ταινιών και κάρτες ήχου. Κανάλια DMA για τη μεραφορά δεδομένων Όπως ξέρουμε, ο επεξεργαστής είναι ο "εγκέφαλος" του υπολογιστή. Στους πρώτους υπολογιστές έκανε σχεδόν τα πάντα. Πέραν του να τρέχει τα προγράμματα, ήταν υπεύθυνος και για τη μεταφορά δεδομένων από και προς τα περιφερειακά. Δυστυχώς, το να έχουμε τον επεξεργαστή να κάνει τέτοιες μεταφορές είναι κάτι μη αποδοτικό, επειδή τότε είναι ανίκανος να κάνει κάτι άλλο. Η ανακάλυψη του DMA κατέστησε τις συσκευές ικανές να μπορούν μόνες τους να κάνουν αυτές τις μεταφορές, επιτρέποντας στον επεξεργαστή να κάνει άλλες λειτουργίες, κάτι που οδήγησε σε μία εκπληκτική αύξηση της απόδοσης του συστήματος. Για την ακρίβεια δημιουργήθηκαν ειδικά κανάλια, μαζί με κυκλώματα για να τα ελέγχουν, τα οποία επέτρεψαν τη μεταφορά πληροφορίας χωρίς ο επεξεργαστής να ελέγχει κάθε τι που γινόταν κατά τη διάρκεια αυτών των μεταφορών. Αυτό το κύκλωμα είναι συνήθως μέρος του chipset πάνω στη μητρική πλακέτα. Πρέπει εδώ να πούμε ότι τα κανάλια DMA υπάρχουν μόνο στον δίαυλο ISA (όπως και στον VLB και τον EISA που είναι παράγωγα του αρχικού ISA), ενώ οι συσκευές PCI δεν έχουν τα τυπικά κανάλια DMA. Third-Party και First-Party DMA (Διαχείριση διαύλου) Το πρότυπο DMA, μερικές φορές ονομάζεται και "third-party" DMA. Αυτό αναφέρεται στο γεγονός ότι το σύστημα ελεγκτή του DMA είναι στην πραγματικότητα αυτό που κάνει τις μεταφορές (τα δύο πρώτα μέρη είναι ο αποστολέας και ο παραλήπτης της μεταφοράς). Υπάρχει επίσης ένας τύπος DMA που ονομάζεται "first-party" DMA. Στην περίπτωση αυτή, το περιφερειακό είναι αυτό που πραγματικά κάνει τη μεταφορά και παίρνει τον έλεγχο του διαύλου για να εκτελέσει αυτή τη μεταφορά. Αυτό όπως ήδη έχουμε πει ονομάζεται και διαχείριση διαύλου (Bus mastering). Η διαχείριση διαύλου παρέχει πολύ καλύτερη απόδοση από το κανονικό DMA, επειδή οι σύγχρονες συσκευές έχουν εξυπνότερα και γρηγορότερα κυκλώματα DMA ενσωματωμένα σ' αυτές, από ό,τι υπάρχουν στον παλιό πρότυπο ελεγκτή DMA. Τώρα είναι διαθέσιμα νεότερα DMA modes, όπως Ultra DMA, το οποίο παρέχει πολύ υψηλούς ρυθμούς μεταφοράς.

259 Περιορισμοί του προτύπου DMA 259 Αν και η χρήση του DMA παρείχε μία σημαντική βελτίωση σε σχέση με τις μεταφορές που ήταν ελεγχόμενες από τον επεξεργαστή, υπάρχει και κάποιο σημείο στο οποίο η απόδοσή του γίνεται ένας περιοριστικός παράγοντας. Το DMA στο δίαυλο ISA έχει παραμείνει στο ίδιο επίπεδο απόδοσης για 10 περίπου χρόνια. Για τους παλιούς 10 MB XT σκληρούς δίσκους, το DMA ήταν ό,τι καλύτερο. Για τους σύγχρονους δίσκους των 8 και πάνω GB, που μεταφέρουν πολλά MB το δευτερόλεπτο, το DMA είναι μη αποδοτικό. Σε νεότερα συστήματα, οι δίσκοι ελέγχονται χρησιμοποιώντας είτε προγραμματισμένη είσοδος/έξοδος (Programmed I/O, PIO), είτε first-party DMA (διαχείριση διαύλου) σε δίαυλο PCI και όχι χρησιμοποιώντας κανονικό ISA DMA το οποίο χρησιμοποιείται για συσκευές όπως κάρτες ήχου. Αυτός ο τύπος DMA δεν βασίζεται σε αργούς ISA ελεγκτές DMA και επιτρέπει σε αυτές τις υψηλής απόδοσης συσκευές να έχουν το εύρος ζώνης που θέλουν. Στην πραγματικότητα, πολλές από τις συσκευές που συνήθιζαν να χρησιμοποιούν DMA στο δίαυλο ISA, χρησιμοποιούν διαχείριση διαύλου στο δίαυλο PCI για καλύτερη απόδοση. Αυτό περιλαμβάνει νεότερες υψηλού επιπέδου κάρτες SCSI και επίσης κάρτες δικτύου αλλά και video. Ελεγκτές DMA Οι τυπικές μεταφορές DMA διαχειρίζονται από τον ελεγκτή DMA, ο οποίος είναι συνήθως ενσωματωμένος στο chipset στους σύγχρονους υπολογιστές. Το αρχικό XT είχε έναν από αυτούς τους ελεγκτές και υποστήριζε 4 κανάλια DMA, από 0 ως 3. Στον IBM AT, προστέθηκε ένας δεύτερος ελεγκτής DMA, με τον ίδιο τρόπο που προστέθηκε και ο δεύτερος ελεγκτής διακοπών που ήταν συνδεδεμένος σειριακά με τον πρώτο. Ο πρώτος ελεγκτής DMA ήταν συνδεδεμένος σειριακά με το δεύτερο. Η διαφορά σε σχέση με την πρόσθεση δεύτερου ελεγκτή διακοπών, είναι ότι εκείνος ήταν συνδεδεμένος πίσω από τον πρώτο, ενώ εδώ ο πρώτος είναι συνδεδεμένος πίσω από τον δεύτερο. Αποτέλεσμα αυτού είναι να υπάρχουν 8 κανάλια DMA, από το 0 ως το 7, αλλά το DMA 4 δεν είναι χρησιμοποιήσιμο. Δεν υπάρχει διακλάδωση όπως με το IRQ2 και το IRQ9, επειδή όλα τα αρχικά DMAs (0-3) ακόμη χρησιμοποιούνται απευθείας. Δίαυλοι και κανάλια DMA Όλα τα κανάλια DMA, εκτός του καναλιού 4, είναι προσπελάσιμα από συσκευές πάνω σε ένα δίυλο ISA. Το κανάλι 4 χρησιμοποιείται για να συνδέει σειριακά τους δύο ελεγκτές DMA. Οι συσκευές PCI δεν χρησιμοποιούν στάνταρ DMA κανάλια. Όπως και στην περίπτωση των διακοπών, ο δεύτερος ελεγκτής DMA προστέθηκε όταν ο δίαυλος ISA επεκτάθηκε από 8 σε 16 bits με την δημιουργία του AT. Οι γραμμές προσπέλασης αυτών των επιπλέον κανανλιών DMA τοποθετήθηκαν στο δεύτερο μέρος του AT slot το οποίο χρησιμοποιείται από κάρτες των 16 bits. Αυτό σημαίνει ότι μόνο κάρτες των 16 bits μπορούν να προσπελάσουν τα επιπλέον κανάλια 5, 6 και 7, αλλά πολλές συσκευές ακόμη και σήμερα είναι σε κάρτες των 8 bits. Αιτήσεις DMA (DMA ReQuest / DRQ) και DMA βεβαιώσεις λήψης (DMA acknowlagement / DACK) Κάθε κανάλι DMA περιέχει δύο σήματα: το σήμα αίτησης DMA (DRQ) και το σήμα επιβεβαίωσης λήψης DMA (DACK). Μερικές κάρτες περιφερειακών έχουν ξεχωριστά jumpers για αυτό, αντί για ένα μοναδικό jumper καναλιού DMA. Σε αυτήν την περίπτωση πρέπει να προσέξουμε το DRQ και το DACK να είναι ορισμένα με τον ίδιο αριθμό, διαφορετικά η συσκευή δεν θα δουλεύει.

260 DMA, πολλαπλές συσκευές και συγκρούσεις 260 Όπως και οι διακοπές, τα κανάλια DMA είναι πόροι μιας συσκευής. Αν δύο συσκευές προσπαθούν να χρησιμοποιήσουν το ίδιο κανάλι DMA στην ίδια χρονική στιγμή, η πληροφορία των δύο συσκευών θα αναμειχθεί και αυτό θα προκαλέσει φυσικά μία σειρά από προβλήματα. Οι συγκρούσεις στα κανάλια DMA μπορεί να είναι πολύ δύσκολο να γίνουν αντιληπτές και να διορθωθούν. Ωστόσο, είναι δυνατό να μοιράσουμε το ίδιο κανάλι DMA σε περισσότερες από μία συσκευές, αλλά μόνο κάτω από ορισμένες συνθήκες. Στην ουσία, αν έχουμε δύο συσκεύες που τις χρησιμοποιούμε σπάνια και ποτέ ταυτόχρονα μπορούμε να τις ορίσουμε να έχουν το ίδιο κανάλι DMA. Αυτή η μέθοδος όμως δεν είναι η καλύτερη από τη στιγμή που πολλά προβλήματα μπορούν να συμβούν και εφόσον είναι πολύ πιο αποδοτικό η κάθε συσκευή να έχει το δικό της κανάλι DMA. Ένα πρόβλημα με τα κανάλια DMA είναι ότι πολλές συσκευές θέλουν να χρησιμοποούν κανάλια DMA με αριθμούς από 0 ως 3, στον πρώτο δηλαδή ελεγκτή DMA. Τα κανάλια DMA από 5 ως 7 είναι σχετικώς άχρηστα επειδή απαιτούν κάρτες των 16 bits. Λαμβάνοντας υπόψη ότι το DMA κανάλι 0 δεν είναι ποτέ διαθέσιμο και το DMA 2 χρησιμοποιείται για τον ελεγκτή του εύκαμπτου δίσκου, πρέπει να πούμε ότι δεν υπάρχουν και πολλές επιλογές. Κανάλια DMA και συνηθισμένες χρήσεις τους Ο παρακάτω πίνακας δείχνει μερικές πληροφορίες για τα 8 κανάλια DMA που υπάρχουν σε ένα τυπικό προσωπικό υπολογιστή: DMA Γραμμή διαύλου Συνήθης εξ ορισμού χρήση Άλλες συνηθισμένες χρήσεις 0 Όχι Ανανέωση μνήμης Καμία 1 8/16 bit Κάρτα ήχου (Low DMA) Ελεγκτές SCSI, ECP παράλληλη θύρα, επιταχυντής μαγνητικής ταινίας, κάρτα δικτύου, modems 2 8/16 bit Ελεγκτής floppy disk Κάρτες επιταχυντών μαγνητικών ταινιών 3 8/16 bit Καμία ECP παράλληλη θύρα, Ελεγκτές SCSI, κάρτα δικτύου, επιταχυντής μαγνητικής ταινίας, ελεγκτής σκληρού δίσκου σε PC/XT, κάρτα ήχου 4 Όχι Καμία, σειριακή σύνδεση για τα DMAs μόνο 16 bit Κάρτα ήχου (High DMA) Καμία Ελεγκτές SCSI, κάρτα δικτύου 6 μόνο 16 bit Καμία Κάρτα ήχου, κάρτα δικτύου 7 μόνο 16 bit Καμία Κάρτα ήχου, κάρτα δικτύου

261 Διευθύνσεις Ε/Ε: Εισαγωγή 261 Γενικά Οι διευθύνσεις εισόδου/εξόδου (I/O addresses) είναι πόροι που χρησιμοποιούνται από κάθε συσκευή στον υπολογιστή. Από άποψη ιδέας είναι πολύ απλό, αντιπροσωπεύουν περιοχές στη μνήμη οι οποίες είναι ορισμένες για χρήση από διάφορες συσκευές ώστε να ανταλλάσουν πληροφορία μεταξύ των ιδίων και των υπολοίπων μερών του υπολογιστή. Χαρτογραφημένη μνήμη εισόδου/εξόδου Μπορούμε να φανταστούμε τις διευθύνσεις Ε/Ε (εισόδου/εξόδου) σαν μία ομάδα από μικρά αμφίδρομα ταχυδρομικά κουτιά μέσα στη μνήμη του συστήματος. Ας πάρουμε για παράδειγμα μία θύρα επικοινωνιών (COM), η οποία έχει ένα modem να συνδέεται σ' αυτή. Όταν λαμβάνεται πληροφορία από το modem, πρέπει να περάσει από τη θύρα στον υπολογιστή, ο οποίος πρέπει να αποφασίσει που θα τοποθετήσει τα δεδομένα που λαμβάνει από την τηλεφωνική γραμμή. Μία απάντηση στο πρόβλημα αυτό είναι να δώσει σε κάθε συσκευή τη δική της περιοχή στη μνήμη για να δουλεύει μ' αυτή. Αυτό ονομάζεται χαρτογραφημένη μνήμη εισόδου/εξόδου (memory-mapped I/O). Όταν το modem λαμβάνει ένα byte δεδομένων, το στέλνει μέσω της θύρας επικοινωνίας στη μνήμη και της δίνει την περιοχή των διευθύνσεων εισόδου/εξόδου. Όταν ο επεξεργαστής είναι έτοιμος να επεξεργαστεί τα δεδομένα, ξέρει που πρέπει να ψάξει για να τα βρει. Όταν αργότερα θέλει να στείλει πληροφορία μέσω του modem, χρησιμοποιεί ξανά αυτές τις διευθύνσεις. Αυτός είναι ένας πολύ απλός τρόπος για να ληθεί το πρόβλημα εναλλαγής πληροφοριών μεταξύ των διαφόρων συσκευών. Εύρος χώρου διευθύνσεων εισόδου/εξόδου Αντίθετα από τα IRQs και τα κανάλια DMAs, τα οποία είναι συγκεκριμένου αριθμού και είναι συνήθως ορισμένα ένα για κάθε συσκευή, εκτός από τις κάρτες ήχου οι οποίες χρησιμοποιούν περισσότερα από ένα, επειδή στην πραγματικότητα είναι πολλές συσκευές τοποθετημένες σε μια συσκευασία, οι διευθύνσεις Ε/Ε ποικίλουν όσον αφορά το μέγεθος. Ο λόγος είναι απλός: μερικές συσκευές (κάρτες δικτύου) έχουν πολύ περισσότερη πληροφορία να ανταλλάξουν από κάποιες άλλες (πληκτρολόγιο). Το μέγεθος των διευθύνσεων Ε/Ε καθορίζεται σε μερικές περιπτώσεις από τη σχεδίαση της κάρτας και συνήθως από λόγους συμβατότητας με παλιότερες συσκευές. Οι περισσότερες συσκευές χρησιμοποιούν ένα χώρο διευθύνσεων Ε/Ε της τάξεως των 4, 8 ή 16 bytes. Μερικές χρησιμοποιούν λιγότερο, όπως ένα byte, ενώ κάποιες άλλες πολύ περισσότερο, όπως 32 ή και περισσότερο. Η μεγάλη αυτή ποικιλία στο μέγεθος του χώρου διευθύνσεων Ε/Ε μπορεί να κάνει πολύ δύσκολο τον καθορισμό και τη λύση συγκρούσεων πόρων, επειδή συχνά οι διευθύνσεις Ε/Ε αναφέρονται μόνο στο πρώτο byte της διεύθυνσης Ε/Ε. Για παράδειγμα λέμε πολλές φορές ότι πρέπει να βάλουμε την κάρτα δικτύου στη διεύθυνση (360) 16 (το 16 σημαίνει ότι ο αριθμός αυτός είναι στο δεκαεξαδικό σύστημα. Για λόγους ευκολίας τις διευθύνσεις της μνήμης θα τις αναφέρουμε απλά με τον αριθμό χωρίς να δηλώνεται, αλλά να εννοείται, ότι είναι στο δεκαεξαδικό σύστημα αρίθμησης) για να μην συγκρούεται με την παράλληλη θύρα LPT1 που είναι στη διεύθυνση 378. Στην πραγματικότητα, πολλές κάρτες δικτύου καταλαμβάνουν πάνω από 32 bytes για περιοχή Ε/Ε. Αυτό σημαίνει ότι ο χώρος των διευθύνσεων Ε/Ε υπερκαλύπτει το χώρο της παράλληλης θύρας. Διευθύνσεις Ε/Ε, πολλαπλές συσκευές και συγκρούσεις Οι διευθύνσεις Ε/Ε, όπως και άλλοι πόροι συστήματος, χρησιμοποιούνται συνήθως μόνο από μία συσκευή. Το να έχουμε πολλές συσκευές να προσπαθούν να καταλάβουν τον ίδιο

262 χώρο διευθύνσεων την ίδια στιγμή, μπορεί να προκαλέσει ανάμειξη πληροφορίας και επανεγγραφή, άρα απώλεια πληροφοριών. Ωστόσο, υπάρχουν μερικές ασυνήθιστες εξαιρέσεις με αυτό, κυρίως για ιστορικούς λόγους. Ένα από τα προβλήματα με τις διευθύνσεις Ε/Ε και τις συγκρούσεις είναι απλώς το να κρατούμε στοιχεία για όλα αυτά. Μπρορεί να είναι πολύ πολύ δύσκολο να δουλέψουν σωστά, ειδικά από τη στιγμή που διαφορετικές συσκευές χρησιμοποιούν διαφορετικά μεγέθη σε χώρους διευθύνσεων. Οι διευθύνσεις Ε/Ε υποφέρουν από το ίδιο πρόβλημα με τα IRQs και τα κανάλια DMA: πολλές συγκρούσεις συμβαίνουν όχι επειδή δεν υπάρχουν αρκετές διυθύνσεις Ε/Ε, αλλά επειδή δεν είναι διανεμημένες ή τοποθετημένες με οργανωμένο τρόπο. Πολλές συσκευές προσπαθούν να χρησιμοποιήσουν τις ίδιες διευθύνσεις Ε/Ε, ή έχουν πολύ λίγες διαφορετικές επιλογές διαμόρφωσης για να τους επιτρέψουν να βρούν ένα διαφορετικό μέρος να χρησιμοποιούν χωρίς να πέρνει ή μία την θέση της άλλης. Αυτό γίνεται κυρίως για ιστορικούς λόγους. Εδώ πρέπει να πούμε και κάτι άλλο για τις παράλληλες θύρες. Οι διευθύνσεις Ε/Ε που χρησιμοποιούνται από διαφορετικές παράλληλες θύρες (LPT1, LPT2, LPT3) δεν είναι ίδιες παγκοσμίως. Αρχικά, η ΙΒΜ όρισε διαφορετικά στάνταρς για μονόχρωμα συστήματα και διαφορετικά για έγχρωμα. Φυσικά, όλα τα σύγχρονα συστήματα είναι έγχρωμα, ωστόσο υπάρχουν ακόμη μερικά συστήματα τα οποία έχουν ως στάνταρ την LPT1 στη διεύθυνση 3BC. Παρακάτω υπάρχει ένας πίνακας ο οποίος δείχνει αυτά που είπαμε: 262 Θύρα Μονόχρωμα συστήματα Έγχρωμα συστήματα LPT1 3BC-3BF F LPT F F LPT F -

263 Λογικές Συσκευές 263 Γενικά Μερικές συσκευές έχουν και μία φυσική διεύθυνση και ένα λογικό όνομα. Οι δύο πιο κοινοί τύποι συσκευών που δουλεύουν με αυτόν τον τρόπο είναι οι σειριακές θύρες (COM1 - COM4) και οι παράλληλες θύρες (LPT1 - LPT3). Στην πραγματικότητα, και οι σκληροί δίσκοι ονομάζονται επίσης με αυτό τον τρόπο, A:, C: κλπ. Ο σκοπός αυτής της λογικής ονομασίας είναι για να κάνουμε πιο εύκολη την αναφορά στις συσκευές αυτές χωρίς να πρέπει να ξέρουμε τις διευθύνσεις της κάθε μίας. Είναι πολύ πιο απλό για το λογισμικό να είναι ικανό να αναφέρεται σε μία COM θύρα με το όνομά της παρά με μία διεύθυνση. Ορισμός λογικού ονόματος Τα λογικά ονόματα των συσκευών ορίζονται από το BIOS κατά τη διάρκεια του POST (power-on self test), όταν γίνεται η εκκίνηση του υπολογιστή. Το BIOS ψάχνει για συσκευές με διευθύνσεις Ε/Ε κατά μία προκαθορισμένη σειρά και τους ορίζει δυναμικά ένα λογικό όνομα, σε αριθμητική σειρά. Ο ακόλουθος πίνακςς δείχνει τους κανονικούς ορισμούς για τις θύρες COM σε σειρά: Θύρα Διεύθυνση Ε/Ε Εξ ορισμού IRQ COM1 3F8-3FF 4 COM2 2F8-2FF 3 COM3 3E8-3EF 4 COM4 2E8-2EF 3 Για τις παράλληλες θύρες η διαδικασία αυτή είναι ελαφρώς πιο πολύπλοκη. Αρχικά, η IBM όρισε διαφορετικά στάνταρς για μονόχρωμα συστήματα και διαφορετικά για έγχρωμα. Εδώ υπάρχει ένας πίνακας που δείχνει πως δουλεύουν οι δύο διαφορετικές ονομασίες: Θύρα Μονόχρωμα συστήματα Έγχρωμα συστήματα Εξ ορισμού IRQ LPT1 3BC-3BF F 7 LPT F F 5 LPT F - 5 Προβλήματα με τα λογικά ονόματα συσκευών Τα περισσότερα προβλήματα που εμφανίζονται με τη χρήση των λογικών ονομώτων των συσκευών, είναι όταν προστήθονται συσκευές ή αφαιρούνται από ένα σύστημα. Το πιο γνωστό πρόβλημα είναι ότι το λογισμικό αρνείται να δουλέψει επειδή το λογικό όνομα της συσκευής ορίζεται σε μία συσκευή που έχει αλλάξει ως αποτέλεσμα του γεγονότος ότι μία συσκευή έχει προστεθεί ή αφαιρεθεί από το σύστημα. Πολλά προγράμματα αναφέρονται σε μία συσκευή με το όνομά της, όπως για παράδειγμα "LPT1". Ωστόσο, τα ονόματα ορίζονται, όπως είπαμε, δυναμικά από το BIOS κατά τη διάρκεια εκκίνησης του υπολογιστή,

264 όταν ψάχνει να βρει το hardware που έχει ο υπολογιστής. Αν αρχικά είχαμε την "LPT1" στην περιοχή F και προσθέσουμε μία νέα παράλληλη θύρα δίνοντάς της την περιοχή 3BC- 3BF, τότε η νέα θύρα θα είναι η LPT1 και η παλιά θύρα θα είναι η LPT2. Αυτό συμβαίνει, όπως αναφέρθηκε πιο πριν, επειδή οι θύρες ονομάζονται δυναμικά, κατά μία προκαθορισμένη σειρά αναζήτησης και το 3BC είναι πριν από το 378, πιθανώς η σειρά αναζήτησης είναι από το τέλος προς την αρχή. Όταν συμβαίνει αυτό, όλα τα προγράμματα του υπολογιστή που χρησιμοποιούν τον εκτυπωτή με όνομα LPT1, τώρα θα στέλνουν τα δεδομένα προς εκτύπωση στο LPT2 και είτε θα πρέπει να αλλάξουμε τις συνδέσεις των συσκευών στον υπολογιστή, είτε να αλλάξουμε τις ρυθμίσεις στο λογισμικό. Διευθύνσεις μνήμης και BIOSes συσκευών Αν και οι διευθύνσεις μνήμης δεν θεωρούνται στην πραγματικότητα κανονικ πόροι συστήματος, όπως οι άλλοι που αναφέρθηκαν προηγουμένως, θα κάνουμε εδώ μια περιληπτική εξέταση. Μερικές συσκευές, πέραν της χρήσης γραμμών διακοπής, καναλιών DMA και διευθύνσεων Ε/Ε, απαιτούν κάποιο χώρο στην upper memory area (ανώτερη περιοχή μνήμης) για δική τους χρήση. Όπως και με άλλους πόρους, προβλήματα και συγκρούσεις είναι δυνατό να προκύψουν αν προσπαθήσουμε να μοιράσουμε την ίδια περιοχή μνήμης σε δύο διαφορετικές συσκευές, ή αν για παράδειγμα προσπαθήσουμε να χρησιμοποιήσουμε αυτή την περιοχή για προγράμματα, όταν τη χρειάζεται και ένας προσαρμοστής. Οι συσκευές που χρησιμοποιούν μια περιοχή μνήμης, τη χρησιμοποιούν γενικώς για το δικό τους BIOS, το οποίο περιέχει κώδικα ώστε να ελέγχει τη συσκευή και καλείται με άμεσες κλήσεις ή με κλήσεις από το εσωτερικό BIOS συστήματος. Τα BIOSes αυτά χαρτογραφούνται στην upper memory area σε συγκεκριμένες θέσεις, το BIOS ψάχνει εκεί για αυτές και όταν τις βρίσκει τις εκτελεί. Η διαδικασία αυτή είναι μέρος της διαδικασίας εκκίνησης του συστήματος (system boot process). Υπάρχουν τρία πρότυπα BIOSes τα οποία βρίσκονται στα περισσότερα σημερινά συστήματα και εγκαθίστανται σχεδόν με τον ίδιο τρόπο: System BIOS: Το κυρίως BIOS εγκαθίσταται σε ένα block μνήμης 64 KB από τη διεύθυνση F0000 μέχρι FFFFF. VGA video BIOS: Αυτό είναι το BIOS που ελέγχει την κάρτα γραφικών. Συνήθως εγκαθίσταται στην περιοχή της μνήμης που ορίζεται από τις διευθύνσεις C0000 μέχρι C7FFF και έχει μέγεθος 32 KB. IDE hard disk BIOS: Είναι το BIOS που ελέγχει το σκληρό δίσκο, αν έχουμε IDE στο σύστημά μας εγκαθίσταται στην περιοχή από C8000 μέχρι CBFFF. Η πιο γνωστή ενσωματωμένη συσκευή που χρησιμοποιεί μία αφοσιωμένη περιοχή μνήμης για το δικό της BIOS είναι ο ελεγκτής SCSI. Αυτή η περιοχή είναι εξ ορισμού από τη διεύθυνση C8000 ως CBFFF, η οποία θα συγκρουστεί με έναν οδηγό IDE, ο οποίος επίσης υπάρχει στο σύστημα, αλλά μπορεί να διαμορφωθεί να χρησιμοποιεί διαφορετική περιοχή, όπως η περιοχή από D0000 ως D7FFF. Επιπλέον, οι κάρτες δικτύου που έχουν την ικανότητα να εκκινούν τον υπολογιστή μέσω του δικτύου, συνήθως χρησιμοποιούν μία περιοχή της μνήμης για το boot BIOS. Να σημειώσουμε εδώ, ότι πολλά συστήματα χρησιμοποιούν διαχειριστές μνήμης (π.χ EMM386) για να επιτρέπουν σε αχρησιμοποιήτη μνήμη RAM στην upper memory area να χρησιμοποιείται από προγράμματα, για να εξοικονομηθεί συμβατική μνήμη. Αν έχουμε έναν τέτοιο διαχειριστή στο σύστημα και προσθέσουμε μια νέα συσκευή η οποία χρειάζεται μερική από την upper memory για το δικό της BIOS, ίσως πρέπει να βάλουμε μία παράμετρο στο διαχειριστή μνήμης που να τον ενημερώνει ότι δεν πρέπει να προσπαθεί να χρησιμοποιήσει χώρο που ίσως να χρειάζεται η συσκευή αυτή. 264

265 Διαμόρφωση Προσωπικού Υπολογιστή 265 Γενικά Η διαμόρφωση ενός συστήματος υπολογιστή είναι η διαδικασία εγκατάστασης των συσκευών hardware και ο ορισμός των πόρων σε αυτές, ώστε να δουλεύουν μαζί χωρίς προβλήματα. Ένα σωστά διαμορφωμένο σύστημα μας επιτρέπει να αποφύγουμε δυσάρεστες συγκρούσεις και να κάνουμε ευκολότερη τη διαδικασία μιας πιθανής αναβάθμισης του συστήματος με νεότερα εξαρτήματα στο μέλλον. Ένα μη σωστά διαμορφωμένο σύστημα από την άλλη, θα έχει πολλά προβλήματα και λάθη και θα είναι πολύ πιο δύσκολη η διαδικασία αναβάθμισής του στο μέλλον. Ορισμός πόρων σε συσκευές Πολλές συσκευές έχουν σταθερές ρυθμίσεις πόρων, οι οποίες δεν μπορούν να αλλάξουν και οι περισσότερες συσκευές του συστήματος είναι τέτοιες. Επιπλέον, είναι γενικά καλύτερο να μην αλλάζουμε τις ρυθμίσεις των πόρων για στάνταρ συσκευές, όπως οι ελεγκτές IDE σκληρών δίσκων, αν δεν ξέρουμε πραγματικά τι κάνουμε και φυσικά να υπάρχει κάποιος σοβαρός λόγος που θέλουμε να κάνουμε κάτι τέτοιο. Οι ακόλουθες συσκευές έχουν συνήθως ρυθμίσεις πόρων οι οποίες βρίσκονται στο hardware και δεν μπορούν να αλλαξουν: συσκευές συστήματος, πληκτρολόγιο, ποντίκι τύπου PS/2, ελεγκτής εύκαμπτου δίσκου, ελεγκτής primary IDE, κάρτα γραφικών. Οι ρυθμίσεις των άλλων συσκευών μπορούν γενικά να αλλάξουν, αν και για μερικές συσκευές έχουν καλύτερα αποτελέσματα από ό,τι σε κάποιες άλλες. Υπάρχουν πολλοί διαφορετικοί τρόποι που συνήθως χρησιμοποιούνται για την αλλαγή των ρυθμίσεων των πηγών για τις διάφορες συσκευές: Ρυθμίσεις Hardware: Οι ρυθμίσεις των πόρων σε μερικές κάρτες, ειδικά στις παλιότερες, γίνονται από το hardware πάνω στις ίδιες τις συσκευές. Αυτό περιλαμβάνει αλλαγή των ρυθμίσεων στα jumpers και τους διακόπτες, πάνω στην πλακέτα κυκλωμάτων της συσκευής, για να οριστούν οι πόροι που θα χρησιμοποιεί. Αυτό είναι παρόμοιο με τον τρόπο διαμόρφωσης των περισσοτέρων μητρικών πλακετών. Η διαμόρφωση μέσω hardware έχει το μεγάλο μειονέκτημα του ότι έχει πολύ δουλειά όταν πρέπει να γίνουν κάποιες αλλαγές στη διαμόρφωση των πόρων: πρέπει να ανοίξουμε το κουτί του υπολογιστή και συνήθως να βγάλουμε την κάρτα για να κάνουμε εκεί τις αλλαγές στα jumpers. Ωστόσο, έχει ένα μεγάλο πλεονέκτημα: βεβαιότητα. Πάντα ξέρουμε ότι αν βάλουμε το jumper να λέει IRQ7, η κάρτα θα προσπαθεί να καταλάβει το IRQ7. Προγράμματα διαμόρφωσης λογισμικού: Πολλές νεότερες κάρτες, διαμορφώνονται χρησιμοποιώντας ειδικά προγράμματα διαμόρφωσης λογισμικού, τα οποία αποκτούμε όταν τις αγοράζουμε. Πρέπει να τρέξουμε το πρόγραμμα και να επιλέξουμε τους πόρους που θέλουμε να χρησιμοποιεί, τότε το πρόγραμμα γράφει την πληροφορία σε ειδική επανεγγραψιμη EEPROM που είναι τοποθετημένη στην συσκευή για το σκοπό αυτό. Αυτό είναι παρόμοιο με τον τρόπο που ένα flash BIOS χρησιμοποιείται για να αναβαθμίσει το BIOS συστήματος μέσω προγραμμάτων λογισμικού. Οι συσκευές που χρησιμοποιούν προγράμματα διαμόρφωσης, όπως αυτά, είναι πολύ περισσότερο βολικές από αυτές των οποίων οι ρυθμίσεις πρέπει να γίνουν σε επίπεδο hardware, κυρίως επειδή μπορούμε να κάνουμε αλλαγές χωρίς να πρέπει να ανοίξουμε το κουτί του υπολογιστή. Ωστόσο, έχουν το μειονέκτημα ότι εξαρτώνται κατά πολύ από το πρόγραμμα διαμόρφωσης.

266 Plug and Play: Οι νέες συσκευές οι οποίες χρησιμοποιούν Plug and Play (PnP) μπορούν να διαμορφωθούν αυτομάτως κάτω από συγκεκριμένες συνθήκες όταν χρησιμοποιούνται σε υπολογιστές οι οποίοι υποστηρίζουν PnP και έχουν ένα λειτουργικό σύστημα το οποίο επίσης υποστηρίζει PnP. Το PnP είναι μία προσπάθεια να εξαφανίσουμε τη μεγάλη ποσότητα δουλειάς που πρέπει να γίνει για τη ρύθμιση των πόρων και τη χρήση τους από τις συσκυές ώστε να μην υπάρχουν συγκρούσεις. Όταν το PnP δουλέψει σωστά, οι πόροι ορίζονται και ξαναορίζονται με δυναμικό τρόπο, αυτομάτως χωρίς να πρέπει να ανησυχούμε για το αν θα πρέπει να κάνουμε εμείς τη διαμόρφωση αυτή. Επιπλέον, η χρήση ενός PnP λειτουργικού συστήματος, όπως τα Windows 95, επιτρέπει την αλλαγή των ρυθμίσεων πηγών των συσκευών χρησιμοποιώντας τον ενσωματωμένο διαχειριστή συσκευών, ο οποίος μας δίνει την κυριαρχία του ελέγχου. 266 Προβλήματα με τις αλλαγές των εξ ορισμού ρυθμίσεων πηγών Θεωρητικώς, κάθε συσκευή θα έπρεπε να είναι ικανή να δουλέψει σε κάθε διαμόρφωση πηγών που υποστηρίζει. Δυστυχώς στην πραγματικότητα, αυτό δεν συμβαίνει πάντα. Ένας από τους κύριους λόγους είναι ότι το λογισιμικό μερικές φορές προϋποθέτει ότι πάντα είναι έτσι. Μερικές φορές, μία από αυτές τις υποθέσεις είναι ότι μία συσκευή θα χρησιμοποιεί την πηγή που έχει τεθεί εξ ορισμού. Αν αλλάξουμε αυτή τη ρύθμιση, το λογισμικό δεν θα δουλέψει σωστά. Αυτή η περίπτωση είναι πολύ περισσότερο εμφανής σε παλιότερα προγράμματα παρά σε καινούργια. Ένα από τα χειρότερα προβλήματα στον τομέα αυτό είναι με τις κάρτες ήχου και επίσης προγράμματα που προκαλούν αυτά τα προβλήματα είναι τα παιχνίδια. Τα παιχνίδια είναι εφαρμογές που απαιτούν μεγάλη απόδοση από το σύστημα και για να πετύχουν κάτι τέτοιο, συχνά δουλεύουν απευθείας με το hardware. Για να κάνουν κάτι τέτοιο, έχουν τα δικά τους προγράμματα οδήγησης συσκεών (drivers), τα οποία μερικές φορές δρούν γρήγορα και αποτελεσματικά μόνο αν με την υποστήριξη συσκευών στη δική τους εξ ορισμού θέση. Για το λόγο αυτό είναι καλύτερα να αφήνουμε την κάρτα ήχου να καταλαμβάνει τις εξ ορισμού πηγές και να αλλάζουμε τις ρυθμίσεις άλλων συσκευών για να αποφύγουμε συγκρούσεις και άλλα προβλήματα. Συγκρούσεις πηγών Όπως έχουμε πει σε πολλά σημεία του κεφαλαίου αυτού, ένα από τα μεγαλύτερα θέματα με τις πηγές συστήματος, είναι το να διαμορφώσουμε ένα σύστημα, έτσι ώστε οι διάφορες συσκευές του να μην παρεμβαίνουν η μία στην άλλη. Όταν περισσότερες συσκευές της μίας, προσπαθούν να χρησιμοποιήσουν την ίδια πηγή σε μία δεδομένη χρονική στιγμή, το αποτέλεσμα είναι η λεγόμενη σύγκρουση πηγών. Η φύση των συγκρούσεων Οι συγκρούσεις πηγών μπορούν να εμφανιστούν με πολλούς διαφορετικούς τρόπους. Μερικές από αυτές μπορεί να είναι πολύ έυκολες στη διάγνωση, ενώ κάποιες άλλες πολύ δύσκολο να βρεθούν και να διορθωθούν, κυρίως γιατί εμφανίζονται έμμεσα ή με συμπτώματα τα οποία δεν φαίνεται να έχουν καμία σχέση με τη συσκευή που προκάλεσε το πρόβλημα. Εδώ μπορούμε να δούμε μερικούς από τους τρόπους που οι συγκρούσεις εμφανίζονται μόνες τους. Κρέμασμα ή κλείδωμα του συστήματος, ειδικά αν χρησιμοποιούμε μία περιφερειακή συσκευή. Λάθη ισοτιμίας (στη μνήμη) σε συστήματα που ενεργοποιημένη ισοτιμια.

267 Εκτύπωση "σκουπιδιων" όταν εκτυπώνουμε στον εκτυπωτή. Ο κέρσορας του ποντικιού κολλά ή κινήται σε ακανόνιστη κατεύθυνση. Μυνήματα λάθους από τα Windows 95, μυνήματα ότι το σύστημα δεν λειτουργεί στο μέγιστο της απόδοσης που μπορεί, ή το σύστημα "πέφτει" σε "safe mode" ή "MS-DOS compatibility mode". Λάθη και άλλα προβλήματα σε εφαρμογές για άγνωσο λόγο. Όπως μπορούμε να δούμε, μερικά από τα προβλήματα αυτά μπορεί να οφείλωνται σε προβλήματα πηγών, αλλά και όχι. Για παράδειγμα, αν το ποντίκι δουλεύει ενώ προσπαθούμε να χρησιμοποιήσουμε το modem, πρέπει να δούμε ποιό είναι το πρόβλημα. Γενικά όταν προσθέτουμε μία καινούργια συσκευή στον υπολογιστή και κάτι δεν πάει καλά, το πιο πιθανό είναι η καινούργια συσκευή να χρησιμοποιεί κάποια πηγή που ως τότε χρησιμοποιούταν σωστά από κάποια άλλη συσκευή. 267 Plug and Play Η μεγάλη ποικιλία διαφορετικών καρτών που μπορούν να προστεθούν σε έναν υπολογιστή για να αυξήσουν τις ικανότητές του, είναι μαζί ευλογία και κατάρα. Όπως ήδη έχετε καταλάβει, το να ασχοληθούμε με τη διαμόρφωση του συστήματος και την αποφυγή συγκρούσεων πόρων, είναι κάτι πολύ κουραστικό και πολύ δύσκολο αφού στην αγορά υπάρχουν τόσες πολλές συσκευές, οι οποίες ακολουθούν διαφορετικά πρότυπα. Σε μία προσπάθεια να λυθεί αυτό το συνεχιζόμενο πρόβλημα, αναπτύχθηκε η προδιαγραφή Plug and Play (PnP) από την εταιρία Microsoft σε συνεργασία με την Intel αλλά και άλλους κατασκευαστές hardware. Ο στόχος του PnP είναι να δημιουργήσει ένα σύστημα υπολογιστή, του οποίου το Hardware και το software δουλεύουν μαζί για να διαμορφώνουν αυτομάτως τις συσκευές και τις ρυθμίσεις πόρων σε αυτές, ώστε να επιτρέπεται η εύκολη αλλαγή, αλλά και η προσθήκη νέου hardware, χωρίς να πρέπει εμείς να ασχοληθούμε με αυτό. Όπως λέει το όνομά του (τοποθετώ- μία συσκευή - και παίζει - μόνη της), ο σκοπός του PnP είναι όταν προσθέτουμε μία νέα συσκευή στον υπολογιστή να την καθιστά ικανή να αυτοδιαμορφώνεται και να μπορούμε να τη χρησιμοποιούμε αμέσως, χωρίς να κάνουμε εμείς τις απαραίτητες ρυθμίσεις χειρονακτικά. Ένα είδος PnP υπήρχε πραγματικά στους διαύλους EISA και MCA πολλά χρόνια πριν. Ωστόσο, κανένας από τους διαύλους αυτούς δεν έγινε ποτέ δημοφιλής. Το PnP έγινε η κυρίαρχη τάση από το 1995 με την εμφάνιση του λειτουργικού συστήματος Windows 95, αλλά και hardware σχεδιασμένο να δουλέψει μ' αυτό. Απαιτήσεις για PnP Η αυτόματη αναζήτηση και διαμόρφωση hardware δεν είναι καθόλου εύκολη δουλειά. Για να γίνει κάτι τέτοιο, απαιτείται συνεργασία από διάφορα μέρη του hardware και του software. Τα τέσσερα "μέλη" που πρέπει να είναι συμβατά με το PnP, ώστε αυτό να δουλέψει σωστά είναι: Harware συστήματος: Το hardware που έχουμε στο σύστημά μας, από το system chipset ως τους ελεγκτές διαύλων, πρέπει να είναι ικανό να διαχειριστεί συσκευές PnP. Για νεότερα PCI συστήματα, αυτή η ικανότητα είναι ενσωματωμένη, καθώς ο δίαυλος PCI σχεδιάστηκε έχοντας κατά νου την παράμετρο PnP. Τα περισσότερα τέτοια συστήματα, υποστηρίζουν PnP και για το δίαυλο ISA που διαθέτουν, με ειδικά κυκλώματα για να τους συνδέσουν μαζί και να διαμοιράζονται την πληροφορία πόρων. Παλιότερα PCs που είχαν μόνο ISA ή VLB, δεν υποστήριζαν καθόλου PnP.

268 Harware περιφερειακών: Οι συσκευές που προστίθενται σε ένα σύστημα πρέπει και οι ίδιες να υποστηρίζουν το PnP. Τώρα το PnP υποστηρίζεται από μία μεγάλη ποικιλία συσκευών, από modems και κάρτες δικτύου μέχρι εκτυπωτές και οθόνες. Αυτές οι συσκευές πρέπει να είναι ενήμερες για το PnP, έτσι ώστε να μπορούν να αυτοαναγνωριστούν όταν κάτι τέτοιο τους ζητείται και ικανές να δέχονται ρυθμίσεις πόρων από το σύστημα όταν αυτές γίνονται. System BIOS: Το BIOS παίζει ένα σημαντικό ρόλο στο να κάνουμε το PnP να δουλέψει. Οι ενσωματωμένες ρουτίνες του εκτελούν την πραγματικη δουλειά της συλογής πληροφοριών σχετικά με διαφορετικές συσκευές και καθορίζουν ποιοί πόροι θα έπρεπε να χρησιμοποιούνται και από ποιές συσκευές. Το BIOS επίσης δίνει αυτή την πληροφορία στο λειτουργικό σύστημα, το οποίο τη χρησιμοποιεί για να διαμορφώσει τους οδηγούς του (drivers) και τα υπόλοιπα προγράμματα ώστε να δουλεύουν σωστά. Λειτουργικό σύστημα: Τέλος, το λειτουργικό σύστημα πρέπει να είναι σχεδιασμένο να δουλεύει με το BIOS (ή άμεσα με το hardware). Το λειτουργικό σύστημα εγκαθιστά κάθε λογισμικό πρόγραμμα χαμηλού επιπέδου, το οποίο είναι απαραίτητο για τη συσκευή ώστε να χρησιμοποιείται από τις εφαρμογές. Επίσης επικοινωνεί με το χρήστη, ενημερώνοντάς τον για αλλαγές στη διαμόρφωση και επιτρέποντάς του να κάνει αλλαγές στις διαμορφώσεις αυτές, αν κάτι τέτοιο είναι απαραίτητο. Σήμερα το μόνο κυρίαρχο λειτουργικό σύστημα το οποίο έχει ολοκληρωμένη υποστήριξη PnP, είναι τo Windows 95/98. Λειτουργία του PnP Η περισσότερη δουλειά που γίνεται κατά τη λειτουργία του PnP, εκτελείται από το BIOS κατά τη διάρκεια της διαδικασίας εκκίνησης. Σε ένα συγκεκριμένο βήμα αυτής της διαδικασίας, το BIOS ακολουθεί μία συγκεκριμένη διαδικασία για να καθορίσει και να διαμορφώσει τις συσκευές PnP του συστήματος. Εδώ θα δούμε ένα περιληπτικό σχέδιο βημάτων αυτής της διαδικασίας, τα οποία ακολουθεί το BIOS κατά τη διαδικασία εκκίνησης, όταν διαχειρίζεται ένα τύπου PCI, PnP σύστημα: 1. Δημιούργισε έναν πίνακα πόρων των διαθέσιμων IRQs, καναλιών DMA και διευθύνσεων Ε/Ε, αποκλείοντας οτιδήποτε κτατείται από το σύστημα. 2. Ψάξε για και αναγνώρισε συσκευές που είναι ή δεν είναι PnP στους διαύλους PCI και ISA. 3. Φόρτωσε την τελευταία γνωστή διαμόρφωση συστήματος από την περιοχή ESCD που είναι αποθηκευμένη στην μη πτιτική μνήμη (non-volatile memory). 4. Σύγκρινε την τρέχουσα διαμόρφωση με την τελευταία. Αν αυτή είναι ίδια, συνέχισε τη διαδικασία εκκίνησης 5. Αν η τρέχουσα διαμόρφωση είναι καινούργια, επανεκίνησε τη διαδικασία επαναδιαμόρφωσης. Άρχισε με τον πίνακα πόρων παραλείποντας κάθε πόρο που χρησιμοποιείται από μη PnP συσκευές. 6. Έλεξε τις ρυθμίσεις του BIOS για να δεις αν οποιοσδήποτε επιπρόσθετος πόρος έχει κρατηθεί για χρήση από μη PnP συσκευές και εξαφάνισε κάθε έναν (τέτοιο) από τον πίνακα πόρων. 7. Όρισε πόρους σε κάρτες PnP από τους πόρους που παρέμειναν στον πίνακα και ενημέρωσε τις συσκευές για τις καινούργιες τους ρυθμίσεις. 268

269 8. Ενημέρωσε την περιοχή ESCD σώζοντας εκεί τη νέα διαμόρφωση συστήματος. Τα περισσότερα BIOSes όταν συμβαίνει κάτι τέτοιο, δείχνουν ένα μύνημα που λέει " Updating ESCD...Successful". 9. Συνέχισε τη διαδικασία εκκίνησης. Extented System Configuration data (ESCD) 269 Αν το BIOS καθόριζε πόρους σε κάθε PnP συσκευή, σε κάθε διαδικασία εκκίνησης, θα υπήρχαν δύο προβλήματα. Πρώτον, θα έπερνε αρκετό χρόνο για να γίνει κάτι που είχε ήδη γίνει και στο παρελθόν. Επίσης οι περισσότεροι χρήστες αλλάζουν πολύ σπάνια το hardware του συστήματός τους. Δεύτερον και πιο σημαντικό, είναι δυνατόν το BIOS να παίρνει πάντα τις ίδιες αποφάσεις όταν αποφασίζει πως να κατανείμει τους πόρους του συστήματος στις διάφορες συσκευές και επίσης μπορεί να βρεί αλλαγές ακόμη και αν δεν υπάρχουν αλλαγές στο hardware. Για να ξεπεραστούν τα προβλήματα αυτά, σχεδιάστηκε η ESCD. Η περιοχή ECSD είναι ένα συγκεκριμένο τμήμα της CMOS μνήμης του BIOS, όπου κρατούνται οι ρυθμίσεις του. Αυτή η περιοχή μνήμης χρησιμοποιείται για να αποθηκεύεται η πληροφορία διαμόρφωσης για το hardware του συστήματος. Την ώρα της διαδικασίας εκκίνησης, το BIOS ελέγχει αυτή την περιοχή μνήμης και αν δεν έχουν γίνει αλλαγές από την προηγούμενη εκκίνηση, ξέρει ότι δεν είναι απαραίτητο να διαμορφώσει οτιδήποτε και παραλείπει εκείνο το κομμάτι της διαδικασίας εκκίνησης. Η ECSD επίσης χρησιμοποιείται σαν σύνδεσμος επικοινωνίας μεταξύ του BIOS και του λειτουργικού συστήματος. Και τα δύο χρησιμοποιούν την ECSD για να διαβάσουν την τρέχουσα κατάσταση του hardware και να καταγράψουν αλλαγές. Τα Windows 95 επίσης, επιτρέπουν στους χρήστες να υπερυσχίσουν των ρυθμίσεων του PnP αλλάζοντας χειρονακτικά τον ορισμό πόρων από το διαχειριστή συσκευών (Device Manager). Η πληροφορία αυτή γράφεται στην ECSD περιοχή έτσι ώστε το BIOS να ξέρει σχετικά με τις αλλαγές στην επόμενη εκκίνηση και να μην προσπαθήσει να ξανακάνει διαμόρφωση και κατανομή των πόρων από την αρχή.

270 Βασικό Σύστημα Ε/Ε (BIOS) Τα βασικά μέρη του BIOS 270 Εισαγωγή Όταν "ανοίγουμε" τον υπολογιστή η κύρια μνήμη είναι εντελώς "άδεια", με αποτέλεσμα ο υπολογιστής να πάσχει από "αμνησία" και να μην είναι σε θέση να εκτελέσει καμία λειτουργία. Για να ξαναβρεί ο υπολογιστής τη "μνήμη" του, ακολουθεί μια συγκεκριμένη διαδικασία που είναι γνωστή ως εκκίνηση (start up ή boot up). Μέσα σε ένα chip ROM είναι αποθηκευμένες μερικές βασικές πληροφορίες που βοηθούν τον υπολογιστή να κάνει διαφόρους ελέγχους και να "αναγνωρίσει" το hardware που διαθέτει. Οι πληροφορίες αυτές γράφονται σε μνήμη ROM γιατί πρέπει να είναι διαθέσιμες ακόμα και όταν διακοπεί η τροφοδοσία του υπολογιστή με ηλεκτρικό ρεύμα. BIOS συστήματος Το BIOS του συστήματος (BIOS System-Basic Input Output System-Βασικό σύστημα εισόδου / εξόδου) είναι λογισμικό (του χαμηλότερου επίπεδου) που λειτουργεί ως διασύνδεση (interface) μεταξύ του hardware (κυρίως του επεξεργαστή και των chipsets) και του λειτουργικού συστήματος. Επίσης, το BIOS του συστήματος είναι υπεύθυνο για μια σειρά ελέγχων (ρυθμίσεις του hardware) καθώς και για τη σωστή εκκίνηση του υπολογιστή. To chip που περιέχει το BIOS τοποθετείται σε ειδική υποδοχή πάνω στη μητρική πλακέτα και περιέχει εκτός των άλλων κυκλωμάτων μια μνήμη ROM(BIOS ROM) και μια μνήμη RAM ειδικού τύπου (BIOS CMOS). Το chip του BIOS Μνήμη BIOS ROM Όταν ανοίγουμε τον υπολογιστή τον έλεγχο αναλαμβάνει ένα πρόγραμμα που είναι γνωστό ως BIOS program ή BIOS boot program ή BIOS start upprogram. To BIOS program είναι αποθηκευμένο μέσα σε ένα chip ROM (μνήμη ανάγνωσης μόνο) μιας και ο κώδικας του δεν πρέπει να μεταβάλλεται (εκτός από ειδικές περιπτώσεις). Είναι σημαντική η "ακεραιότητα" του BIOS program αφού ελέγχει και συντονίζει όλες τις λειτουργίες που απαιτούνται μέχρι ο υπολογιστής να είναι έτοιμος να εκτελέσει μια εφαρμογή ή κάποια εντολή του χρήστη. Μερικά από τα βασικά χαρακτηριστικά του υπολογιστή καθορίζονται ακριβώς μέσα στο BIOS program και έτσι μπορεί να αλλάξει ολόκληρη η ταυτότητά του, αναβαθμίζοντας το BIOS program. Η αναβάθμιση μπορεί να γίνει με δυο τρόπους : Είτε αντικαθιστώντας το chip του BIOS με νεότερη έκδοση, είτε χρησιμοποιώντας ειδικό λογισμικό. Στην πρώτη περίπτωση πρέπει να "ανοιχτεί" ο υπολογιστής από κάποιον ειδικό και να αντικατασταθεί το παλιό chip του BIOS με το νέο. Η διαδικασία βέβαια είναι σχετικά επίπονη και απαιτεί

271 προσοχή προκειμένου να αποφευχθούν καταστροφές στα φυσικά μέρη του υπολογιστή. Στην δεύτερη περίπτωση χρησιμοποιείται ένας ειδικός τύπος BIOS ROM που ονομάζεται EEPROM (Electrically Erasable Programmable Read-Only Memory). Το περιεχόμενο (BIOS program) της EEPROM μπορεί να αλλάξει με την βοήθεια ενός ειδικού προγράμματος το οποίο αποστέλλεται από τον κατασκευαστή του BIOS. Με αυτόν τον τρόπο αναβαθμίζεται το BIOS program χωρίς να αντικατασταθεί το αντίστοιχο chip και με μικρότερο κόστος. Η διαδικασία ονομάζεταιflashing the BIOS ενώ το αντίστοιχο chip λέγεται flash BIOS. Παρόλα τα πλεονεκτήματα του flash BIOS υπάρχει και ένα σοβαρό μειονέκτημα. Εάν κατά τη διαδικασία ανάβαθμισης του BIOS υπάρξει κάποιο εξωτερικό πρόβλημα, για παράδειγμα διακοπή του ρεύματος, τότε δεν θα ολοκληρωθεί σωστά η αναβάθμιση και θα εμφανιστούν διάφορα προβλήματα. Οι κατασκευαστές προσπαθούν να λύσουν αυτού του είδους τα προβλήματα με διαφόρους τρόπους. Πάντως σημαντική προστασία προσφέρει το γεγονός ότι η όλη διαδικασία διαρκεί ελάχιστα δευτερόλεπτα και έτσι ο κίνδυνος καταστροφών μειώνεται σημαντικά. Μνήμη BIOS CMOS 271 Η CMOS (Complementary Metal Oxide Semiconductor) είναι μια μικρή σε μέγεθος μνήμη RAM ειδικού τύπου. Συγκεκριμένα, η CMOS RAM διατηρεί τα περιεχόμενά της με την κατανάλωση ελάχιστης ποσότητας ενέργειας, που προέρχεται από μια μικρή μπαταρία, που είναι συνδεδεμένη μαζί της. Τυπική μπαταρία υπολογιστή Το μέγεθος της CMOS είναι πολύ μικρό, της τάξης των 64 bytes και αποθηκεύονται σταθερές τιμές του συστήματος που σχετίζονται με τα εξής:σκληρούς δίσκους, οδηγούς εύκαπτων δίσκων, πληκτρολόγιο, επεξεργαστής, κρυφή μνήμη, τύπος RAM, chipset, ημερομηνία, ώρα και άλλα.τα δεδομένα της CMOS κατατάσσονται σε δυο κατηγορίες: 1. Δεδομένα που δεν μπορεί να ανακτήσει το πρόγραμμα ελέγχου POST. Για παράδειγμα, το POST δεν μπορεί από μόνο του να καθορίσει εάν ένα οδηγός εύκαμπτων δίσκων είναι πράγματι οδηγός εύκαμπτων δίσκων και ποιού τύπου. Περίπου το ίδιο συμβαίνει και με τους σκληρούς δίσκους IDE καθώς και EIDE. Επίσης το POST μπορεί ναι μεν να μετρά την ποσότητα της μνήμης RAM, αλλά δεν μπορεί από μόνο του να καθορίσει τον τύπο της (FPM, EDO, SDRAM, PC100 ). Από τη στιγμή που ο επεξεργαστής και το BIOS διαβάζουν δεδομένα από τα chips της RAM με διαφορετικό τρόπο, ο τύπος της πρέπει να καθοριστεί προκειμένου να εγκατασταθεί ο σωστός χρονισμός. Ο υπολογιστής πρέπει να διαβάσει τις πληροφορίες που είναι αποθηκευμένες στη CMOS προκειμένου να λειτουργήσει σωστά. Οι πληροφορίες αρχικά γράφονται κατά τη συναρμολόγηση του υπολογιστή και αν δεν συντρέχει λόγος αλλαγής δεν θα πρέπει να πειραματίζεται ο χρήστης με αυτές. Βέβαια όταν προστίθεται νέο hardware ή ανανεώνεται με νέες εκδόσεις το ήδη υπάρχον, θα πρέπει

272 να ενημερωθεί ανάλογα και η CMOS (αλλαγή σκληρού δίσκου ή προσθήκη νέου τύπου μνήμης RAM). 2. Δεδομένα που προέρχονται από επιλογές (ρυθμίσεις) του χρήστη. Για παράδειγμα, ο χρήστης μπορεί να ρυθμίσει την ημερομηνία και ώρα του συστήματος, καθώς επίσης και να αποφασίσει από ποιόν οδηγό (A: ή C:) θα γίνει το φόρτωμα του λειτουργικού συστήματος. Επίσης, μπορεί να καθορίσει αν το πρόγραμμα POST θα έχει μικρότερη διάρκεια από την κανονική. Οι παραπάνω πληροφορίες γράφονται στη CMOS με την βοήθεια ενός προγράμματος που ονομάζεται BIOS setup program. Να πούμε εδώ ότι η μνήμη αυτή συχνά αποκαλείται απλώς "CMOS" καθώς τα πρώτα χρόνια οι υπολογιστές δεν χρησιμοποιούσαν τεχνολογία CMOS. Οι σημερινοί επεξεργαστές, που πρέπει να κάνουν συνεχώς περισσότερα και για να το πετύχουν αυτό χρειάζονται χαμηλή κατανάλωση ενέργειας, είναι φτιαγμένοι με τεχνολογία CMOS. Ωστόσο, η "CMOS" από μόνη της αναφέρεται στη μνήμη ρυθμίσεων του BIOS. 272 Ο ρόλος των δεδομένων της CMOS POST Το POST (Power-on Self Test) είναι ένα διαγνωστικό πρόγραμμα που ελέχγει το hardware του υπολογιστή για να βεβαιωθεί αν αυτό μπορεί να λειτουργήσει με βάση τις προδιαγραφές που έχουν τεθεί. Το πρόγραμμα POST "τρέχει" πολύ γρήγορα και σε φυσιολογικές συνθήκες δεν γίνεται αντιληπτό από τον χρήστη, εκτός και αν ανιχνευτεί κάποιο λάθος. Στη δεύτερη περίπτωση εμφανίζονται μηνύματα σχετικά με το λάθος στην οθόνη του υπολογιστή. Αν η οθόνη δεν είναι ακόμα έτοιμη ή υπάρχει πρόβλημα με την κάρτα γραφικών, τότε το λάθος ανακοινώνεται στο χρήστη μέσω μιας ακουλουθίας beep (για παράδειγμα 3 beep μεγάλης έντασης και 1 beep μικρότερης έντασης) από το μεγαφωνάκι του υπολογιστή. Ο τρόπος αποκωδικοποίησης των λαθών και προτεινόμενες λύσεις εξαρτώνται από τον κατασκευαστή του υπολογιστή αλλά και του BIOS (χρησιμοποιούνται συνήθως τα πρότυπα των εταιριών Award, AMI BIOS, Phoenix) και περιγράφονται στα συνοδευτικά έντυπα αγοράς του υπολογιστή, στο τμήμα με γενικό τίτλο Troubleshooting Expert. Μερικά από τα λάθη POST μπορεί να είναι μοιραία (fatal errors) και να "κολλήσει" το σύστημα, ενώ άλλα μπορούν να αντιμετωπιστούν. Συνήθως τα λάθη POST είναι fatal erros γιατί το πρόγραμμα POST κάνει ζωτικής σημασίας ελέγχους. BIOS setup program Πολλοί άνθρωποι συγχέουν τις έννοιες BIOS, CMOS και BIOS setup program. Συγκεκριμένα, θεωρούν ότι το BIOS setup program είναι το ίδιο ακριβώς πράγμα με το BIOS ή τη CMOS. Στην πραγματικότητα, το BIOS setup program είναι ένα πρόγραμμα που μας επιτρέπει να αλλάξουμε τις ρυθμίσεις του BIOS, ενώ η CMOS είναι απλά ένα chip μνήμης που

273 τοποθετείται μέσα στο chip του BIOS. Μπορούμε να τρέξουμε το BIOS setup program πατώντας ένα πλήκρο (ή συνδιασμό πλήκτρων) αμέσως μετά την εκκίνηση του υπολογιστή. Συνήθως χρησιμοποιείται το πλήκρο "Delete". Επίσης μπορούμε να τρέξουμε το setup program αν ενώ βρίσκεται σε λειτουργία ο υπολογιστής ή έχει κολλήσει πατήσουμε των συνδυασμό των πλήκτρων "Ctrl-Alt-Del". Το setup program έχει ένα απλό περιβάλλον εργασίας, με ένα μενού που μας επιτρέπει να κάνουμε τις διάφορες ρυθμίσεις του BIOS (BIOS Settings). Αν δεν είμαστε πλήρως εξοικιωμένοι με τις παράμετρους του BIOS, είναι καλύτερο να μην επεμβαίνουμε σε αυτές μέσω του BIOS setup program, γιατί μπορεί να αναθέσουμε παραμέτρους που δεν ανταποκρίνονται στην πραγματικότητα. Τα αποτελέσματα αυτών των ρυθμίσεων κυμαίνονται από το να προκαλέσουν μια μικρή δυσλειτουργία του υπολογιστή, μέχρι και την αδυναμία εκκίνησης του. Σε περίπτωση που υπάρξει ανάγκη επέμβασης στις παραμέτρους του BIOS, είναι καλό να κρατηθεί ένα αντίγραφο των σωστών ρυθμίσεων έτσι ώστε οι αλλαγές που θα γίνουν να είναι αναστρέψιμες. Στις παλαιότερες εκδόσεις του setup program υπήρχε συνήθως μια σταθερή ομάδα πλήκτρων με τα οποία μπορούσαμε να εργαστούμε μέσα στο περιβάλλον εργασίας του, ενώ στις νεότερες εκδόσεις παρέχεται η δυνατότητα χρήσης ποντικιού που διευκολύνει τη διαδικασία. Τα περισσότερο χρησιμοποιούμενα πλήκτρα παρουσιάζονται παρακάτω: 1. "Enter": Χρησιμοποιείται για να επιλέξει από κάποιο μενού ή υποπεριοχή. 2. "Βελάκια" (Arrows keys): Συνήθως χρησιμοποιούνται για να μετακινούμαστε μεταξύ των επιλογών και μερικές φορές για την αλλαγή μια συγκεκριμένης ρύθμισης. 3. "Page Up,Page Down" ή "+,-": Είναι τα πλήκτρα με τα οποία μπορούμε να μεταβάλλουμε τις τρέχουσες ρυθμίσεις. 4. "Tab": Χρησιμοποιείται για να μετακινούμαστε σε διαφορετικά μενού. 5. "Esc": Συνήθως είναι το πλήκτρο που μας επιτρέπει να ανέβουμε ένα βήμα στην ιεραρχία του μενού, καθώς επίσης και την έξοδο από το setup program. Πριν προχωρήσουμε στην παρουσίαση των παραμέτρων που μπορούμε να ρυθμίσουμε μέσα από το BIOS setup program, θα πρέπει να έχουμε υπόψη μας τα εξής : Για κάθε ενδεχόμενο είναι καλό να υπάρχουν αντίγραφα των ρυθμίσεων του BIOS όταν ο υπολογιστής λειτουργεί χωρίς πρόβλημα. Έτσι αν αλλάξουμε την τιμή μιας παραμέτρου χωρίς να είμαστε σίγουροι να μπορούμε να επαναφέρουμε την τιμή της από τα αντίγραφα. Οι αλλαγές στις ζωτικές (advanced settings) παραμέτρους του BIOS θα πρέπει να γίνονται από άτομα που γνωρίζουν καλά το αντικείμενο, αφού λαθασμένες ρυθμίσεις μπορούν να προκαλέσουν σοβαρά προβλήματα στη λειτουργία του υπολογιστή. Αν το BIOS περιέχει ένα μενού με τίτλο "hard disk utility" με επιλογές όπως "interleave ratios", "low level formating" ή "media analysis" δεν θα πρέπει να χρησιμοποιούνται όταν ο υπολογιστής διαθέτει σκληρούς οδηγούς IDE/ATA ή SCSI, αφού το μενού προορίζοταν για την διαχείρηση παλιών δίσκων MFM και RLL. 273

274 274 Το εισαγωγικό παράθυρο του BIOS setup program

275 Τυπικές Ρυθμίσεις Standard Settings 275 Εισαγωγή Με τον όρο τυπικές ρυθμίσεις εννοούμε όλες εκείνες τις παραμέτρους του BIOS που δεν είναι ζωτικής σημασίας για τον υπολογιστή και μπορεί να τις χειριστεί σχετικά εύκολα και ένας μη ειδικός. Το εισαγωγικό παράθυρο των τυπικών ρυθμίσεων έχει την παρακάτω μορφή: Date/Time Η παράμετρος Date/Time ρυθμίζει την ημερομηνία και ώρα του συστήματος. 1. Date : Είναι η ημερομηνία του συστήματος. 2. Time : Είναι η ώρα του συστήματος. Παράθυρο ρύθμισης ημερομηνίας και ώρας Floppy A / Floppy B Οι παράμετροι Floppy A και Floppy Β ρυθμίζουν τον τύπο του οδηγού εύκαπτων δίσκων Α: και Β: αντίστοιχα. Η εξ' ορισμού επιλογή είναι 1.44MB στα 3.5".

276 276 Παράθυρο ρύθμισης των παραμέτρων του οδηγού εύκαπτων δίσκων Master Disk Η παράμετρος Master Disk καθορίζει τον τύπο του σκληρού δίσκου που χρησιμοποιείται ως Master συσκευή στο primary κανάλι. Slave Disk Παράθυρο ρύθμισης του Master Disk Η παράμετρος Slave Disk καθορίζει τον τύπο της συσκυεής που χρησιμοποιείται ως Slave συσκευή στο primary κανάλι.

277 277 Παράθυρο ρύθμισης του Slave Disk

278 Προχωριμένες Ρυθμίσεις Advance Settings 278 Εισαγωγή Με τον όρο προχωρημένες ρυθμίσεις εννοούμε όλες εκείνες τις παραμέτρους του BIOS που ελέγχουν τη "συμπεριφορά" του υπολογιστή. Μερικές από τις παραμέτρους μπορούν να ρυθμιστούν με τέτοιο τρόπο ώστε να αυξηθεί η απόδοση του συστήματος, ενώ άλλες μπορούν να ενεργοποιηθούν ή να απενεργοποιηθούν αν το σύστημα παρουσιάζει προβλήματα σωστής συμπεριφοράς. System Boot Up Sequence Η παράμετρος αυτή καθορίζει ποιά θα είναι η σειρά αναζήτησης των οδηγών για το φόρτωμα του λειτουργικού συστήματος. Τα παλαιότερα BIOS δεν προσέφεραν αυτή την επιλογή αφού εκ των προτέρων είχε καθοριστεί ότι το λειτουργικό σύστημα θα αναζητούνταν αρχικά στο floppy drive A: και αν δεν βρίσκονταν εκεί η αναζήτηση θα συνεχίζονταν στο σκληρό δίσκο. Μεταγενέστερες εκδόσεις προσέφεραν τις επιλογές "A:, C:" (εξ ορισμού) και "C:, A:". Τα νέα BIOS υποστηρίζουν την αναζήτηση και από τον οδηγό CD-ROM με αποτέλεσμα να υπάρχουν έξι διαθέσιμες ακολουθίες αναζήτησης με εξ ορισμού τιμή την "A:, C:, CD-ROM". Ο οδηγός δισκετών Β: δεν χρησιμοποιείται σε κανένα μοντέλο BIOS μέσα στην ακολουθία οδηγών για την αναζήτηση του λειτουργικού συστήματος. Μερικές εκδόσεις BIOS προσφέρουν ακόμα μεγαλύτερες δυνατότητες όπως την αναζήτηση του λειτουργικού συστήματος απο σκληρό οδηγό IDE που είναι διαφορετικός από τον primary master (C:) ή και τη δυνατότητα για εκκίνηση από οδηγό σκληρού δίσκου SCSI αντί για οδηγό IDE, ακόμα και στην περίπτωση που συνυπάρχουν οι οδηγοί αυτοί στο σύστημα. Αλλάζοντας την ακολουθία αναζήτησης πρώτα στο σκληρό και έπειτα στον οδηγό δισκετών A:, δημιουργεί πλεονεκτήματα αλλά και μειονεκτήματα. Πλεονεκτήματα: Από την στιγμή που δεν γίνεται το φόρτωμα του λειτουργικού συστήματος από το floppy drive A:, ελλατώνουμε την πιθανότητα να προσβληθεί ο υπολογιστής από κάποιο ιό (ιδιαίτερα στο ζωτικής σημασίας boot record ). Επίσης αποτρέπεται η χρησιμοποίηση μη έγκυρης δισκέτας εκκίνησης η οποία πιθανώς δεν θα ανταποκρίνεται στις προδιαγραφές του συστήματος μας. Μειονεκτήματα: Αν ένας ιός έχει μολύνει τη master boot record, δεν μπορούμε να χρησιμοποιήσουμε δισκέτα καθαρισμού, αφού ο ιός θα προλάβει να μολύνει τη μνήμη πριν εξολοθρευτεί από το αντιβιοτικό πρόγραμμα. Έτσι θα πρέπει να μπούμε μέσα στο BIOS startup program και να ρυθμίσουμε την αντίστοιχη παράμετρο, έτσι ώστε η εκκίνηση να γίνεται από το floppy drive A:. Επίσης κυκλοφορούν μερικά προγράμματα που επιβάλλουν να γίνεται η εκκίνηση από την δική τους δισκέτα εκκίνησης. Τέλος αν ο σκληρός δίσκος έχει πρόβλημα ή ένας ιός τον κάνει "αόρατο" τότε παρουσιάζεται το μεγαλύτερο πρόβλημα αφού δεν μπορούμε να εκκινήσουμε το σύστημα με κανένα τρόπο και πρέπει να επέμβει κάποιο εξειδικευμένο άτομο. Cache Memory Η παράμετρος Cache Memory διαχειρίζεται την κρυφή μνήμη του συστήματος. Πιο συγκεκριμένα μπορούμε να ρυθμίσουμε: Internal Cache: Η παράμετρος ενεργοποιεί ή απενεργοποιεί την εσωτερική (internal) κρυφή μνήμη του επεξεργαστή, που είναι γνωστή και ως L1-cache. Για τους επεξεργαστές 486 και μετά, πρέπει να είναι πάντα ενεργοποιημένη η παράμετρος (θα πρέπει να απενεργοποιείται προσωρινά, μόνο όταν προσπαθούμε να ανιχνεύσουμε προβλήματα κυρίως στο chip του επεξεργαστή). Για τους

279 προγενέστερους από την γενιά 486 επεξεργαστές που δεν έχουν L1-Cache, θα πρέπει να απενεργοποιήσουμε την παράμετρο αφού μπορεί να οδηγήσει σε σημαντικά προβλήματα. Μερικά BIOS εκτός των επιλογών "Enabled" / "Disabled", υποστηρίζουν και τις εξής επιλογές που σχετίζονται με την πολιτική διαχείρισης της L1-Cache και μπορούν να οδηγήσουν σε καλύτερη απόδοση του συστήματος: "Write Through", "Write Back". External Cache: Η παράμετρος ενεργοποιεί ή απενεργοποιεί την εξωτερική (external) κρυφή μνήμη του επεξεργαστή, που είναι γνωστή και ως L2-cache. Όπως και για την L1-Cache η παράμετρος πρέπει να είναι ενεργοποιημένη μόνο για επεξεργαστές 486 και μεταγενέστερους. Η απενεργοποίηση γίνεται προσωρινά και μόνο για ειδικούς σκοπούς (ανίχνευση προβλημάτων κυρίως στο chip του επεξεργαστή). Αν απενεργοποιήσουμε χωρίς ιδιαίτερο λόγο την παράμετρο θα πέσει δραματικά η ταχύτητα του συστήματος. Ομοίως μερικά BIOS εκτός των επιλογών "Enabled" / "Disabled", υποστηρίζουν και τις εξής επιλογές που σχετίζονται με την πολιτική διαχείρισης της L2-Cache και μπορούν να οδηγήσουν σε καλύτερη απόδοση του συστήματος: "Write Through", "Write Back". Video BIOS Shadow 279 Ένα από τα βασικά προβλήματα των chips ROM (system BIOS, video BIOS) είναι ότι έχουν μικρή ταχύτητα προσπέλασης (περίπου ns) σε σχέση με τη RAM (περίπου ns). Επίσης η πρόσβαση στην RAM γίνεται με ρυθμό 32 bits κάθε φορά, ενώ στα chips ROM η πρόσβαση γίνεται συνήθως σε 16 bits κάθε φορά. Το αποτέλεσμα είναι η καθυστέρηση εκτέλεσης του κώδικα που είναι αποθηκευμένος στο chip ROM σε σχέση με τον κώδικα της RAM. Όταν η παράμετρος είναι ενεργοποιημένη (εξ ορισμού ρύθμιση) αντιγράφεται ο κώδικας BIOS της VGA κάρτας γραφικών από το chip ROM της κάρτας στην κύρια μνήμη RAM στην περιοχή μεταξύ C0000-C7FFF (32K), με αποτέλεσμα την αύξηση της ταχύτητας του συστήματος. System BIOS Shadow Η παράμετρος λειτουργεί με τον ίδιο τρόπο όπως και η Video BIOS Shadow, με τη διαφορά ότι αντιγράφεται ο κώδικας του system BIOS μέσα από το chip ROM του BIOS, στην κύρια μνήμη RAM στην περιοχή μεταξύ F FFFFF (64K). Αφού ο κώδικας αυτός χρησιμοποιείται πολλές φορές από τον υπολογιστή, η εξ' ορισμού ρύθμιση θα είναι "Enabled" και θα έχει ως αποτέλεσμα την αύξηση της ταχύτητας του συστήματος. C8000-CBFFF Shadow Όταν η παράμετρος είναι ενεργοποιημένη "Enabled", αντιγράφονται οι κώδικες BIOS όλων των καρτών επέκτασης, όπως προσαρμοστές δικτύων, που έχουν βρεθεί, στην περιοχή C8000-CBFFF της κύριας μνήμης RAM. Αν και η ρύθμιση "Enabled" εκ πρώτης όψεως δείχνει να είναι η ενδεδειγμένη, εντούτοις η εξ ορισμού ρύθμιση είναι "Disabled" για τον εξής λόγο : Μερικοί προσαρμοστές χρησιμοποιούν τόσο τη ROM που διαθέτουν για διάβασμα, όσο και την κύρια μνήμη RAM για γράψιμο. Όταν είναι ενεργοποιημένη η παράμετρος C8000-CBFFF Shadow αντιγράφονται τα περιεχόμενα του chip ROM του προσαρμοστή μέσα στην περιοχή C8000-CBFFF της μνήμης RAM και στη συνέχεια αυτή η περιοχή της RAM "κλειδώνεται" για να προστατευτούν τα περιεχόμενα της από πιθανές προσπάθειες μεταβολής τους. Αυτό έχει ως αποτέλεσμα την αδυναμία γραψίματος στην RAM από τους προσαρμοστές και την εμφάνιση σοβαρών προβλημάτων στην λειτουργία του υπολογιστή.

280 CC000-CFFFF Shadow 280 Η παράμετρος χρησιμοποιείται για την αντιγραφή του κώδικα BIOS διαφόρων καρτών επέκτασης από το chip ROM της κάρτας στην περιοχή CC000-CFFFF της μνήμης RAM. Για περισσότερες πληροφορίες δείτε την σχετική παράγραφο για την παράμετρο C8000-CBFFF Shadow. Κατά τον ίδιο τρόπο λειτουργούν και οι παράμετροι D0000-D3FFF Shadow, D4000- D7FFF Shadow, D8000-DBFFF Shadow, DC000-DFFFF Shadow. Ένα στιγμιότυπο του παραθύρου εργασίας των προχωρημένων ρυθμίσεων Typematic Delay Η παράμετρος ορίζει τον χρόνο που πρέπει να κρατηθεί πατημένο ένα πλήκρο, μέχρι να αρχίσει αυτόματα η επαναληπτική τύπωση του αντίστοιχου χαρακτήρα. Συνηθισμένες τιμές καθυστέρησης κυμαίνονται μέσα στο διάστημα milliseconds. Όταν η καθυστέρηση είναι πολύ μικρή μπορεί να αρχίσει η αυτόματη επαναληπτική εκτύπωση του χαρακτήρα τη στιγμή που πατάμε για πρώτη φορά το πλήκτρο. Αυτό μπορεί να προκαλέσει προβλήματα συγχρονισμού γι αυτό και η καθυστέρηση πρέπει να κυμαίνεται μέσα στα προαναφερθέντα όρια. Virus Protection/Virus Warning Το system BIOS δεν έχει την ικανότητα από μόνο του να διαγνώσει αν ένα πρόγραμμα είναι μολυσμένο από κάποιο ιό. Όταν η παράμετρος είναι ενεργοποιημένη (enabled) το BIOS εμποδίζει σε οποιονδήποτε (ιό, χρήστη) να γράψει στη βασική εγγραφή εκκίνησης, ενώ εμφανίζει ένα μήνυμα στην οθόνη και ρωτά αν επιτρέπουμε το γράψιμο. Με τον τρόπο αυτό ελέγχουμε μια μεγάλη κατηγορία ιών που προσβάλλουν τη βασική εγγραφή εκκίνησης. Ωστόσο το BIOS εμφανίζει προειδοποιητικά μηνύματα για κάθε απόπειρα γραψίματος στη βασική εγγραφή εκκίνησης, ακόμα και στην περίπτωση που είναι νόμιμη. Εάν τρέχουμε προγράμματα που μεταβάλουν τα διαμερίσματα ή αν κάνουμε μορφοποίηση στο σκληρό δίσκο, τα μηνύματα εμφανίζονται τακτικά και προκαλούν εκνευρισμό. Η καλύτερη επιλογή είναι να απενεργοποιήσουμε (disabled) την παράμετρο και να χρησιμοποιήσουμε δικά μας αντιβιοτικά (anti-virus program).

281 Typematic Rate 281 Η παράμετρος καθορίζει πόσους χαρακτήρες μπορούμε να πληκτρολογήσουμε ανά δευτερόλεπτο. Πάντως δεν θα πρέπει η ρύθμιση να είναι μικρότερη ή ίση με την μέγιστη δυνατότητα αναγνώρισης χαρακτήρων ανά δευτερόλεπτο από το σύστημα. Primary Display Είναι ο τύπος της κάρτας γραφικών που χρησιμοποιούμε. Ανάλογα με τον τύπο της μπορούμε να επιλέξουμε μεταξύ των "VGA" ή "VGA/EGA" ή "SVGA". Halt On Είναι μια σημαντική παράμετρος που δίνει στο χρήστη τη δυνατότητα να καθορίσει ποια λάθη κατά τον έλεγχο POST θα είναι fatal (ζωτικής σημασίας) και θα σταματά η διαδικασία του BIOS start up. Χρησιμοποιώντας αυτή την παράμετρο ο χρήστης λέει στο BΙOS τι είδους λάθη θα μπορεί να αγνοήσει κατά τη διαδικασία εκκίνησης. Συνήθως έχουμε τις εξής επιλογές: All Errors: Είναι η προκαθορισμένη ρύθμιση και έχει ως αποτέλεσμα να σταματά η διαδικασία του BIOS start up κάθε φορά που ανιχνευτεί λάθος. Συνήθως, στην οθόνη εμφανίζεται ένα προτρεπτικό μήνυμα που καθορίζει τον τρόπο αντίδρασης του χρήστη. No Errors: Το πρόγραμμα POST θα σταματά μόνο σε ειδικές περιτώσεις λαθών. All But Keyboard: Η διαδικασία του BIOS start up θα σταματά για κάθε λάθος που ανιχνεύεται, πλην αυτών που σχετίζονται με το πληκτρολόγιο. Είναι χρήσιμη επιλογή για συσκευές που δεν περιέχουν πληκτρολόγιο όπως ένας file server ή print server. All But Diskette/Floppy: Η διαδικασία του BIOS start up θα σταματά για κάθε λάθος που ανιχνεύεται, πλην αυτών που σχετίζονται με τους οδηγούς δισκετών. Πάντως, αν υπάρχει αναγνωρισμένο και όχι περιστασιακό πρόβλημα με τους οδηγούς δισκετών είναι καλύτερα να αποσυνδεθούν από τον υπολογιστή παρά να είναι ενεργοποιημένη αυτή η επιλογή. System Keyboard Μερικά BIOS μας παρέχουν τη δυνατότητα να ορίζουμε ρητώς αν θα υπάρχει στο σύστημα μας πληκτρολόγιο. Η εξ ορισμού ρύθμιση είναι "Installed" ή "Yes". Αν το σύστημα μας είναι file server ή secured network PC τότε μπορούμε να απενεργοποιήσουμε την παράμετρο με αποτέλεσμα να μην εκτελείται η αντίστοιχη ρουτίνα ελέγχου του προγράμματος POST. Φυσικά μπορούμε να καθορίσουμε αν ο υπολογιστής θα έχει ή όχι πληκτρολόγιο και με την παράμετρο "Halt On". Quick Power On Self Test / Quick Boot Ενεργοποιώντας την παράμετρο αυτή, το πρόγραμμα POST δεν πραγματοποιεί όλους τους συμφωνημένους ελέγχους. Συνήθως χρησιμοποιείται για να απενεργοποιήσει τον έλεγχο σχετικά με λάθη στην extended memory. Η ενεργοποίηση της παραμέτρου από τη μια μειώνει το συνολικό χρόνο εκτέλεσης του προγράμματος POST άρα και τον χρόνο εκκίνησης, από την άλλη όμως μπορεί να είναι η αιτία για να μην ανιχνευτούν σημαντικά λάθη, που μπορούν να προκαλέσουν αστάθεια στα δεδομένα και γενικά δυσλειτουργία του συστήματος. Για παράδειγμα αν είναι ενεργοποιημένη η παράμετρος και προσθέσουμε επιπλέον μνήμη RAM ή αλλάξουμε τον τύπο της πιθανόν να μην αναγνωριστούν σωστά οι παράμετροι της κύριας μνήμης. Πάντως όταν το σύστημα λειτουργεί χωρίς κανένα

282 πρόβλημα και δεν υπάρχει πρόθεση για μεταβολή της κύριας μνήμης είναι καλύτερο να απενεργοποιηθεί η ρουτίνα ελέγχου του POST που ελέγχει την κύρια μνήμη του συστήματος. Memory Test Tick Sound 282 Πρόκειται για την παράμετρο που καθορίζει αν από το μεγαφωνάκι θα ακούγεται ο χαρακτηριστικός ήχος κατά το μέτρημα της κύριας μνήμης του συστήματος. Αν και μερικοί το βρίσκουν ενοχλητικό, εντούτις ο χαρακτηριστικός ήχος είναι μια ένδειξη ότι ο έλεγχος POST εξελίσσεται ομαλά. Επίσης βοηθά κατά την διαδικασία της αρχικής διαμόρφωσης των παραμέτρων του BIOS, με το να επιβεβαιώνει την αναγνώριση της κύριας μνήμη, όπως και στην περίπτωση που η οθόνη ή η κάρτα γραφικών έχει κάποιο πρόβλημα και δεν μπορούμε να αντιληφθούμε οπτικά ότι έγινε σωστά το μέτρημα της κύριας μνήμης. Boot Up Speed Η παράμετρος υπάρχει μόνο στους παλιούς υπολογιστές και ρυθμίζει την ταχύτητα του συστήματος. Δυο είναι οι δυνατές επιλογές : "High", "Low". Η εξ ορισμού ρύθμιση είναι "High" (είναι η συνηθισμένη ταχύτητα του συστήματος), ενώ η ρύθμιση "Low" χρησιμοποιείται για διαδικασίες εκσφαλμάτωσης (debugging). Fast A20 / A20 Gate Η παράμετρος A20 line (21st address line) χρησιμοποιείται για να ελέγχει την πρόσβαση στην high memory area (HMA), που είναι τα πρώτα 64 KB (για την ακρίβεια τα πρώτα 65,520 bytes ) της εκτεταμένης μνήμης του υπολογιστή. Η εξ ορισμού ρύθμιση είναι "Enabled" και έχει ως αποτέλεσμα εκτός από τον έλεγχο της HMA και την αύξηση της απόδοσης του συστήματος. Power On Delay / Boot Delay Αν έχουμε επιλέξει μια γρήγορη διαδικασία εκκίνησης ενώ διαθέτουμε ένα σκληρό δίσκο ο οποίος χρειάζεται σχετικά μεγάλο χρονικό διάστημα μέχρι να είναι σε θέση να λειτουργεί σωστά, τότε μπορεί να αρχίσει το φόρτωμα του λειτουργικού συστήματος χωρίς όμως να είναι έτοιμος ο σκληρός δίσκος. Μια καλή λύση στο πρόβλημα είναι μια ρύθμιση στο BIOS που δεν θα επιτρέπει την εκκίνηση του υπολογιστή αμέσως μετά το πάτημα του κουμπιού εκκίνησης (Power On button), αλλά λίγο μετά το πάτημα του κουμπιού επανεκκίνησης (Reset button). Ενεργοποιώντας την παράμετρο μπορούμε να εισάγουμε τον χρόνο καθυστέρησης (σε sec) της διαδικασίας εκκίνησης, μέχρι να είναι έτοιμος ο σκληρός δίσκος. Συνήθως η παράμετρος είναι απενεργοποιημένη.

283 283 Ένα στιγμιότυπο του παραθύρου εργασίας των προχωρημένων ρυθμίσεων

284 Διάφορες Ρυθμίσεις 284 Chipset Οι παράμετροι αυτής της ομάδας ελέγχουν την λειτουργία των chipsets του συστήματος. Οι πιο σημαντικές ρυθμίσεις που μπορούν να γίνουν έχουν σχέση με τα εξής: DRAM Speed: Ορίζεται η ταχύτητα λειτουργίας της κύριας μνήμης DRAM (60ns, 70ns). DRAM Read Timing: Ορίζεται ο χρονισμός της DRAM κατά την ανάγνωση δεδομένων ("x222", "x333", "x444"). DRAM Write Timing: Ορίζεται ο χρονισμός της DRAM κατά την εγγραφή δεδομένων ("x222", "x333", "x444"). Το παράθυρο εργασίας για τις ρυθμίσεις των chipsets Power Management Οι παράμετροι αυτής της ομάδας καθορίζουν τον τρόπο διαχείρισης και κατανάλωσης ενέργειας από το σύστημα. Advanced Power Management: Ενεργοποιεί/Απενεργοποιεί τις λειτουργίες για τη διαχείριση της ενέργειας από το σύστημα. Full-on to Standby Timeout Value: Επιλογή χρόνου για μετάβαση από κατάσταση πλήρους λειτουργίας (Full-on mode) σε κατάσταση αναμονής (Standby mode). Standby to Suspend Timeout Value: Επιλογή χρόνου για μετάβαση από κατάσταση αναμονής (Standby mode) σε κατάσταση αναστολής (Suspend mode) όλων των λειτουργιών του συστήματος. IDE Drive Power Down in: Επιλέγει τη κατάσταση απενεργοποίησης του IDE σκληρού δίσκου (Standby, Suspend, Disabled).

285 VESA Video Power Down in: Επιλέγει τη κατάσταση απενεργοποίησης της οθόνης (Standby, Suspend, Disabled) VESA Power Down Mode: Επιλέγει τη κατάσταση απενεργοποίησης της οθόνης (Blanking, Suspend, Off, Disabled) IRQX Break Event: Αν είναι ενεργοποιημένη το αντίστοιχο σήμα IRQ θα επαναφέρει το σύστημα σε κατάσταση πλήρους λειτουργίας. 285 Το παράθυρο εργασίας για τη διαχείριση της ενέργειας Peripheral Οι παράμετροι αυτής της ομάδας ελέγχουν τις θύρες εισόδου - εξόδου του συστήματος I/O ports (Serial Ports, Parallel Ports). Συγκεκριμένα : Onboard FDC: Ενεργοποιεί/Απενεργοποιεί τη λειτουργία του ελεγκτή των εύκαπτων δίσκων. Serial Port1: Απενεργοποιεί ή επιλέγει διεύθυνση για την πρώτη σειριακή θύρα (Serial port). Serial Port2: Απενεργοποιεί ή επιλέγει διεύθυνση για τη δεύτερη σειριακή θύρα (Serial port). Parallel Port: Απενεργοποιεί ή επιλέγει διεύθυνση για τη παράλληλη θύρα (Parallel port). Parallel Port Mode: Επιλέγει τον τρόπο λειτουργίας της παράλληλης θύρας (SPP, EPP, ECP).

286 286 Το παράθυρο εργασίας για τις ρυθμίσεις των θυρών εισόδου - εξόδου Password Όταν είναι ενεργοποιημένη η παράμετρος μπορούμε να ορίσουμε password για την είσοδο στο BIOS setup program ή στο σύστημα. Το παράθυρο εργασίας για την εισαγωγή password

287 Anti-Virus 287 Η παράμετρος Anti-Virus ενεργοποιεί την προστασία του τομέα εκκίνησης από ιούς και απενεργοποιεί την δυνατότητα του χρήστη να κάνει μορφοποίηση (format) στους σκληρούς δίσκους.(virus Protection/Virus Warning) Το παράθυρο εργασίας για την ενεργοποίηση του ελέγχου έναντι ιών IDE Setup Με την βοήθεια της παραμέτρου IDE Setup γίνεται αυτόματα η ανίχνευση των συσκευών (σκληροί δίσκοι) που είναι συνδεδεμένες στα 4 κανάλια IDE Το παράθυρο εργασίας για την ρύθμιση του συσκευών IDE

288 Color Set 288 Η παράμετρος Color Set αλλάζει το χρώμα των παραθύρων του BIOS setup program. Το παράθυρο εργασίας για την ρύθμιση του χρώματος Original Φορτώνονται οι εξ' ορισμού ρυθμίσεις για όλες τις παραμέτρους του BIOS. Το παράθυρο εργασίας για το φόρτωμα των εξ' ορισμού ρυθμίσεων

289 Optimal 289 Φορτώνονται εκείνες οι ρυθμίσεις για όλες τις παραμέτρους του BIOS που κάνουν τη μητρική πλακέτα και γενικά όλο το σύστημα να λειτουργεί στα όρια των δυνατοτήτων του. Το παράθυρο εργασίας για το φόρτωμα των optimal ρυθμίσεων Fail-safe Φορτώνονται εκείνες οι ρυθμίσεις για όλες τις παραμέτρους του BIOS που "φαίνονται" να είναι οι πιο αξιόπιστες. Το παράθυρο εργασίας για το φόρτωμα των ρυθμίσεων fail-safe

290 Ακολουθία Βημάτων Εκκίνησης 290 Εισαγωγή Συνήθως η διαδικασία της εκκίνησης (system boot sequence) περιλαμβάνει τα παρακάτω βήματα (επιμέρους διαφορές μπορεί να παρουσιάζονται εξαιτίας διαφορετικού κατασκευαστή του BIOS ή του hardware ή ακόμη και εξαιτίας των διαφορετικών περιφερειακών συσκευών που χρησιμοποιούνται). ΒΗΜΑ 1 Όταν πατήσουμε το κουμπί για την εκκίνηση του υπολογιστή (power ON), αρχικά διοχετεύεται ρεύμα στο τροφοδοτικό του. Χρειάζεται κάποιο μικρό χρονικό διάστημα μέχρι να σταθεροποιηθεί η ένταση του ρεύματος κατά τη διάρκεια του οποίου τα περισσότερα μέρη του υπολογιστή δεν τροφοδοτούνται με ρεύμα. Αυξομειώσεις στην ένταση του ρεύματος μπορεί να προκαλέσουν σοβαρές βλάβες στα κυκλώματα, για αυτό και τα chipsets παράγουν ένα σήμα αναμονής (reset signal) προς τον επεξεργαστή, μέχρι που να ειδοποιηθούν από το τροφοδοτικό μέσω ενός σήματος (Power Good Signal) ότι η ένταση του ρεύματος έχει σταθεροποιηθεί και δεν υπάρχει επομένως κανένας κίνδυνος καταστροφής των κυκλωμάτων. Στην συνέχεια τα chipsets ενημερώνουν με ένα σήμα επίτρεψης τον επεξεργαστή ότι μπορεί να αρχίσει να "εργάζεται". Το βήμα 1 εκτελείται και όταν πατήσουμε το κουμπί επανεκκίνησης του υπολογιστή (Reset Button). Στην συνέχεια ένα ηλεκτρικό σήμα κατευθύνεται προς τον επεξεργαστή, με σκοπό να καθαρίσει τους εσωτερικούς καταχωρητές του από άχρηστες πληροφορίες. Επίσης αρχικοποιείται ένας καταχωρητής που είναι γνωστός ως Program Counter. Ο Program Counter περιέχει τη διεύθυνση της επόμενης προς εκτέλεση εντολής. Συγκεκριμένα, η αυτή η διεύθυνση είναι η αρχή του προγράμματος BIOS start up program, που είναι αποθηκευμένο μέσα στο chip της ROM BIOS και κρατά τις βασικές πληροφορίες για το σύστημα εισόδου - εξόδου του υπολογιστή. ΒΗΜΑ 2 Αφού ο επεξεργαστής δεν βρίσκει καμιά εντολή προς εκτέλεση στη κύρια μνήμη στρέφεται στην ROM BIOS, για να βρεί το πρόγραμμα εκκίνησης του BIOS (BIOS boot program ή BIOS start up program ). Ψάχνει πάντα σε μια συγκεκριμένη διεύθυνση της ROM BIOS η οποία συνήθως είναι η δεκαεξαδική διεύθυνση FFFF. Στην πραγματικότητα ο επεξεργαστής διαβάζει μια εντολή τύπου "jump" (άλμα σε άλλη διεύθυνση), η οποία τον πληροφορεί που ακριβώς θα βρεί και θα εκτελέσει το πραγματικό BIOS start up program. Από εδώ και πέρα τον έλεγχο αναλαμβάνει το BIOS start up program που καθορίζει την ακολουθία των διαδικασιών που πρόκυτε να εκτελεστούν στη συνέχεια. ΒΗΜΑ 3 Ο επεξεργαστής χρησιμοποιεί τη διεύθυνση που διάβασε για να βρεί και να εκτελέσει το BIOS start up program, το οποίο στη συνέχεια θα καλέσει προς εκτέλεση το πρόγραμμα ελέγχου POST (Power-on Self Test). Πριν γίνουν όλα αυτά, ο επεξεργαστής ελέγχει τον ίδιο του τον ευατό, καθώς και την ορθότητα του προγράμματος POST, συγκρίνοντας τα αποτελέσματα που βρήκε με πληροφορίες που είναι μόνιμα αποθηκευμένες σε διάφορες διευθύνσεις της ROM BIOS.

291 ΒΗΜΑ Ο επεξεργαστής στέλνει διάφορα σήματα μέσω των διαύλων του συστήματος προς όλα τα μέρη του υπολογιστή. Αυτή η διαδικασία γίνεται για να εξασφαλιστεί ότι όλα τα κυκλώματα λειτουργούν σύμφωνα με τις προδιαγραφές. ΒΗΜΑ 5 Το πρόγραμμα POST διαβάζει τα περιεχόμενα της CMOS, προκειμένου να ενημερωθεί για τις βασικές ρυθμίσεις του συστήματος. ΒΗΜΑ 6 Ο επεξεργαστής ελέγχει το χρονισμό του συστήματος (system timer), ο οποίος συγχρονίζει όλες τις λειτουργίες του υπολογιστή. ΒΗΜΑ 7 Το BIOS startup program ερευνά την κάρτα γραφικών του συστήματος. Στην πραγματικότητα, η κάρτα γραφικών είναι εφοδιασμένη με το δικό της BIOS που καθορίζει τον τρόπο λειτουργίας της. Το BIOS start up program εκτελεί το BIOS της κάρτας γραφικών το οποίο "αρχικοποιεί" (initialization) την κάρτα γραφικών. Στους νεότερους υπολογιστές κατά την εκτέλεση του κώδικα BIOS της κάρτας γραφικών, εμφανίζονται σχετικές πληροφορίες στην οθόνη, πριν ακόμα εμφανιστούν πληροφορίες σχετικά με το ίδιο το BIOS του συστήματος. ΒΗΜΑ 8 Το πρόγραμμα POST εκτελεί τον έλεγχο της κύριας μνήμης RAM. Συγκεκριμένα, ο επεξεργαστής γράφει διάφορες πληροφορίες σε κάθε chip της μνήμης και στη συνέχεια διαβάζει αυτές τις πληροφορίες. Οι πληροφορίες που γράφτηκαν και διαβάστηκαν συγκρίνονται, προκειμένου να ανιχνευτούν πιθανά λάθη στην κύρια μνήμη. Παράλληλα, γίνεται η ανίχνευση του τύπου της κύριας μνήμης καθώς και η καταμέτρησή της. Ο χρήστης σε αυτή τη φάση βλέπει στο πάνω δεξιά μέρος της οθόνης να πραγματοποιείται η καταμέτρηση της κύριας μνήμης. ΒΗΜΑ 9 Ο επεξεργαστής ελέγχει διάφορες παραμέτρους του πληκτρολογίου, καθώς επίσης και αν έχει πατηθεί κάποιο πλήκτρο. Για παράδειγμα, αν πατηθεί το πλήκτρο "F1", τρέχει το BIOS setup program. ΒΗΜΑ 10 Το POST στέλνει σήματα μέσω των διάλων του συστήματος προς τους σκληρούς δίσκους καθώς και προς τους οδηγούς εύκαπτων δίσκων για να τους ανιχνεύσει και για να καθορίσει τον τύπο τους. Η εκτέλεση του κώδικα BIOS των οδηγών γίνεται για να αναγνωριστούν τα ιδιαίτερα χαρακτηριστικά τους και ο τρόπος λειτουργίας τους. ΒΗΜΑ 11 Τα αποτελέσματα και οι πληροφορίες που συγκέντρωσε το πρόγραμμα POST από του ελέγχους που έκανε, συγκρίνονται με τις αντίστοιχες πληροφορίες που είναι αποθηκευμένες στο chip CMOS του BIOS. Οι πληροφορίες της CMOS δεν σβήνονται κάθε φορά που κλείνουμε τον υπολογιστή, αφού η CMOS είναι συνδεδεμένη με μια μικρή μπαταρία. Εάν κατά τη διάρκεια αυτών των ελέγχων προκύψει κάποιο λάθος ενημερώνεται

292 ο χρήστης με ένα σχετικό μήνυμα. Ο τρόπος αποκωδικοποίησης των λαθών και προτεινόμενες λύσεις εξαρτώνται από τον κατασκευαστή του υπολογιστή αλλά και του BIOS (χρησιμοποιούνται συνήθως τα πρότυπα των εταιριών Award, AMI BIOS, Phoenix) και περιγράφονται στα συνοδευτικά έντυπα αγοράς του υπολογιστή στο τμήμα με γενικό τίτλο Troubleshooting Expert. ΒΗΜΑ Το BIOS ψάχνει και ταυτοποιεί συσκευές που είναι συνδεδεμένες στις διάφορες θύρες επικοινωνίας (COM, LPT). Οι περισσότερες κάρτες προσαρμοστών, όπως οι προσαρμοστές δικτύου, διαθέτουν δικό τους BIOS, που είναι απαραίτητο για να μπορούν να λειτουργούν με βάση τις προδιαγραφές τους. Οι κάρτες επέκτασης είναι "εξωτερικό" hardware και η ενοποίηση τους με τη μητρική πλακέτα γίνεται κατά τη διαδικασία του BIOS start up, μέσω του κώδικα BIOS που είναι αποθηκευμένος στο chip ROM των καρτών. Συστήματα που διαθέτουν συσκευές με δικό τους BIOS αναγνωρίζουν αυτούς τους κώδικες και τους ενσωματώνουν στον κώδικα BIOS του συστήματος. Η ίδια διαδικασία γίνεται και με τη μνήμη των συσκευών που ενοποιείται με την κύρια μνήμη του συστήματος. Επίσης, οι σύγχρονοι υπολογιστές χρησιμοποιούν το χαρακτηριστικό Plug and Play για να κάνουν την κατανομή των πηγών του συστήματος στις διάφορες συσκευές του υπολογιστή. Τελικά, τα δεδομένα BIOS (BIOS data) που θα χρησιμοποιηθούν από το λειτουργικό σύστημα περιλαμβάνουν: δεδομένα της ROM BIOS του συστήματος, δεδομένα της CMOS και δεδομένα από τις ROM BIOS των καρτών επέκτασης. Όλες αυτές οι πληροφορίες αντιγράφονται στην κύρια μνήμη RAM, προκειμένου να είναι διαθέσιμες στο λειτουργικό σύστημα. Δεδομένα ΒΙΟS που μεταφέρονται στην κύρια μνήμη του συστήματος ΒΗΜΑ 13 Ακολουθεί η εμφάνιση πληροφοριών στην οθόνη (start up screen) σχετικά με τα χαρακτηριστικά του BIOS. Συγκεκριμένα παρουσιάζονται συνήθως τα εξής στοιχεία: Ο κατασκευαστής του BIOS (BIOS Manufacturer) και ο κωδικός αναγνώρισης (Version Number). Η ημερομηνία κατασκευής του BIOS (BIOS Date) η οποία μπορεί να χρησιμοποιηθεί για να καθοριστούν μερικά ιδιαίτερα χαρακτηριστικά του υπολογιστή, μιας και μερικές ημερομηνίες (magic dates) είναι καθοριστικές όσον αφορά την παρουσίαση νέων γενιών υπολογιστών.

293 ΒΗΜΑ 14 Το πλήκτρο (setup program key) για το "τρέξιμο" του BIOS setup program. Τα περισσότερο χρησιμοποιούμενα πλήκτρα είναι το "Delete"και"F2". Μια μικρή αναφορά (System Logo) σχετικά με την εταιρία που κατασκευάζει το BIOS ή τον κατασκευαστή της μητρικής πλακέτας ή τον κατασκευαστή ολόκληρου του υπολογιστή. Μια αναφορά (Energy Star Logo) η οποία εμφανίζεται μόνο αν το BIOS υποστηρίζει το Energy Star Standard (όλα τα σύγχρονα BIOS παρέχουν αυτή την υποσήριξη). Ο αριθμός παραγωγής (Serial Number) του BIOS που χρησιμοποιείται για να ελεγχθεί η συμβατότητα του με τη μητρική πλακέτα. Εμφανίζεται στο κάτω μέρος της οθόνης. Λίγο πριν αρχίσει το "φόρτωμα" του λειτουργικού συστήματος, εμφανίζεται στην οθόνη ένας πίνακας που δίνει διάφορες πληροφορίες σχετικά με ορισμένες ρυθμίσεις του συστήματος και το διαθέσιμο hardware. Το είδος των πληροφοριών εξαρτάται τόσο από το BIOS, όσο και από το μοντέλο του υπολογιστή. Ελέγχοντας αυτές τις πληροφορίες μπορούμε να διαγνώσουμε προβλήματα κατά την εγκατάσταση των παραμέτρων του BIOS, αν και ο πίνακας εξαφανίζεται γρήγορα (πατώντας το πλήκτρο "Pause/Break" μπορούμε να "παγώσουμε" την οθόνη και να διαβάσουμε τις πληροφορίες). Συνήθως εμφανίζονται πληροφορίες που σχετίζονται με: Processor (CPU) Type: Αναγράφεται η οικογένεια επεξεργαστών στην οποία ανήκει ο επεξεργαστης του υπολογιστή (παράδειγμα "Pentium" ή "Pentium Pro"). Coprocessor: Αν ο υπολογιστής διαθέτει μαθηματικό συνεπεξεργαστή εμφανίζεται ο αντίστοιχος τύπος του. Όλες οι νέες γενιές υπολογιστών διαθέτουν μαθηματικό συνεπεξεργαστή, ενώ το πιο συνηθισμένο μήνυμα που εμφανίζεται είναι "Installed" ή "Integrated". Clock speed: Είναι η ταχύτητα του επεξεργαστή σε MHz. Μερικά BIOS αναγράφουν δίπλα στην ταχύτητα του επεξεργαστή και τον τύπο του. Floppy Drive A: Ο τύπος και η χωρητικότητα του οδηγού εύκαμπτων δίσκων Α: (αν υπάρχει). Floppy Drive Β: Ο τύπος και η χωρητικότητα του οδηγού εύκαμπτων δίσκων Β: (αν υπάρχει). IDE/ATA Drives: Τα νεότερα BIOS υποστηρίζουν 4 οδηγούς IDE που χαρακτηρίζονται ως πρωτεύον (master και slave) και δευτερεύον (master και slave). Για κάθε οδηγό που είναι εγκατεστημένος εμφανίζονται πληροφορίες σχετικά με το μέγεθος και το μοντέλο καθώς και ο κατασκευαστής του. Επίσης αν ανιχνευτεί οδηγός IDE (ATAPI) CD ROM εμφανίζονται σχετικές πληροφορίες. Base Memory Size: Είναι η συμβατική (conventional memory) μνήμη του συστήματος που συνήθως έχει μέγεθος 640KB. Extended Memory Size: Είναι η εκτεταμένη μνήμη του συστήματος. Αν προστεθεί στη βασική (base) μνήμη η αντίστοιχη ένδειξη είναι 128KB, 256KB ή 384KB. Cache Size : Η ποσότητα της κρυφής μνήμης του συστήματος. Memory Type and Configuration: Εμφανίζεται το είδος της τεχνολογίας της μνήμης καθώς και πόσα bank μνήμης έχουν βρεθεί (για παράδειγμα "EDO RAM at bank 1" ή "FP : 0"). 293

294 ΒΗΜΑ 15 Display Type: Συνήθως αναγράφεται η ένδειξη VGA / EGA αν και δεν είναι και ο ασφαλέστερος τρόπος για να αναγνωριστεί ο προσαρμοστής γραφικών (video adapter) του συστήματος. Serial Port(s): Είναι οι διευθύνσεις των σειριακών (COM) θυρών. Συνήθως υπάρχουν δυο διευθύνσεις : 3F8 και 2F8. Parallel Port(s): Είναι οι διευθύνσεις των παράλληλων (LPT) θυρών. Συνήθως υπάρχει μια διεύθυνση : 378 ή 278 ή 3BC. Plag and Play Devices: Μια αναφορά για τις κάρτες επέκτασης των οδηγών Plag and Play. Αφού ολοκληρωθούν όλοι οι έλεγχοι σχετικά με το hardware του υπολογιστή το BIOS start up program αναζητεί έναν οδηγό από τον οποίο θα φορτωθεί το λειτουργικό σύστημα. Αρχικά ψάχνει στον οδηγό εύκαμπτων δίσκων (A:) και σε περίπτωση που βρεί δισκέτα τοποθετημένη μέσα στον οδηγό ελέγχει αν είναι η σωστή δισκέτα εκκίνησης. Αν πρόκειται για τη δισκέτα εκκίνησης αναζητείται η βασική εγγραφή εκκίνησης της δισκέτας που βρίσκεται στον πρώτο τομέα της, διαφορετικά πληροφορείται ο χρήστης μέσω ενός μηνύματος στην οθόνη ότι η δισκέτα δεν ικανοποιεί τις απαιτήσεις και πρέπει να αντικατασταθεί με τη σωστή δισκέτα εκκίνησης. Στην περίπτωση που δεν υπάρχει δισκέτα στον οδηγό (Α:) το BIOS start up program ψάχνει στο σκληρό δίσκο. Τα περισσότερα BIOS setup programs παρέχουν τη δυνατότητα στο χρήστη να αλλάξει την σειρά αναζήτησης, όπως επίσης και να προσθέσει νέους οδηγούς (οδηγός CD ROM) στην ακολουθία που καθορίζεται στην επιλογή boot sequence του BIOS setup program. Στην περίπτωση που κανένας οδηγός από αυτούς που είναι στην ακολουθία αναζήτησης δεν είναι διαθέσιμος ή υπάρχει κάποιο μηχανικό πρόβλημα, η διαδικασία εκκίνησης διακόπτεται αυτόματα και ο υπολογιστής αδρανοποιείται. Παράλληλα εμφανίζεται σχετικό μήνυμα, το περιεχόμενο του οποίου μπορεί να είναι κατανοητό (No boot device available) ή μη κατανοητό (NO ROM BASIC-SYSTEM HALTED) για έναν απλό χρήστη. Καλό θα είναι να φροντίζουμε να έχουμε αρκετά αντίτυπα δισκετών εκκίνησης για κάθε πιθανό ενδεχόμενο. Από τη στιγμή που έχει προσδιοριστεί ο οδηγός από τον οποίο θα φορτωθεί το λειτουργικό σύστημα, το BIOS start up program ψάχνει πληροφορίες σχετικές με τη διαδικασία εκκίνησης του λειτουργικού συστήματος. Αν ο οδηγός εκκίνησης είναι ο σκληρός δίσκος τότε το BIOS start up ψάχνει την βασική εγγραφή εκκίνησης που βρίσκεται στον πρώτο τομέα του δίσκου (κύλινδρος 0, κεφαλή 0, τομέας 1). Στην περίπτωση που ο σκληρός δίσκος έχει διαχωριστεί σε διαμερίσματα (partitions) το BIOS start up program αναζητά την βασική εγγραφή εκκίνησης εγγραφή που βρίσκεται στο πρώτο τομέα του δίσκου (κύλινδρος 0, κεφαλή 0, τομέας 1) και περιέχει πληροφορίες σχετικές με τα διαμερίσματα. Κάθε διαμέρισμα έχει τη δική του εγγραφή εκκίνησης και ανάλογα με το διαμέρισμα εκκίνησης χρησιμοποιείτα η αντίστοιχη εγγραφή. Αν το BIOS start up program βρει τις σωστές πληροφορίες στην εγγραφή εκκίνησης, τότε ο κώδικας της εγγραφής αναλαμβάνει τον έλεγχο του συστήματος και αρχίζει το πραγματικό φόρτωμα του λειτουργικού συστήματος. Αν ολοκληρωθεί με επιτυχία το φόρτωμα του λειτουργικού συστήματος, ο υπολογιστής είναι πλέον έτοιμος να εκτελέσει κάποια εφαρμογή ή απλή εντολή του χρήστη. 294

295 Γενικά Συσκευές Εισόδου Πληκτρολόγιο Το πληκτρολόγιο ενός υπολογιστή είναι μία περιοχή διακοπτών, κάθε ένας από τους οποίους, όταν πατιέται, στέλνει στον υπολογιστή ένα μονάδικό σήμα. Σήμερα, χρησιμοποιούνται κυρίως δύο τύποι διακοπτών: μηχανικοί και ελαστικής μεμβράνης. Οι μηχανικοί διακόπτες είναι απλώς διακόπτες "εκτίναξης", έτσι όταν πατούνται ολοκληρώνουν το κύκλωμα και όταν απομακρυνθεί η πίεση από πάνω τους επανέρχονται στην αρχική τους θέση. Αυτός είναι ο τύπος που χρησιμοποιείται σε "κλίκ" πληκτρολόγια (όπως έχει επικρατήσει να λέγονται) με αρκετή απτή ανάδραση. 295 Διακόπτης (πλήκτρο) πληκτρολογίου Οι μεμβράνες αποτελούνται από τρία λεπτά στρώματα: το πρώτο έχει πάνω του αγώγιμα εκτυπωμένα ίχνη, το δεύτερο είναι ένας διαχωριστής με τρύπες και το τρίτο είναι ένα αγώγιμο επίπεδο που έχει εξογκώματα. Ένα ελαστικό έλασμα πάνω από αυτό δίνει την αίσθηση της ελαστικότητας. Όταν πιέζεται ένα πλήκτρο, αναγκάζει τα δύο αγώγιμα επίπεδα να ενωθούν και να ολοκληρώσουν το κύκλωμα. Στην κορυφή υπάρχει ένα πλαστικό προστατευτικό κάλυμμα το οποίο περιέχει τρύπες για να κρατά τα πλήκτρα στοιχισμένα. Ένας σημαντικός παράγοντας για τα πλήκτρα είναι η καμπύλη της δύναμής εκτόπισης, η οποία δείχνει το πόση δύναμη απαιτείται για πατηθεί ένα πλήκτρο και πώς αυτή η δύναμη ποικίλει κατά τη διάρκεια των διαφορετικών θέσεων ενός πλήκτου προς τα κάτω. Έρευνες έχουν δείξει ότι οι περισσότεροι άνθρωποι προτιμούν αυτή η δύναμη να είναι από 80 ως 100 γραμμάρια, αλλά οι κονσόλες παιχνιδιών μπορεί μερικές φορές να φτάνουν και τα 120 γραμμάρια ή και παραπάνω, ενώ άλλα πλήκτρα μπορούν να πιέζονται με 50 γραμμάρια. Τα πλήκτρα συνδέονται σαν ένας πίνακας, του οποίου τα σήματα των γραμμών και των στηλών του φτάνουν στον μικροελεγκτή πληκτρολογίου. Αυτός είναι ένα κύκλωμα μέσα στο πληκτρολόγιο, το οποίο μεταφράζει τα σήματα που δέχεται μέσω ενός δικού του ενσωματωμένου firmware προγράμματος. Προγράμματα firmware είναι εκείνα τα οποία γράφονται σε επίπεδο hardware για ένα συγκεκριμένο σκοπό και αποθηκεύονται σε μνήμες ROM. Ένα συγκεκριμένο πάτημα πλήκτρου ίσως δείνει το σήμα γραμμή 3 και στήλη B, ο μικροελεγκτής πρέπει π.χ.να μεταφράσει αυτό σαν ένα A και να στείλει τον κατάλληλο κώδικα για το A στον υπολογιστή. Αυτοί οι κώδικες για κάθε σύμβολο είναι ορισμένοι στο BIOS του υπολογιστή, αν και οι ορισμοί των γραμμών και των στηλών είναι ειδικοί μόνο για το συγκεκριμένο πληκτρολόγιο.

296 296 Μικροελεγκτής πληκτρολογίου Το πρόγραμμα firmware για τα πληκτρολόγια, γίνεται όλο και πιο πολύπλοκο καθώς οι κατασκευαστές κάνουν τα πληκτρολόγιά τους περισσότερο σύνθετα. Δεν είναι σπάνιο για ένα προγραμματιζόμενο πληκτρολόγιο, στο οποίο μερικά πλήκτρα έχουν πολλές εναλλακτικές λειτουργίες, να χρειάζονται περίπου 8 KB μνήμης ROM για να αποθηκεύσουν το πρόγραμμα firmware. Οι περισσότερες προγραμματιζόμενες λειτουργίες εκτελούνται μέσω ενός οδηγού (driver) ο οποίος τρέχει μέσα στον υπολογιστή. Ο μικροελεγκτής πληκτρολογίου, είναι επίσης υπεύθυνος για τις διαπραγματεύσεις με τον ελεγκτή πληκτρολογίου που υπάρχει μέσα στον υπολογιστή αλλά και να αναφέρει την παρουσία του πληκτρολογίου στο λογισμικού ώστε να μπορεί να το χρησιμοποιεί. Οι δύο αυτοί ελεγκτές επικοινωνούν ασύγχρονα μέσω του καλωδίου του πληκτρολογίου. Σήμερα έχουν αναπτυχθεί τα λεγόμενα εργονομικά πληκτρολόγια τα οποία δουλεύουν με την εξής ιδέα της διχοτόμησης της επιφάνειας του πληκτρολογίου σε δύο διαφορετικά επίπεδα, τα οποία σχηματίσουν μεταξύ τους γωνία. Εργονομικό πληκτρολόγιο Η σχεδίασης αυτή έγινε για να έχουν τα χέρια του χρήστη μία πιο φυσική θέση όταν χρησιμοποιεί το πληκτρολόγιο. Επίσης μερικά πληκτρολόγια είναι ρυθμιζόμενα ώστε να μπορεί ο κάθε χρήστης να βρει την πιο κατάλληλη γιαυτόν γωνία των επιφανειών του πληκτρολογίου. Υπάρχουν επίσης και ασύρματα πληκτρολόγια.

297 297 Ασύρματο πληκτρολόγιο

298 Ποντίκι 298 Εισαγωγή Το ποντίκι είναι μία συσκευή εισόδου που σήμερα χρησιμοποιείται σε όλα τα συστήματα υπολογιστών. Το ποντίκι έκανε την εμφανισή του όταν παρουσιάστηκαν τα πρώτα παραθυρικά περιβάλλοντα επικοινωνίας με το χρήστη. Ας δούμε όμως τι είναι το ποντίκι και πώς δουλεύει. Ποντίκι Πως δουλεύει το σύστημα του ποντικιού Ένα ποντίκι αποτελείται από δύο μεταβλητές αντιστάσεις, οι οποίες είναι κάθετα τοποθετημένες μεταξύ τους, έτσι ώστε να αντιλαμβάνονται μέσω της σφαίρας που εφάπτονται, τις ποσότητες των κινήσεων σε κάθε έναν από τους δύο άξονες X και Υ. Οι κινήσεις αυτές μεταδίδονται στη σφαίρα μέσω της κίνησης στο επίπεδο. Αναλυτικά ένα τυπικό σύστημα ελέγχου ποντικιού προσωπικού υπολογιστή έχει τα ακόλουθα μέρη: Αισθητήρες (μεταβλητές αντιστάσεις που εφάπτονται στη σφαίρα) Ελεγκτής ποντικιού Σύνδεση επικοινωνίας Interface δεδομένων Πρόγραμμα οδήγησης συσκευής (Driver) Λογισμικό (π.χ. λειτουργικό σύστημα) Οι αισθητήρες είναι πρώτον, αναγνωριστικές συσκευές κίνησης, οι οποίοι αισθάνονται την κίνηση του ποντικιού και δεύτερον κουμπιά διακοπτών, τα οποία αισθάνονται τις καταστάσεις των κουμπιών.

299 299 Αισθητήρες ποντικιού Ο ελεγκτής του ποντικιού διαβάζει την κατάσταση αυτών των αισθητήρων και επίσης λαμβάνει υπόψη του την τρέχουσα θέση του ποντικιού. Όταν αυτή η πληροφορία αλλάζει, ο ελεγκτής του ποντικιού στέλνει ένα πακέτο δεδομένων στον ελεγκτή interface δεδομένων του υπολογιστή. Το πρόγραμμα οδήγησης συσκευής ποντικιού μέσα στον υπολογιστή λαμβάνει το πακέτο δεδομένων, αποκωδικοποιεί αυτήν την πληροφορία και δρά ανάλογα με αυτή. Συνήθως το πρόγραμμα οδήγησης της συσκευής του ποντικιού έχει την πληροφορία για την τρέχουσα κατάσταση του ποντικιού (θέση και κατάστασης διακοπτών) και μεταφέρει αυτήν την πληροφορία στην εφαρμογή που τρέχει ή το λειτουργικό σύστημα όταν αυτά ρωτούν να μάθουν σχετικά με το ποντίκι. Επίσης, το πρόγραμμα αυτό καλεί τις ρουτίνες μετακίνησης του δείκτη (cursor) όταν η συσκευή του ποντικιού μετακινείται και στέλνει μυνήματα στο λογισμικό όταν πατιούνται τα κουμπιά του ποντικιού. Σε ένα συνηθισμένο σύγχρονο οδηγό συσκευής ποντικιού προσωπικού υπολογιστή η πραγματική κίνηση του κέρσορα δεν είναι γραμικώς σχετική με την κίνηση του ποντικιού. Αυτό γίνεται γιατί έχει διαπιστωθεί ότι είναι καλύτερα να αλλάξουμε την κίνηση του ποντικιού σε διαφορετική κίνηση του κέρσορα παρά να μετακινούμε τον δείκτη κατά ένα εικονοστοιχείο όταν η συσκευή του ποντικιού κάνει ένα βήμα. Έρευνες έχουν δείξει ότι υπάρχουν δύο βασικές κινήσεις στη χρήση του ποντικιού: μετακίνηση του δείκτη στην επιθυμητή περιοχή και μετακίνηση του δείκτη στον επιθυμητό στόχο. Αυτές οι δύο κινήσεις έχουν αλλήλοσυγκρουόμενες απαιτήσεις. Έστι το πρόβλημα λύθηκε ελέγχοντας τις κινήσεις του ποντικιού και αλλάζοντας τα CPI (counts per inch) χαρακτηριστικά. Όταν το ποντίκι μετακινείται αργά παραμένει 100 CPI και όταν μετακινείται γρήγορα φαίνεται να είναι 400 CPI. Αυτή η μέθοδος προσαρμογής με βάση το CPI έχει γίνει αποδεκτή από τον εξ ορισμού οδηγό των Windows 95 και είναι η πιο διαδεδομένη μέθοδος μετάφρασης των κινήσεων του ποντικιού σε μετακινήσεις του δείκτη στην οθόνη.

300 300 Ρύθμιση της ταχύτητας κίνησης του δείκτη στα Windows 95 Σύστημα μετάδοσης της κίνησης Το πλέον συνηθισμένο ποντίκι που χρησιμοποιείται σήμερα είναι το οπτο-μαγνητικό. Στο ποντίκι αυτό οι αισθητήρες κίνησης δεν είναι τίποτα άλλο από δύο μικροί κύλινδροι οι οποίοι εφάπτονται σε μία σφαίρα που περιστρέφεται όταν το ποντίκι μετακινείται. Στην άκρη αυτών των κυλίνδρων υπάρχουν δύο δίσκοι (ένας για τον κάθε ένα) οι οποίοι είναι κολλημένοι με τον κύλινδρο και περιστρέφονται μαζί του. Οι δίσκοι αυτοί έχουν στην άκρη τους εξοχές, μοιάζουν δηλαδή με γρανάζια. Η περιστροφή του κάθε δίσκου γίνεται μέσα σε ένα κελί ανίχνευσης φωτός που περιέχει δύο διόδους εκπομπής και δύο αισθητήρες φωτός. Καθώς ο δίσκος γυρνά, οι αισθητήρες βλέπουν το φώς να αναβοσβήνει αφού παιρνούν μπροστά του οι εξοχές του δίσκου, δείχνοντας έτσι ότι υπάρχει μία κίνηση του ποντικιού, ενώ η μετατόπιση μεταξύ των δύο ανιχνευτών δείχνει την κατεύθυνση της κίνησης. Δίοδοι εκπομπής και αισθητήρες φωτός Επίσης μέσα στο ποντίκι υπάρχεί ένας διακόπτης για κάθε πλήκτρο του ποντικιού και ένας μικροελεγκτής που μεταφράζει τα σήματα των ανιχνευτών και των πλήκτρων, χρησιμοποιώντας το δικό του firmware πρόγραμμα, σε πακέτα δεδομένων τα οποία στέλνονται στον υπολογιστη.

Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4

Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4 H A R D W A R E Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4 Επεξεργαστής Σελίδα 4 Κύρια μνήμη Σελίδα 5 Κάρτα γραφικών Σελίδα 5 Οθόνη Σελίδα 6 Οδηγός

Διαβάστε περισσότερα

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ 1964 1981 Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία Τεχνολογία Επιδόσεις Το 1958, ο Τζακ Κίλμπυ (Jack Kilby) της εταιρείας Texas Instruments κατάφερε

Διαβάστε περισσότερα

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

Διαβάστε περισσότερα

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.

Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa. Πληροφορική 1 Διδάσκων:Μ.Χατζόπουλος, Παραδόσεις:Τρίτη 4-6, Τετάρτη 1-3; (Αμφιθέατρο Α15) Πληροφορίες στην ιστοσελίδα του μαθήματος http://www.di.uoa.gr/~organosi/ 2 Η δομή του μαθήματος Εισαγωγή στην

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

1 η Γενιά Υπολογιστών

1 η Γενιά Υπολογιστών 1 η Γενιά Υπολογιστών 1946-1956 Για πρώτη φορά δημιουργήθηκε ένα τεράστιο μηχάνημα που αντί για μηχανικά μέρη χρησιμοποιούσε ηλεκτρονικές λυχνίες, κατασκευασμένες από τον Λι Ντε Φορέ (Lee DeForest). Ο

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

Διαβάστε περισσότερα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

Διαβάστε περισσότερα

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται

Διαβάστε περισσότερα

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

Διαβάστε περισσότερα

Σύντοµη Ιστορία της Πληροφορικής

Σύντοµη Ιστορία της Πληροφορικής Σύντοµη Ιστορία της Πληροφορικής Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων και Τοπογράφων Μηχανικών Ρ. Κορακίτης Οκτώβριος 2004 Περίληψη Επειδή το παρόν προσδιορίζεται, σε µεγάλο βαθµό, από το παρελθόν,

Διαβάστε περισσότερα

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

Διαβάστε περισσότερα

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ kv@hua.gr Στόχος Μαθήματος Εισαγωγή σε Βασικούς Όρους Πληροφορικής και Τηλεματικής. Εφαρμογές Τηλεματικής. Αναφορά στις κοινωνικές επιπτώσεις των Υπολογιστών.

Διαβάστε περισσότερα

Η ΙΣΤΟΡΙΑ ΤΩΝ ΠΡΟΣΩΠΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr

Η ΙΣΤΟΡΙΑ ΤΩΝ ΠΡΟΣΩΠΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ!!! 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ!!!! Χατζηνικόλας Κώστας www.costaschatzinikolas.gr Η ΙΣΤΟΡΙΑ ΤΩΝ ΠΡΟΣΩΠΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ 1 ο ΕΠΑΛ ΡΟΔΟΥ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Χατζηνικόλας Κώστας www.costaschatzinikolas.gr ΑΒΑΚΑΣ (Αρχαία Βαβυλωνία - 2200 πχ) Οι αρχαίοι Βαβυλώνιοι, λόγω της ανάπτυξης του

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Άριστος Πασιάς 1 ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Η ΔΟΜΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Άριστος Πασιάς Σεπτέμβριος 2017 2 Στόχοι: Στο τέλος αυτού του μαθήματος ο μαθητή πρέπει: Να μπορεί να αναφέρει τα κύρια χαρακτηριστικά

Διαβάστε περισσότερα

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία Το 1944 με την κατασκευή του υπολογιστή Mark I από τον Howard Aiken και την εταιρεία κατασκευής ηλεκτρονικών υπολογιστών IBM και από το 1950 μπήκανε

Διαβάστε περισσότερα

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη

Διαβάστε περισσότερα

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Δρ. Γκόγκος Χρήστος Επιστήμη των υπολογιστών Computer Science (CS) ή Information

Διαβάστε περισσότερα

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών

1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών 1.4 Τεχνολογικές εξελίξεις στο Υλικό Υπολογιστών Μεταξύ του 2700 π.χ. και 2300 π.χ. εμφανίστηκε για πρώτη φορά ο Σουμεριακός Άβακας, ένας πίνακας με διαδοχικές στήλες που οριοθετούσαν τις διαδοχικές τάξεις

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

Διαβάστε περισσότερα

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης Το εσωτερικό ενός PC 1 Το κουτί του PC (περίβλημα) περιέχει όλα τα βασικά μέρη του συστήματος Δύο κατηγορίες κουτιών: Desktop και Tower Mini tower Midi tower Full tower Κεντρική μονάδα Ο τύπος του κουτιού

Διαβάστε περισσότερα

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

Διαβάστε περισσότερα

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή 1 Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή μνήμη(cache). Η cache είναι πολύ σημαντική, πολύ γρήγορη,

Διαβάστε περισσότερα

Κεφάλαιο 2.4: Εργασία με εικονίδια

Κεφάλαιο 2.4: Εργασία με εικονίδια Κεφάλαιο 2.4: Εργασία με εικονίδια 2.4.1 Συχνότερα εμφανιζόμενα εικονίδια των Windows Τα πιο συνηθισμένα εικονίδια, που μπορεί να συναντήσουμε, είναι: Εικονίδια συστήματος: Τα Windows εμφανίζουν τα στοιχεία

Διαβάστε περισσότερα

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΙΚΟΣ ΔΙΚΤΥΩΝ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΕΡΓΑΣΙΑ ΜΕ ΤΙΤΛΟ ΕΠΕΞΕΡΓΑΣΤΕΣ - CPU Μπακρατσάς Γιώργος geback007@yahoo.gr Δεκέμβριος, 2014 Περιεχόμενα ΕΙΣΑΓΩΓΗ... 3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 4 ΧΡΟΝΟΛΟΓΙΕΣ

Διαβάστε περισσότερα

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή - Εισαγωγή - Αρχιτεκτονική προσωπικού υπολογιστή - Βασικά τμήματα ενός προσωπικού υπολογιστή - Η κεντρική μονάδα Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς:

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 1 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Πληροφορική Η επιστήμη που ασχολείται με: τη συλλογή την αποθήκευση την

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα1 Υλικό Λογισμικό και Εφαρμογές Κεφ1: Υλικό Υπολογιστών - Hardware Τι ονομάζουμε υλικό υπολογιστών; Με τον όρο υλικό (hardware) αναφερόμαστε σε οτιδήποτε έχει μια φυσική-υλική υπόσταση σε ένα υπολογιστικό

Διαβάστε περισσότερα

Αρβανίτη Κατερίνα Κατζιλιέρη Μαρία Μπεζαντέ Καλλιόπη Παναγοπούλου Κατερίνα

Αρβανίτη Κατερίνα Κατζιλιέρη Μαρία Μπεζαντέ Καλλιόπη Παναγοπούλου Κατερίνα Αρβανίτη Κατερίνα Κατζιλιέρη Μαρία Μπεζαντέ Καλλιόπη Παναγοπούλου Κατερίνα Ήταν ο πρώτος υπολογιστής γενικής χρήσης, δηλαδή μπορούσε να προγραμματιστεί για να λύσει ένα οποιοδήποτε πρόβλημα. Ανακοινώθηκε

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής Κεφάλαιο 4 ο Ο Προσωπικός Υπολογιστής Μάθημα 4.3 Ο Επεξεργαστής - Εισαγωγή - Συχνότητα λειτουργίας - Εύρος διαδρόμου δεδομένων - Εύρος διαδρόμου διευθύνσεων - Εύρος καταχωρητών Όταν ολοκληρώσεις το μάθημα

Διαβάστε περισσότερα

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Γενική εικόνα Στο σχήμα βλέπουμε μία γενική εικόνα του εσωτερικού της Κεντρική Μονάδας του υπολογιστή: Τροφοδοτικό Είναι μία ηλεκτρική μικροσυσκευή,

Διαβάστε περισσότερα

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

Διαβάστε περισσότερα

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

Διαβάστε περισσότερα

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Η εμφάνιση και η εξέλιξη των Η/Υ

Εισαγωγή στους Η/Υ. Η εμφάνιση και η εξέλιξη των Η/Υ Εισαγωγή στους Η/Υ Η εμφάνιση και η εξέλιξη των Η/Υ 1 Η ιστορία και η εξέλιξη του Η/Υ (1) Ιστορική αναδρομή Επιτεύγματα Μελλοντικές κατευθύνσεις 2 Οι πρόγονοι του Η/Υ Γνωστές υπολογιστικές μορφές ειδικού

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος Τι σημαίνει ο όρος ψηφιακό ; Όλα τα φυσικά φαινόμενα που συμβαίνουν στη φύση είναι αναλογικές διαδικασίες. Ένα αναλογικό σύστημα λοιπόν μπορεί να λάβει άπειρες συνεχόμενες τιμές

Διαβάστε περισσότερα

4 η γενιά ( δεκαετία 70 έως σήμερα) Δομικό Στοιχείο : Ολοκληρωμένο κύκλωμα ή τσιπ μεγάλης κλίμακας ολοκλήρωσης.

4 η γενιά ( δεκαετία 70 έως σήμερα) Δομικό Στοιχείο : Ολοκληρωμένο κύκλωμα ή τσιπ μεγάλης κλίμακας ολοκλήρωσης. Γενιές Η/Υ Χωρίζουμε τη χρονική περίοδο από τη στιγμή της εμφάνισης του πρώτου Η/Υ (του ENIAC) μέχρι σήμερα σε χρονικά διαστήματα, τα οποία καθορίζονται από αλλαγές στην τεχνολογία κατασκευής των Η/Υ και

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

Διαβάστε περισσότερα

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

Διαβάστε περισσότερα

Πληροφορική και Υπολογιστές

Πληροφορική και Υπολογιστές Πληροφορική και Υπολογιστές Πληροφορική είναι η επιστήμη και η τεχνολογία που ασχολείται με τις πληροφορίες, τα μέσα και τους τρόπους επεξεργασίας των πληροφοριών, χρησιμοποιώντας ως βασικό εργαλείο τον

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δρ. Χριστόφορος Χριστοφόρου Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Υλικό (Hardware)/Δομή του υπολογιστή Υπολογιστικά συστήματα: Στρώματα 1 Επικοινωνία

Διαβάστε περισσότερα

Βασικές Έννοιες Πληροφορικής

Βασικές Έννοιες Πληροφορικής Βασικές Έννοιες Πληροφορικής 1. Τι είναι ο Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι οποιαδήποτε συσκευή μεγάλη ή μικρή που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με

Διαβάστε περισσότερα

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

Διαβάστε περισσότερα

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

Διαβάστε περισσότερα

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών Η επεξεργασία των δεδομένων ακολουθεί μια στερεότυπη διαδρομή: τα δεδομένα εισάγονται στο υπολογιστικό σύστημα, υφίστανται μια ορισμένη επεξεργασία και

Διαβάστε περισσότερα

ΙΣΤΟΡΙΚΗ ΕΞΕΛΙΞΗ ΥΠΟΛΟΓΙΣΤΩΝ

ΙΣΤΟΡΙΚΗ ΕΞΕΛΙΞΗ ΥΠΟΛΟΓΙΣΤΩΝ Σχολικό Βιβλίο - Κεφάλαιο 1 ΙΣΤΟΡΙΚΗ ΕΞΕΛΙΞΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΡΟΥΣΙΑΣΗ 2 Ευάγγελος Χρ. Ζιούλας (Καθηγητής Πληροφορικής) ΑΒΑΚΑΣ Πρώτη υπολογιστική μηχανή της ιστορίας (3000 π.χ.) Αρχαίο σύστημα ΑΒΑΚΑ Μοντέρνο

Διαβάστε περισσότερα

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

Διαβάστε περισσότερα

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07 Τμήμα θεωρίας: Α.Μ. 8, 9 Κάθε Πέμπτη, 11πμ-2μμ, ΑΜΦ23. Διδάσκων: Ντίνος Φερεντίνος Γραφείο 118 email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό

Διαβάστε περισσότερα

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο AEN ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΠΛΟΙΑΡΧΩΝ Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο ΘΕΩΡΙΑ 3 η Διάλεξη ΧΑΣΑΝΗΣ ΒΑΣΙΛΕΙΟΣ ΥΠΟΛΟΓΙΣΤΙΚΟ ΣΥΣΤΗΜΑ Υπολογιστικό σύστημα: Ένα δυναμικό σύστημα που: Χρησιμοποιείται για επίλυση προβλημάτων

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ 1.1 Το Υπολογιστικό Σύστηµα ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ Από τον υπολογιστή των Αντικυθήρων µέχρι τα αυτοκίνητα χωρίς οδηγό Κατηγορίες µε βάση το µέγεθος και τη χρήση: Υπερυπολογιστές (supercomputers)

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Επανάληψη 1 Ο νόμος του Moore λέει ότι: a) Η πυκνότητα των κυκλωμάτων της μνήμης είναι πάντα τριπλάσια αυτής των ολοκληρωμένων κυκλωμάτων. b) Κάθε 18 μήνες

Διαβάστε περισσότερα

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 2 : Η εξέλιξη και η απόδοση των υπολογιστών Καρβούνης Ευάγγελος 1 Η Γενιά: Λυχνίες κενού Electronic Numerical

Διαβάστε περισσότερα

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Τμήμα Λογιστικής. 1 Στέργιος Παλαμάς

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Τμήμα Λογιστικής. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής 1 Θεματικές Ενότητες Ιστορική Αναδρομή - Εφαρμογές Αρχιτεκτονική ενός Η/Υ - Υλικό Σύνθεση ενός Προσωπικού Υπολογιστή Λογισμικό Η/Υ - Λειτουργικά Συστήματα

Διαβάστε περισσότερα

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη Τ.Π.Ε. - Φ.ΠΛΗΡ.Ε-001 ΜΟΝΑΔΕΣ ΜΕΤΡΗΣΗΣ ΧΩΡΗΤΙΚΟΤΗΤΑΣ ΜΝΗΜΗΣ 1 Όνομα Σχολείου 5ο Ολοήμερο Δημοτικό Σχολείο Μεταμόρφωσης Τάξη Ε Τίτλος μαθήματος Τ.Π.Ε. Τίτλος ενότητας Μονάδες μέτρησης χωρητικότητας μνήμης

Διαβάστε περισσότερα

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή Στόχοι Μαθήματος: Να γνωρίσετε τις βασικές λειτουργίες ενός Η/Υ. Να γνωρίσετε τις έννοιες δεδομένα, πληροφορία, επεξεργασία,

Διαβάστε περισσότερα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ Κεφάλαιο 1: Υλικό Υπολογιστών (Hardware) 1.1: Το υπολογιστικό σύστημα ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1. Τι αντιλαμβάνεστε με τον όρο υλικό (hardware); [σελ. 8] Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε

Διαβάστε περισσότερα

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας

Μάθημα 3.2: Κεντρική Μονάδα Επεξεργασίας Κεφάλαιο 3 ο Αρχιτεκτονική Υπολογιστών Μάθημα 3.: Κεντρική Μονάδα Επεξεργασίας Όταν ολοκληρώσεις το κεφάλαιο θα μπορείς: Να σχεδιάζεις την εσωτερική δομή της ΚΜΕ και να εξηγείς τη λειτουργία των επιμέρους

Διαβάστε περισσότερα

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

Διαβάστε περισσότερα

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Επανάληψη 1 Ο νόμος του Moore λέει ότι a) Η πυκνότητα των κυκλωμάτων της Μνήμης είναι πάντα τριπλάσια αυτής των ολοκληρωμένων κυκλωμάτων. b) Κάθε 18 μήνες

Διαβάστε περισσότερα

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

Διαβάστε περισσότερα

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το Υλικό του Υπολογιστή ΠΡΟΒΛΗΜΑ ΔΕΔΟΜΕΝΑ (Είναι τα στοιχεία που δίνουμε για λυθεί το πρόβλημα) ΕΠΕΓΕΡΓΑΣΙΑ (Είναι οι σκέψεις και οι πράξεις που

Διαβάστε περισσότερα

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις:

Τεχνολογία μνημών Ημιαγωγικές μνήμες Μνήμες που προσπελαύνονται με διευθύνσεις: Σύστημα μνήμης Ο κύριος σκοπός στο σχεδιασμό ενός συστήματος μνήμης είναι να προσφέρουμε επαρκή χωρητικότητα αποθήκευσης διατηρώντας ένα αποδεκτό επίπεδο μέσης απόδοσης και επίσης χαμηλό μέσο κόστος ανά

Διαβάστε περισσότερα

Analog vs Digital. Δούρβας Ιωάννης ΙΩΑΝΝΗΣ ΔΟΥΡΒΑΣ

Analog vs Digital. Δούρβας Ιωάννης ΙΩΑΝΝΗΣ ΔΟΥΡΒΑΣ Analog vs Digital Δούρβας Ιωάννης Ηλεκτρονικός Υπολογιστής ψηφιακή μηχανή Ο υπολογιστής αποτελείται από ένα σύνολο (εκατομμύρια) ηλεκτρικά κυκλώματα. Για τα ηλεκτρικά κυκλώματα υπάρχουν μόνο 2 καταστάσεις.

Διαβάστε περισσότερα

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

Διαβάστε περισσότερα

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας

ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1. Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΣΗΜΕΙΩΣΕΙΣ ΓΡΑΦΙΣΤΙΚΗ ΜΕ Η/Υ 1 Του Αποστόλου Παπαποστόλου Επίκουρου Καθηγητή του ΤΕΙ Αθήνας ΕΙΣΑΓΩΓΗ Οι γραφικές παραστάσεις µε υπολογιστές έχουν προχωρήσει πολύ από τότε που οι ε- πιστήµονες που δούλευαν

Διαβάστε περισσότερα

Βασική δοµή και Λειτουργία Υπολογιστή

Βασική δοµή και Λειτουργία Υπολογιστή Βασική δοµή και Λειτουργία Υπολογιστή Η τεχνολογία των Η/Υ έχει βασιστεί στη λειτουργία του ανθρώπινου οργανισµού. Οπως ο άνθρωπος πέρνει εξωτερικά ερεθίσµατα από το περιβάλλον τα επεξεργάζεται και αντιδρά

Διαβάστε περισσότερα

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

Διαβάστε περισσότερα

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα

Διαβάστε περισσότερα

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 3 ο ΛΕΙΤΟΥΡΓΙΚΗ ΔΟΜΗ ΥΠΟΛΟΓΙΣΤΗ ΒΑΣΙΚΗ ΜΟΝΑΔΑ ΜΝΗΜΗ & CPU Λειτουργική Δομή Αρχιτεκτονική Von Neumann Όλοι οι υπολογιστές ακολουθούν την αρχιτεκτονική κατά Von-Neumann

Διαβάστε περισσότερα

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας. Δεδομένα Πληροφορίες Δεδομένα: Μια ομάδα από σύμβολα, αριθμούς, λέξεις που αντιπροσωπεύουν κάτι και θα χρησιμοποιηθούν σε μια επεξεργασία. Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα,

Διαβάστε περισσότερα

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας Ινστιτούτα Επαγγελματική Κατάρτισης ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Σημειώσεις Θεωρίας Επιμέλεια: Ματθές Δημήτριος Αθήνα 2017 Μάθημα 1: Υπολογιστικό Σύστημα 1.1 Τι είναι ένα υπολογιστικό σύστημα Ένα υπολογιστικό

Διαβάστε περισσότερα

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη της Πληροφορικής και των Υπολογιστών

Εισαγωγή στην Επιστήμη της Πληροφορικής και των Υπολογιστών Εισαγωγή στην Επιστήμη της Πληροφορικής και των Υπολογιστών 1 Υπεύθυνη Μαθήματος και Διδάσκουσα ΑΦΡΟΔΙΤΗ ΤΣΑΛΓΑΤΙΔΟΥ Αναπλ. Καθηγήτρια, Τμ. Πληροφορικής και Υπολογιστών ΕΚΠΑ E-mail: atsalga@di.uoa.gr 2

Διαβάστε περισσότερα

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΥΠΟΛΟΓΙΣΤΕΣ Ι Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ Τα επιμέρους τμήματα ΕΙΣΟ ΟΣ ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΕΛΕΓΧΟΥ ΑΡΙΘΜΗΤΙΚΗ ΛΟΓΙΚΗ ΕΞΟ ΟΣ ΚΕΝΤΡΙΚΗ ΕΠΕΞΕΡΓΑΣΙΑΣ 1 2 Αναπαράσταση μεγεθών ΜΕΤΡΟΥΜΕΝΟ ΜΕΓΕΘΟΣ ΑΝΑΛΟΓΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ

Διαβάστε περισσότερα

ΣΗΜΕΙΩΣΕΙΣ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΣΗΜΕΙΩΣΕΙΣ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ο ηλεκτρονικός υπολογιστής είναι μια ηλεκτρονική συσκευή που έχει την ικανότητα να επεξεργάζεται μεγάλο όγκο πληροφοριών και δεδομένων με ταχύτητα και ακρίβεια. Επίσης ένας η/υ μπορεί να αποθηκεύσει πληροφορίες,

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

ΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ

ΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΕΙΣΑΓΩΓΗ Οι υπολογιστές αποτελούνται από πολλά ηλεκτρονικά εξαρτήματα. Κάθε εξάρτημα έχει ειδικό ρόλο στη λειτουργία του υπολογιστή. Όλα όμως έχουν σχεδιαστεί, για να συνεργάζονται,

Διαβάστε περισσότερα

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή»

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή» 1 2 1) ΚΟΤΣΙ ΤΠΟΛΟΓΙΣΗ (computer case): το κύριο κουτί που περικλείει τις βασικές συσκευές του υπολογιστή (επεξεργαστή, αποθήκες, RAM). 2) ΜΗΣΡΙΚΗ (motherboard): η πιο μεγάλη κάρτα πάνω στην οποία βρίσκεται

Διαβάστε περισσότερα

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ. Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ. Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΠΛΗΡΟΦΟΡΙΚΗ Ι Περιεχόμενα Μαθήματος Ιστορία των Η/Υ Χρήση & Δομή των Η/Υ HardWare & SoftWare 3 κύριες ενότητες ΙΣΤΟΡΙΑ ΤΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 0: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

ΕΝΟΤΗΤΑ 0: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 0: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.1: Εισαγωγικές Έννοιες της Πληροφορικής Το Υλικό (Hardware) Συσκευές υπολογιστών μέρος Αντώνης Χατζηνούσκας

Διαβάστε περισσότερα

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ

ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ ΜΝΗΜΕΣ ΕΙ Η ΜΝΗΜΩΝ ΠΤΥΤΙΚΕΣ ΜΗ ΠΤΥΤΙΚΕΣ 2 ΠΤΥΤΙΚΕΣ vs ΜΗ ΠΤΥΤΙΚΕΣ Πτητική είναι η µνήµη η οποία χάνει το περιεχόµενο της µε το σβήσιµο του ηλεκτρονικού υπολογιστή (διακοπή τροφοδοσίας), ενώ µη πτητική

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE ΜΑΘΗΜΑ 1- MULTIPLE CHOICE 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο σύστημα d)

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 Μάθημα : Μικροϋπολογιστές Τεχνολογία Τ.Σ. Ι, Θεωρητικής κατεύθυνσης Ημερομηνία

Διαβάστε περισσότερα

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

Διαβάστε περισσότερα

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών (IΙI)

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

Διαβάστε περισσότερα

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

Διαβάστε περισσότερα

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 2. Μάκης Σταματελάτος

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 2. Μάκης Σταματελάτος TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 2 Μάκης Σταματελάτος makiss@teiion.gr Περιεχόμενα Τα Κύρια Μέρη του Η/Υ (συνέχεια) Αναπαράσταση της πληροφορίας στον Η/Υ Δυαδικό

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ. Β Γυμνασίου Σχολικό έτος

ΠΛΗΡΟΦΟΡΙΚΗ. Β Γυμνασίου Σχολικό έτος ΠΛΗΡΟΦΟΡΙΚΗ Β Γυμνασίου Σχολικό έτος 2009-2010 Γνωρίζω το υπολογιστή ως ενιαίο σύστημα Ψηφιακός Κόσμος Το Εσωτερικό του Υ. Σ. Πολυμέσα Δίκτυα Η / Υ Ψηφιακός Κόσμος Ψηφιακό Αναλογικό Με τον όρο Ψηφιακό

Διαβάστε περισσότερα

Χειµερινό εξάµηνο

Χειµερινό εξάµηνο Χειµερινό εξάµηνο 2014-2015 ! Διδάσκοντες: Λευτέρης Μαµάτας και Σταύρος Σουραβλάς! E-mails: emamatas@uom.gr και sourstav@uom.gr! Υλικό Μαθήµατος: G. Βeekman & M.J. Quinn (2009), Εισαγωγη στην πληροφορικη,

Διαβάστε περισσότερα

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο 2006-07

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο 2006-07 Πληροφορίες Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Μόνο για την επόµενη Τετάρτη 25/10, το µάθηµα (12-13) δεν θα πραγµατοποιηθεί. Τα εργαστήρια θα ξεκινήσουν

Διαβάστε περισσότερα

ΗΜΜΥ 100 Εισαγωγή στην Τεχνολογία

ΗΜΜΥ 100 Εισαγωγή στην Τεχνολογία University of Cyprus ptical Diagnostics ΗΜΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 14 60 MB RAM κι όμως με ξέχασες! Ομαδική Εργασία 4 Η Στόχοι και Διαδικασία Καθορίστε Τον σκοπό και τους στόχους Τη διαδικασία

Διαβάστε περισσότερα

Το εσωτερικό του Υπολογιστή. Χρήστος Ρέτσας 1

Το εσωτερικό του Υπολογιστή. Χρήστος Ρέτσας 1 Το εσωτερικό του Υπολογιστή Χρήστος Ρέτσας 1 Περιφερειακές (εξωτερικές) συσκευές Κεντρική Μονάδα 2 Που είναι ηκεντρική Μονάδα; Φορητός H/Y (laptop, netbook) Χρήστος Ρέτσας 3 Που είναι ηκεντρική Μονάδα;

Διαβάστε περισσότερα