SlideShare a Scribd company logo
1 of 248
Download to read offline
Aρχιτεκτονική Yπολογιστών I
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Σχολή Θετικών Επιστηµών και Τεχνολογίας
Πρόγραµµα Σπουδών
ΠΛHPOΦOPIKH
Θεµατική Ενότητα
ΨHΦIAKA ΣYΣTHMATA
Τόµος B'
Aρχιτεκτονική Yπολογιστών I
∆HMHTPIOΣ NIKOΛOΣ
Kαθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής
Πανεπιστηµίου Πατρών
ΠATPA 2001
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Σχολή Θετικών Επιστηµών και Τεχνολογίας
Πρόγραµµα Σπουδών
ΠΛHPOΦOPIKH
Θεµατική Ενότητα
ΨHΦIAKA ΣYΣTHMATA
Τόµος B'
Aρχιτεκτονική Yπολογιστών I
Συγγραφή
∆HMHTPIOΣ NIKOΛOΣ
Kαθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής
Πανεπιστηµίου Πατρών
Κριτική Ανάγνωση
XAPI∆HMOΣ BEPΓOΣ
Λέκτορας Tµήµατος Mηχανικών H/Y & Πληροφορικής
Πανεπιστηµίου Πατρών
Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου
ΣΩKPATHΣ KATΣIKAΣ
Καθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Aιγαίου
Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση
ΓEPAΣIMOΣ MΩPAΪTHΣ
Γλωσσική Επιµέλεια
EΛΠI∆A BAKAΛOΓΛOY
Τεχνική Επιµέλεια
ΕΣΠΙ ΕΚ∆ΟΤΙΚΗ Ε.Π.Ε.
Καλλιτεχνική Επιµέλεια – Σελιδοποίηση
TYPORAMA
Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων
ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 1997–2001
ISBN: 960–538–196–6
Kωδικός Έκδοσης: ΠΛH 21/2
Copyright 2000 για την Ελλάδα και όλο τον κόσµο
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244
Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού
ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη.
Aφιερώνεται
στη µνήµη της µητέρας µου Eυαγγελίας,
στον πατέρα µου Bασίλη,
στη σύζυγό µου Γιώτα
και στις κόρες µου Eυαγγελία και Eλένη
¶ÂÚȯfiÌÂÓ·
K ∂ º ∞ § ∞ π √ 1
∂ÈÛ·ÁˆÁ‹ ÛÙËÓ ‰ÔÌ‹, ÔÚÁ¿ÓˆÛË, ÏÂÈÙÔ˘ÚÁ›· Î·È ·ÍÈÔÏfiÁËÛË ÙˆÓ
˘ÔÏÔÁÈÛÙÒÓ
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................... 13
1.1 Υλικό και λογισµικό .............................................................................................................. 14
1.2 Αρχιτεκτονική υπολογιστών .......................................................................................... 16
1.3 ∆οµή, οργάνωση και λειτουργία υπολογιστών .............................................. 21
1.3.1 ∆οµή του υπολογιστή ............................................................................................. 22
1.3.2 Κεντρική µονάδα επεξεργασίας .................................................................... 24
1.3.3 Σύστηµα µνήµης ......................................................................................................... 28
1.3.4 Κρυφή µνήµη (Cache memory) .................................................................... 33
1.3.5 Ιδεατή µνήµη (Virtual Memory) ................................................................... 37
Σύνοψη ενότητας........................................................................................................................ 39
1.4 Μονάδες εισόδου/εξόδου .................................................................................................. 40
1.5 Απόδοση υπολογιστών ........................................................................................................ 42
Σύνοψη κεφαλαίου.................................................................................................................................... 44
K ∂ º ∞ § ∞ π √ 2
√ÚÁ¿ÓˆÛË Ù˘ ÏËÚÔÊÔÚ›·˜ ÛÙÔÓ ˘ÔÏÔÁÈÛÙ‹
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................... 47
2.1 ∆εδοµένα ......................................................................................................................................... 48
2.1.1 Αριθµητικά δεδοµένα ............................................................................................. 48
2.1.2 Αλφαριθµητικά σύµβολα .................................................................................... 57
Σύνοψη ενότητας........................................................................................................................ 60
2.2 Εντολές ............................................................................................................................................. 61
2.2.1 Είδη εντολών γλώσσας µηχανής .................................................................. 61
2.2.2 Τρόποι διευθυνσιοδότησης της κύριας µνήµης
(Addressing Modes) ................................................................................................ 63
2.2.3 Είδη και µέγεθος τελούµενων ......................................................................... 68
2.2.4 Ταξινόµηση υπολογιστών βάσει του συνόλου εντολών .......... 69
2.2.5 Κωδικοποίηση του συνόλου εντολών ...................................................... 72
8 A ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ Y ¶ √ § √ ° π ™ ∆ ø ¡ I
Σύνοψη ενότητας........................................................................................................................ 74
Σύνοψη κεφαλαίου.................................................................................................................................... 74
K ∂ º ∞ § ∞ π √ 3
∫ÂÓÙÚÈ΋ ÌÔÓ¿‰· ÂÂÍÂÚÁ·Û›·˜
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................... 77
3.1 Μονάδα επεξεργασίας δεδοµένων ............................................................................ 78
3.1.1 ∆οµή της µονάδας επεξεργασίας δεδοµένων ................................... 78
3.1.2 Μονάδα επεξεργασίας δεδοµένων σταθερής υποδιαστολής ..... 79
3.1.3 Μονάδα επεξεργασίας δεδοµένων κινητής υποδιαστολής .... 94
Σύνοψη ενότητας........................................................................................................................ 98
3.2 Μονάδα Ελέγχου ...................................................................................................................... 98
3.2.1 ∆οµή της µονάδας ελέγχου ............................................................................... 98
3.2.2 Υλοποίηση της µονάδας ελέγχου σαν ακολουθιακό
κύκλωµα ......................................................................................................................... 101
3.2.3 Υλοποίηση της µονάδας ελέγχου µε την τεχνική
του µικροπρογραµµατισµού .......................................................................... 102
3.2.4 Παραµένων έλεγχος .............................................................................................. 114
Σύνοψη ενότητας..................................................................................................................... 115
Σύνοψη κεφαλαίου................................................................................................................................. 115
K ∂ º ∞ § ∞ π √ 4
™‡ÛÙËÌ· ÌÓ‹Ì˘
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................ 117
4.1 Τεχνολογία µνηµών ............................................................................................................. 119
4.1.1 Ηµιαγωγικές µνήµες ............................................................................................. 119
4.1.2 Μαγνητικές µνήµες ............................................................................................... 129
4.1.3. Οπτικές µνήµες ....................................................................................................... 132
Σύνοψη ενότητας..................................................................................................................... 134
4.2 Ιεραρχία µνήµης .................................................................................................................... 136
4.2.1. Τοπικότητα των αναφορών ........................................................................... 138
4.2.2. Σχεδιαστικοί σκοποί ........................................................................................... 140
4.2.3. Κόστος ............................................................................................................................ 141
4.2.4. Απόδοση ιεραρχικής µνήµης ...................................................................... 141
Σύνοψη ενότητας..................................................................................................................... 142
4.3 Κρυφή µνήµη ........................................................................................................................... 143
4.3.1 Τακτική προσκόµισης µπλοκ πληροφορίας
(fetch policy) ............................................................................................................... 144
4.3.2 Τρόπος απεικόνισης µπλοκ της κύριας µνήµης
σε πλαίσια της κρυφής µνήµης ................................................................. 145
4.3.3 Στρατηγική απελευθέρωσης πλαισίων της κρυφής µνήµης
για προσκόµιση µπλοκ της κύριας µνήµης ...................................... 159
4.3.4 Τακτική ενηµέρωσης του επόµενου επιπέδου
της ιεραρχικής µνήµης ....................................................................................... 160
Σύνοψη ενότητας..................................................................................................................... 164
4.4 Κύρια µνήµη ............................................................................................................................. 166
Σύνοψη κεφαλαίου................................................................................................................................. 169
K ∂ º ∞ § ∞ π √ 5
™‡ÛÙËÌ· ‰È·Û‡Ó‰ÂÛ˘ Î·È ÂÈÛfi‰Ô˘–ÂÍfi‰Ô˘
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................ 171
5.1 Αρτηρίες (Buses) .................................................................................................................. 172
5.1.1 Είδη αρτηριών ........................................................................................................... 172
5.1.2 Σύγχρονες και ασύγχρονες αρτηρίες ..................................................... 179
5.1.3 Ταχύτητα αρτηρίας ................................................................................................ 183
5.1.4 Χρήση της αρτηρίας και διαιτησία ......................................................... 183
Σύνοψη ενότητας..................................................................................................................... 187
5.2 Μέθοδοι ελέγχου της διαδικασίας εισόδου/εξόδου ................................. 188
5.2.1 ∆ιευθυνσιοδότηση των µονάδων εισόδου/εξόδου ..................... 188
5.2.2 Ο ρόλος του λειτουργικού συστήµατος στην διαδικασία
εισόδου/εξόδου ......................................................................................................... 190
5.2.3 Συµµετοχή της ΚΜΕ στη διαδικασία εισόδου/εξόδου .......... 191
Σύνοψη ενότητας..................................................................................................................... 198
Σύνοψη κεφαλαίου................................................................................................................................. 198
¶ A P A P T H M A A
∞ÚÈıÌËÙÈο Û˘ÛÙ‹Ì·Ù·
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά
Eισαγωγικές παρατηρήσεις ............................................................................................................ 201
Α.1 Χρήση αριθµητικών συστηµάτων ............................................................................... 201
9¶ E P I E X O M E N A
1 0 A ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ Y ¶ √ § √ ° π ™ ∆ ø ¡ I
Α.2 Μετατροπή αριθµών από ένα αριθµητικό σύστηµα σε άλλο ............... 204
Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης ..................................................................... 209
Eνδεικτικές Aπαντήσεις ∆ραστηριοτήτων ..................................................................... 237
Γλωσσάρι / Eυρετήριο ...................................................................................................................... 239
Bιβλιογραφία ............................................................................................................................................ 243
¶ÚfiÏÔÁÔ˜
Το βιβλίο αυτό αναφέρεται στην Αρχιτεκτονική Υπολογιστών µε την ευρύ-
τερη έννοια του όρου, που περιλαµβάνει τη δοµή, την οργάνωση και τη λει-
τουργία του υπολογιστή. Έχει γίνει προσπάθεια να αποτελέσει ένα αυτοτε-
λές κείµενο. Τα µόνα προαπαιτούµενα είναι κάποιες στοιχειώδεις γνώσεις
λογικού σχεδιασµού και προγραµµατισµού.
Το βιβλίο αποτελείται από πέντε κεφάλαια και ένα παράρτηµα. Στο πρώτο
κεφάλαιο γίνεται µία εισαγωγή στη δοµή, οργάνωση, λειτουργία και απόδο-
ση των υπολογιστών. Επίσης γίνεται η διαµέριση του υπολογιστή σε τρία
υποσυστήµατα, την Κεντρική Μονάδα Επεξεργασίας, το Σύστηµα Μνήµης
και το Σύστηµα ∆ιασύνδεσης των Μονάδων και τις Μονάδες Εισόδου/Εξό-
δου. Το δεύτερο κεφάλαιο αναφέρεται στην οργάνωση της πληροφορίας στον
υπολογιστή. Σαν πληροφορία θεωρούµε τόσο τα προγράµµατα όσο και τα
δεδοµένα, αριθµητικά και µη. Στο τρίτο κεφάλαιο γίνεται η παρουσίαση της
Κεντρικής Μονάδας Επεξεργασίας. Το πρώτο µέρος αφιερώνεται στη µονά-
δα επεξεργασίας δεδοµένων και το δεύτερο στη µονάδα ελέγχου. Στο τέταρ-
το κεφάλαιο παρουσιάζεται το σύστηµα της µνήµης, ενώ στο πέµπτο κεφά-
λαιο παρουσιάζεται το σύστηµα διασύνδεσης των µονάδων ενός συστήµα-
τος και η διαδικασία εισόδου/εξόδου πληροφοριών από τον υπολογιστή. Στο
παράρτηµα παρουσιάζονται διάφορα αριθµητικά συστήµατα και µέθοδοι
µετατροπής από ένα σύστηµα σε άλλο.
Θεωρώ ότι η εµπειρία και η γνώση που απεκόµισα τα τελευταία δέκα χρόνια
που διδάσκω το µάθηµα Αρχιτεκτονική Υπολογιστών στο τµήµα Μηχανικών
Ηλεκτρονικών Υπολογιστών και Πληροφορικής της Πολυτεχνικής Σχολής
του Πανεπιστηµίου Πατρών ήταν καθοριστική για τη συγγραφή αυτού του
βιβλίου. Εύχοµαι το βιβλίο αυτό να φανεί χρήσιµο στους αναγνώστες.
Τελειώνοντας θα ήθελα να ευχαριστήσω τη σύζυγό µου για την κατανόηση
που έδειξε όλο το διάστηµα της συγγραφής του βιβλίου. Οι κόρες µου ήταν
και είναι πολύ µικρές για να δείξουν κατανόηση. Ελπίζω να µην ταύτισαν το
Ελληνικό Ανοικτό Πανεπιστήµιο µε την κακιά µάγισσα των παραµυθιών.
Πάτρα 5 Ιουνίου 2000
∆ηµήτρης Νικολός
∂ÈÛ·ÁˆÁ‹ ÛÙË ¢ÔÌ‹, √ÚÁ¿ÓˆÛË, §ÂÈÙÔ˘ÚÁ›· Î·È ∞ÍÈÔÏfiÁËÛË ÙˆÓ
ÀÔÏÔÁÈÛÙÒÓ
™ÎÔfi˜
Σκοπός του κεφαλαίου αυτού είναι να µάθετε από τι αποτελείται ένας υπο-
λογιστής, πώς λειτουργεί και ποια είναι τα χαρακτηριστικά, που καθορίζουν
την αρχιτεκτονική του. Επίσης να καταστείτε ικανοί να εκτιµήσετε την από-
δοση ενός υπολογιστή.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν θα έχετε µελετήσει αυτό το κεφάλαιο, θα µπορείτε να :
• περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής
• περιγράψετε τον τρόπο λειτουργίας ενός υπολογιστή
• εκτιµήσετε την απόδοσή του
ŒÓÓÔȘ ÎÏÂȉȿ
1∫ ∂ º ∞ § ∞ π √
• Yλικό
• Λογισµικό
• Aρχιτεκτονική υπολογιστών
• Oικογένεια υπολογιστών
• Kεντρική µονάδα επεξεργασίας
• Kύρια µνήµη
• Bοηθητική µνήµη
• Aρτηρία διασύνδεσης
• Mονάδες εισόδου και εξόδου
• Aπόδοση υπολογιστή
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Το κεφάλαιο αυτό αποτελείται από πέντε ενότητες. Στην πρώτη ενότητα
κάνουµε µία εισαγωγή στο υλικό και το λογισµικό του υπολογιστή. Στη δεύ-
τερη ενότητα παρουσιάζουµε τις έννοιες της αρχιτεκτονικής των υπολογιστών
και οικογένειας υπολογιστών. Στην τρίτη ενότητα περιγράφουµε τη δοµή,
οργάνωση και λειτουργία του υπολογιστή, ενώ στην τέταρτη ενότητα ασχο-
λούµαστε µε τις µονάδες εισόδου/εξόδου. Τέλος, στην πέµπτη ενότητα περι-
γράφονται τρόποι εκτίµησης της απόδοσης του υπολογιστή.
1 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
1.1 ÀÏÈÎfi Î·È ÏÔÁÈÛÌÈÎfi
™ÎÔfi˜
Σκοπός της ενότητας είναι να κατανοήσετε τι είναι το υλικό (hardware) και
τι το λογισµικό (software). Επίσης να καταστείτε ικανοί να διακρίνετε το λογι-
σµικό σε διάφορες κατηγορίες.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν θα έχετε µελετήσει αυτή την ενότητα ,θα µπορείτε να :
• διακρίνετε τι είναι υλικό και τι είναι λογισµικό
• ταξινοµείτε τα προγράµµατα, που εκτελούνται σε ένα υπολογιστικό σύστη-
µα, ανάλογα µε το σκοπό που αυτά εξυπηρετούν
À§π∫√ ∫∞π §√°π™ªπ∫√
Ο υπολογιστής είναι ένα σύστηµα επεξεργασίας πληροφοριών, που παίρνει
ως είσοδο την προς επεξεργασία πληροφορία και προγράµµατα, τα οποία
καθορίζουν το είδος της επεξεργασίας που θα λάβει χώρα, και παράγει ως
έξοδο τα αποτελέσµατα αυτής της επεξεργασίας. Οι πληροφορίες, που εισά-
γονται στον υπολογιστή προς επεξεργασία καθώς και τα αποτελέσµατα αυτής
της επεξεργασίας, µπορεί να έχουν την µορφή αριθµών, κειµένου, εικόνας,
σχηµάτων, φωνής ή ενός συνδυασµού αυτών. Τα προγράµµατα είναι µία ακο-
λουθία εντολών, που περιγράφονται χρησιµοποιώντας µια συγκεκριµένη
γλώσσα. Όπως µία φυσική γλώσσα, για παράδειγµα η Ελληνική και η Αγγλι-
κή, η γλώσσα, που χρησιµοποιούµε για να γράφουµε προγράµµατα, έχει τη
δική της γραµµατική και το δικό της συντακτικό. Πρέπει να σηµειώσουµε
ότι υπάρχουν περισσότερες από µία γλώσσες συγγραφής προγραµµάτων.
Κάθε υπολογιστικό σύστηµα αποτελείται από το υλικό (hardware) και το
λογισµικό (software). Το υλικό περιλαµβάνει το σύνολο των συσκευών, που
αποτελούν το υπολογιστικό σύστηµα, για παράδειγµα τα ολοκληρωµένα
κυκλώµατα, τους δίσκους, το πληκτρολόγιο και την οθόνη. Το λογισµικό
µπορεί να ορισθεί σαν το σύνολο των προγραµµάτων, που εκτελούνται στο
υπολογιστικό σύστηµα.
Ένα υπολογιστικό σύστηµα µπορούµε να πούµε ότι αποτελείται από την
κεντρική µονάδα και τις περιφερειακές µονάδες. Όσον αφορά το λογισµικό,
µπορούµε να διακρίνουµε τρεις κατηγορίες:
• Tο λογισµικό του συστήµατος (system software)
• Tο διαγνωστικό λογισµικό (diagnostic software)
• Tο λογισµικό των εφαρµογών (application software)
Το λογισµικό του συστήµατος διαχειρίζεται και κατανέµει τα αγαθά του
συστήµατος και προσφέρει στον προγραµµατιστή τα αναγκαία εργαλεία για
τη συγγραφή των προγραµµάτων εφαρµογών. Το λογισµικό του συστήµα-
τος αποτελείται από :
1. Λειτουργικό σύστηµα (operating system). Το λειτουργικό σύστηµα είναι
υπεύθυνο για την καλύτερη κατανοµή και εκµετάλλευση του υλικού, όπως
επίσης και για τη φιλικότερη εµφάνιση του υπολογιστή στο χρήστη.
2. Βοηθητικά προγράµµατα (utility programs). Από τα πιο γνωστά προ-
γράµµατα, που ανήκουν στην κατηγορία αυτή, είναι :
• Προγράµµατα που δίνουν τη δυνατότητα στο χρήστη να δηµιουργήσει
νέα αρχεία ή να σβήσει ήδη υπάρχοντα, να αντιγράψει αρχεία από µία
θέση σε κάποια άλλη θέση του συστήµατος αρχείων κλπ. Σαν παρά-
δειγµα αναφέρουµε το πρόγραµµα "explorer" των WINDOWS 95.
• Προγράµµατα που βοηθάνε τον προγραµµατιστή να γράψει, τροπο-
ποιήσει και αποθηκεύσει προγράµµατα και δεδοµένα, χρησιµοποιώ-
ντας το πληκτρολόγιο και τη οθόνη (editors).
• Τα προγράµµατα βιβλιοθήκης (library routines). Εδώ περιλαµβάνο-
νται προγράµµατα ταξινόµησης των εγγραφών ενός αρχείου, υπολο-
γισµού κλασσικών αριθµητικών συναρτήσεων κλπ.
• Οι µεταφραστές (translators) και οι διερµηνείς (interpreters).
Το διαγνωστικό λογισµικό αποτελείται από ένα σύνολο προγραµµάτων, που
µε τη χρήση τους µπορούµε να ελέγξουµε την ορθή λειτουργία των διάφο-
ρων µονάδων του υπολογιστικού συστήµατος. Το διαγνωστικό λογισµικό
βοηθάει στη γρήγορη ανίχνευση και τον εντοπισµό της θέσης εµφάνισης βλα-
βών. Η αύξηση του κόστους παροχής υπηρεσιών αλλά και το κόστος, που
συνεπάγεται η αδυναµία χρήσης του υπολογιστή µας λόγω βλάβης, οδηγεί
σε αύξηση των απαιτήσεων υλοποίησης υπολογιστικών συστηµάτων στα
οποία η διάγνωση βλαβών και η συντήρηση να γίνεται εύκολα. Εποµένως,
η σπουδαιότητα του διαγνωστικού λογισµικού αυξάνεται συνεχώς.
Προγράµµατα εφαρµογών. Ο αριθµός των προγραµµάτων εφαρµογών είναι
1 5À § π ∫ √ ∫ ∞ π § √ ° π ™ ª π ∫ √
1 6 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
τεράστιος. Σαν παραδείγµατα µπορούµε να αναφέρουµε τα συστήµατα δια-
χείρισης βάσεων δεδοµένων (Data Base Management Systems), τα λογιστι-
κά φύλλα, τους εξοµοιωτές, τα προγράµµατα που προσφέρονται για σχεδία-
ση µε τη βοήθεια του υπολογιστή (Computer Aided Design), τις εφαρµογές
πολυµέσων και τις δικτυακές εφαρµογές.
α. Αναφέρετε τις κύριες κατηγορίες, στις οποίες διακρίνεται το λογισµικό.ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.1
Τι είναι σωστό και τι είναι λάθος από τα παρακάτω;
α. Το πληκτρολόγιο και η οθόνη ανήκουν στο υλικό του υπολογιστή.
β. Σε κάθε εν χρήσει υπολογιστή σήµερα υπάρχει κάποιο λειτουργικό
σύστηµα.
γ. Όλοι οι εν χρήσει υπολογιστές είναι αναγκαίο να διαθέτουν τα ίδια βοη-
θητικά προγράµµατα.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.2
1.2 ∞Ú¯ÈÙÂÎÙÔÓÈ΋ ˘ÔÏÔÁÈÛÙÒÓ
™ÎÔfi˜
Σκοπός της ενότητας είναι να κατανοήσετε ποια είναι τα χαρακτηριστικά που
ορίζουν την αρχιτεκτονική ενός υπολογιστή και τη χρησιµότητα της οικογέ-
νειας υπολογιστών.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να:
• διακρίνετε τις διαφορές µεταξύ δοµής, οργάνωσης, υλοποίησης και αρχι-
τεκτονικής σε επίπεδο γλώσσας µηχανής
• ταξινοµήσετε ένα σύνολο υπολογιστών σε οικογένειες
∞ƒÃπ∆∂∫∆√¡π∫∏ À¶√§√°π™∆ø¡
Αν και ο όρος αρχιτεκτονική υπολογιστών χρησιµοποιείται για πολλά χρό-
νια, δεν υπάρχει ένας γενικά αποδεκτός ορισµός. Για πολλούς υπάρχουν πολ-
λές διάκριτες αρχιτεκτονικές, που περιγράφουν ένα υπολογιστικό σύστηµα
σε διάφορα επίπεδα. Η αρχιτεκτονική σε ένα επίπεδο µπορεί να θεωρηθεί
σαν η λειτουργική εµφάνιση του συστήµατος, που βρίσκεται κάτω από αυτό
το επίπεδο, σ' ένα χρήστη, που βρίσκεται πάνω από το επίπεδο αυτό. Η λει-
τουργική εµφάνιση, δηλαδή συµπεριφορά, ιδιότητες και δυνατότητες του
συστήµατος σ' ένα επίπεδο, καθορίζεται από τη δοµή και οργάνωση του
συστήµατος κάτω από αυτό το επίπεδο. Η δοµή περιγράφει τις µονάδες, από
τις οποίες αποτελείται το σύστηµα, και τον τρόπο διασύνδεσής τους, ενώ η
οργάνωση περιγράφει τη δυναµική αλληλεπίδραση και τη διαχείριση των
µονάδων. Πρέπει να σηµειώσουµε ότι η απόδοση του υπολογιστή σ' ένα επί-
πεδο καθορίζεται από τη δοµή και την οργάνωση του συστήµατος κάτω από
αυτό το επίπεδο, καθώς και τον τρόπο υλοποίησής του. Ο χρήστης, που βρί-
σκεται πάνω από ένα επίπεδο αρχιτεκτονικής, συνήθως δεν ενδιαφέρεται για
τις λεπτοµέρειες του συστήµατος κάτω από αυτό το επίπεδο, παρά µόνο για
τις ιδιότητες επικοινωνίας µε τον υπολογιστή σ' αυτό το επίπεδο.
1 7∞ ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ À ¶ √ § √ ° π ™ ∆ ø ¡
APXITEKTONIKH
επίπεδο συστήµατος
επίπεδο γλωσσών
προγραµµατισµού
επίπεδο λειτουργικού
συστήµατος
επίπεδο συνόλου
εντολών γλώσσας
µηχανής
επίπεδο µικρο-
προγραµµατισµού
XPHΣTEΣ
χρήστες
εφαρµογών
προγραµµατιστές
εφαρµογών
προγραµµατιστές
συστήµατος
προγραµµατιστές
σε γλώσσα
µηχανής
προγραµµατιστές
σε επίπεδο
µικροπρογράµµατος
προγράµµατα εφαρµογών
µεταφραστές γλωσσών
προγραµµατισµού
διαχείρηση αγαθών
µικροκώδικας
υλικό
™¯‹Ì· 1.1
∆ιάφορα επίπεδα
αρχιτεκτονικής
υπολογιστών.
1 8 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
Στο σχήµα 1.1 δίνεται µία εικόνα διαφόρων επιπέδων αρχιτεκτονικής και οι
χρήστες κάθε επιπέδου. Τα χαρακτηριστικά της αρχιτεκτονικής σε επίπεδο
συστήµατος καθορίζονται από το σύνολο των προγραµµάτων εφαρµογής.
Χρήστες είναι οι χρήστες εφαρµογών και το προσωπικό συντήρησης. Η αρχι-
τεκτονική σε επίπεδο γλωσσών προγραµµατισµού περιγράφει όλα τα εργα-
λεία και τις υπηρεσίες, που προσφέρονται στον προγραµµατιστή εφαρµο-
γών. Τα χαρακτηριστικά της αρχιτεκτονικής σε επίπεδο γλωσσών προγραµ-
µατισµού καθορίζονται από το σύνολο των µεταφραστών και οποιωνδήπο-
τε άλλων προγραµµάτων υποστήριξης ανάπτυξης λογισµικού εφαρµογών.
Σ' αυτό το επίπεδο χρήστες είναι οι προγραµµατιστές εφαρµογών. Η αρχι-
τεκτονική σε επίπεδο λειτουργικού συστήµατος αφορά τα χαρακτηριστικά
του λειτουργικού συστήµατος. Τα χαρακτηριστικά του λειτουργικού συστή-
µατος καθορίζονται από τον τρόπο που γίνεται η διαχείριση των αγαθών του
συστήµατος, για παράδειγµα διαχείριση µνήµης, χρονοκατανοµή των δια-
τάξεων (device allocation) και χρονοπρογραµµατισµός (scheduling). Σ' αυτό
το επίπεδο χρήστες είναι οι προγραµµατιστές συστήµατος.
Η αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής περιγράφει την οργά-
νωση της κύριας µνήµης, τους καταχωρητές που είναι προσπελάσιµοι από
τον προγραµµατιστή σε γλώσσα µηχανής, τα διαθέσιµα είδη δεδοµένων και
δοµών δεδοµένων, όπως και τον τρόπο κωδικοποίησής τους και αναπαρά-
στασής τους, τη µορφή και το σύνολο των εντολών και τους τρόπους καθο-
ρισµού διευθύνσεων (addressing modes). Χρήστες στην προκειµένη περί-
πτωση είναι οι προγραµµατιστές σε γλώσσα µηχανής. Το όριο, στο οποίο
ορίζεται η αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής, είναι το
κλασσικό όριο διασύνδεσης υλικού–λογισµικού.
Η αρχιτεκτονική σε επίπεδο µικροπρογραµµατισµού δίνει όλη την πληρο-
φορία που χρειάζεται κάποιος, για να γράψει µικροπρογράµµατα ή να γρά-
ψει έναν µεταφραστή για µία υψηλού επιπέδου γλώσσα µικροπρογραµµατι-
σµού. Είναι φανερό ότι αυτό το επίπεδο αρχιτεκτονικής υπάρχει µόνο στους
υπολογιστές, που χρησιµοποιούν την τεχνική του µικροπρογραµµατισµού.
Στην πλειοψηφία των σύγχρονων εµπορικών επεξεργαστών δεν χρησιµο-
ποιείται η τεχνική αυτή.
Στο βιβλίο αυτό, όπως και σε πολλά άλλα σύγχρονα βιβλία αρχιτεκτονικής
υπολογιστών, θα θεωρήσουµε την αρχιτεκτονική υπολογιστών µε την ευρεία
της έννοια που περικλείει την αρχιτεκτονική σε επίπεδο εντολών γλώσσας
µηχανής, τη δοµή, την οργάνωση, την υλοποίηση (implementation) και την
απόδοση (performance). Η δοµή δίνει τις µονάδες υλικού, από τις οποίες απο-
τελείται ο υπολογιστής, και τον τρόπο που συνδέονται µεταξύ τους, η οργά-
νωση περιγράφει τη δυναµική αλληλεπίδραση και τη διαχείριση των µονά-
δων και η υλοποίηση δίνει τον ακριβή σχεδιασµό των διαφόρων µονάδων
του υπολογιστή και την τεχνολογία που χρησιµοποιείται, CMOS, BiCMOS
κλπ. Σαν παράδειγµα αναφέρουµε ότι η πληροφορία σχετικά µε το εάν ένας
αθροιστής είναι διαδοχικού κρατουµένου (ripple carry) ή πρόβλεψης κρα-
τουµένου (carry lookahead) αφορά την υλοποίηση του υπολογιστή.
Ένα σύνολο υπολογιστών, που έχουν την ίδια αρχιτεκτονική υπολογιστή σε
επίπεδο εντολών γλώσσας µηχανής, λέµε ότι αποτελούν µία οικογένεια ή
σειρά υπολογιστών. Το κύριο χαρακτηριστικό της οικογένειας υπολογιστών
είναι ότι το λογισµικό, που είναι γραµµένο για κάποιον υπολογιστή της οικο-
γένειας, θα εκτελείται σωστά, αν και συνήθως µε διαφορετική ταχύτητα, σε
κάθε άλλο µέλος της οικογένειας. Σαν παραδείγµατα µπορούµε να αναφέ-
ρουµε τις οικογένειες υπολογιστών που βασίζονται αντίστοιχα στις αρχιτε-
κτονικές ΙΒΜ/4300, (IBM, Motorola, Apple)/PowerPC και
Hewlett–Packard/PA–RISC. Οι υπολογιστές που ανήκουν σε µία οικογένεια,
µπορεί να έχουν διαφορετική δοµή ή/και διαφορετική οργάνωση ή/και δια-
φορετική υλοποίηση, εποµένως η ταχύτητα εκτέλεσης προγραµµάτων και η
τιµή αγοράς τους µπορεί να διαφέρει σηµαντικά.
Μερικές φορές στα χαρακτηριστικά µιας αρχιτεκτονικής προστίθενται και
κάποια νέα, χωρίς να αφαιρεθεί κάποιο από τα υπάρχοντα. Για παράδειγµα
µπορεί να προστεθούν κάποιες νέες εντολές ή και κάποιοι νέοι τρόποι καθο-
ρισµού διευθύνσεων της µνήµης χωρίς να αφαιρεθεί κάποιος από τους ήδη
υπάρχοντες. Σ' αυτή την περίπτωση τα προγράµµατα, που εκτελούνταν σε
υπολογιστές που υλοποιούσαν την παλαιά αρχιτεκτονική, µπορούν να εκτε-
λεστούν και σε υπολογιστές που υλοποιούν τη νέα αρχιτεκτονική, χωρίς να
µπορεί να συµβεί και το αντίθετο. Σ' αυτή την περίπτωση λέµε ότι επεκτεί-
ναµε την αρχιτεκτονική µε έναν προς τα άνω συµβατό τρόπο. Σαν παρά-
δειγµα αναφέρουµε την αρχιτεκτονική PA–2.0 της Hewlett–Packard, που
είναι µία επέκταση της αρχιτεκτονικής PA–RISC.
Θα πρέπει να τονίσουµε ότι η συµβατότητα, µε την οποία ασχοληθήκαµε, ανα-
φέρεται σε επίπεδο εκτελέσιµου προγράµµατος. Προγράµµατα που είναι γραµ-
µένα σε κάποια γλώσσα προγραµµατισµού υψηλού επιπέδου, µπορούν να
µεταφραστούν, εφόσον βέβαια είναι διαθέσιµος ο κατάλληλος µεταφραστής
(compiler), για το συγκεκριµένο υπολογιστή και να εκτελεστούν κανονικά.
1 9∞ ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ À ¶ √ § √ ° π ™ ∆ ø ¡
2 0 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
Όταν λαµβάνουν χώρα εξελίξεις στη βασική τεχνολογία, οι υπολογιστές
εξελίσσονται συνήθως προς δύο κατευθύνσεις. Η µία κατεύθυνση είναι προς
υπολογιστές χαµηλότερου κόστους, που µπορούν να χρησιµοποιηθούν σε
εφαρµογές όπου το κόστος χρησιµοποίησης των προηγούµενων υπολογι-
στών ήταν απαγορευτικό, διευρύνοντας έτσι το πεδίο εφαρµογών των υπο-
λογιστών και εποµένως αυξάνοντας τον αριθµό των πωλήσεων. Κάθε χρόνο
οι τιµές των υπολογιστών µειώνονται και γίνεται οικονοµικά βιώσιµη η
χρήση τους σε νέες εφαρµογές. Η άλλη κατεύθυνση είναι προς υπολογιστές
µε βελτιωµένη λειτουργικότητα και απόδοση, ώστε να είναι δυνατόν να
λυθούν προβλήµατα που η επίλυσή τους µε τους προηγούµενους υπολογι-
στές ήταν απαγορευτικά χρονοβόρα. Για παράδειγµα, εάν χρησιµοποιώντας
κάποιον υπολογιστή για την πρόβλεψη του καιρού της επόµενης ηµέρας
απαιτούνταν επεξεργασία των δεδοµένων διάρκειας δύο ηµερών, η πρό-
βλεψη δεν θα είχε καµία αξία.
∆ώστε τον ορισµό καθεµίας από τις επόµενες έννοιες :
α. αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής
β. δοµή
γ. οργάνωση
δ. υλοποίηση
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.3
α. Είναι σωστό ή λάθος ότι δύο υπολογιστές, που ανήκουν στην ίδια οικογέ-
νεια, έχουν την ίδια αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής;
β. Ο υπολογιστής Β προέκυψε προσθέτοντας στην αρχιτεκτονική σε επί-
πεδο εντολών γλώσσας µηχανής του υπολογιστή Α δύο νέους τρόπους
καθορισµού διευθύνσεων.
Τι είναι σωστό από τα παρακάτω;
i. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Α,
όταν εκτελείται στον Β θα χρησιµοποιεί όλους τους τρόπους καθορισµού
διευθύνσεων του Β.
ii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Β,
µπορεί να εκτελεστεί και στον Α.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.4
1.3 ¢ÔÌ‹, ÔÚÁ¿ÓˆÛË Î·È ÏÂÈÙÔ˘ÚÁ›· ˘ÔÏÔÁÈÛÙÒÓ
™ÎÔfi˜
Σκοπός της ενότητας αυτής είναι να κατανοήσετε από ποιες µονάδες αποτε-
λείται ο υπολογιστής και πώς αυτές οι µονάδες συνδέονται µεταξύ τους (δοµή).
Επίσης τον τρόπο, µε τον οποίο οι µονάδες αλληλεπιδρούν µεταξύ τους (οργά-
νωση) και πώς οι χρήστες επικοινωνούν µε τον υπολογιστή διαµέσου των
µονάδων εισόδου και εξόδου. Η ενότητα αυτή, επίσης, θα βοηθήσει στο να
κατανοήσετε τον τρόπο που η δοµή και η οργάνωση του υπολογιστή επηρεά-
ζει την απόδοσή του, µε την οποία θα ασχοληθούµε στην ενότητα 1.5.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να:
• περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής
• κατανοήσετε τη σηµασία των βασικών χαρακτηριστικών κάθε µονάδας
• περιγράψετε τις διαδικασίες που λαµβάνουν χώρα στον υπολογιστή κατά
την εκτέλεση ενός προγράµµατος
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Η ενότητα αυτή αποτελείται από πέντε υποενότητες. Στην υποενότητα 1.3.1
παρουσιάζονται οι µονάδες, από τις οποίες αποτελείται ο υπολογιστής. Στην
υποενότητα 1.3.2 δίνονται τα βασικά χαρακτηριστικά της Κεντρικής Μονά-
δας Επεξεργασίας, ενώ στην 1.3.3 παρουσιάζεται το σύστηµα µνήµης του υπο-
λογιστή. Στις υποενότητες 1.3.4 και 1.3.5 γίνεται µία εισαγωγή στη λειτουρ-
γία της κρυφής και της ιδεατής µνήµης και τους σκοπούς, για τους οποίους
τις χρησιµοποιούµε.
2 1¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
iii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή
Α, µπορεί να εκτελεστεί και στον Β, αλλά δεν θα χρησιµοποιεί τους δύο
νέους τρόπους καθορισµού διευθύνσεων.
2 2 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
1.3.1 ¢ÔÌ‹ ÙÔ˘ ˘ÔÏÔÁÈÛÙ‹
Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας
(ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδε-
σης των µονάδων. Στο σχήµα 1.2 δίνεται η δοµή ενός τυπικού προσωπικού
υπολογιστή.
Η ΚΜΕ είναι η πλέον πολύπλοκη µονάδα του υπολογιστή και έχει την όλη
υπευθυνότητα για την εκτέλεση των προγραµµάτων. Αποτελείται από τη
Μονάδα Επεξεργασίας ∆εδοµένων (Data Path) και τη Μονάδα ελέγχου
(Control Unit). Η Μονάδα Επεξεργασίας ∆εδοµένων µε τη σειρά της απο-
τελείται από κυκλώµατα για την εκτέλεση αριθµητικών και λογικών πράξε-
ων και ένα σύνολο καταχωρητών, που ο αριθµός τους ποικίλλει από υπολο-
γιστή σε υπολογιστή.
Kύρια
µνήµη
Aρτηρία συστήµατος
Mνήµη
µαγνητικού
δίσκου
Eλεγκτής
µονάδας
δίσκου
Kρυφή µνήµη
™¯‹Ì· 1.2
∆οµή ενός προσωπικού
υπολογιστή.
Στη µνήµη ενός υπολογιστή αποθηκεύονται τα δεδοµένα, που θα επεξεργα-
στεί ο υπολογιστής, και τα προγράµµατα, που καθορίζουν την επεξεργασία
που θα γίνει. Είναι γενικά επιθυµητό η µνήµη να είναι πολύ µεγάλης χωρη-
τικότητας και τόσο γρήγορη όσο και η ΚΜΕ, ώστε η ΚΜΕ να µην καθυ-
στερεί κατά την επικοινωνία της µε τη µνήµη. ∆υστυχώς, αφενός οι πολύ
γρήγορες µνήµες είναι πολύ ακριβές αφετέρου, για κατασκευαστικούς
λόγους, µνήµες µεγάλης χωρητικότητας είναι πιο αργές από µνήµες µικρό-
τερης χωρητικότητας της ίδιας τεχνολογίας. ∆εν είναι, λοιπόν, δυνατό (εκτός
από πολύ µικρά συστήµατα ειδικού σκοπού) να χρησιµοποιούµε µία µόνο
µνήµη υψηλής ταχύτητας. Γι’ αυτό, λοιπόν, το λόγο τα προς επεξεργασία
δεδοµένα και τα προγράµµατα αποθηκεύονται σε µία ποικιλία από διαφο-
ρετικές µονάδες µνήµης µε πολύ διαφορετικά χαρακτηριστικά. Αυτές οι
µονάδες µαζί µε τους αλγόριθµους που χρειάζονται για τον έλεγχο και τη
διαχείριση της µνήµης αποτελούν το σύστηµα µνήµης του υπολογιστή.
Μεταξύ των µονάδων µνήµης διακρίνουµε τους καταχωρητές, την κύρια
µνήµη και τη βοηθητική ή δευτερεύουσα µνήµη. Θα πρέπει να σηµειώσου-
µε ότι, αν και η φυσική θέση των καταχωρητών είναι στην ΚΜΕ, οι κατα-
χωρητές ανήκουν στο σύστηµα της µνήµης. Στον υπολογιστή του σχήµατος
1.2 το σύστηµα µνήµης αποτελείται από τους καταχωρητές, που δεν φαίνο-
νται στο σχήµα διότι περιέχονται στην ΚΜΕ, την Μ∆Μ ( θα αναφερθούµε
σ' αυτή στην υποενότητα 1.3.5), την κρυφή µνήµη ( µ' αυτή θα ασχοληθού-
µε στην υποενότητα 1.3.4), την κύρια µνήµη και τη µνήµη µαγνητικού
δίσκου συµπεριλαµβανοµένου του ελεγκτή της.
Η χωρητικότητα κάθε καταχωρητή µετριέται µε το πλήθος των δυαδικών
ψηφίων (bits) ή ψηφιολέξεων (bytes), που µπορούν να αποθηκευτούν σ’
αυτόν. Το δυαδικό ψηφίο παίρνει την τιµή 0 ή 1 και µία ψηφιολέξη αποτε-
λείται από οκτώ δυαδικά ψηφία. Η χωρητικότητα της κύριας µνήµης, όπως
και της κρυφής και της βοηθητικής µνήµης ενός υπολογιστή, µετριέται σε:
• Kbytes ή KB, 1 KB = 210
bytes =1024 bytes
• Mbytes ή MB, 1 MB = 220
bytes =1024 Kbytes
• Gbytes ή GB, 1 GB = 230
bytes =1024 Mbytes
Συνήθως, λόγω του µεγέθους της, η χωρητικότητα της κρυφής µνήµης µετρά-
ται σε ΚΒ, της κύριας σε ΜΒ και της βοηθητικής σε GΒ.
Οι µονάδες εισόδου/εξόδου χρησιµοποιούνται για την επικοινωνία του υπο-
λογιστή µε τον εξωτερικό κόσµο. Η κύρια λειτουργία των µονάδων εισό-
δου/εξόδου είναι να µετατρέπουν την πληροφορία από µία φυσική αναπαρά-
σταση σε κάποια άλλη. Οι µονάδες εισόδου µετατρέπουν την πληροφορία από
µια από τις µορφές που χρησιµοποιούνται στην κοινωνία µας, σε µια από τις
µορφές που χρησιµοποιεί ο υπολογιστής για την εσωτερική αναπαράσταση
της πληροφορίας. Οι µονάδες εξόδου κάνουν το αντίστροφο. Με την αναπα-
ράσταση της πληροφορίας στον υπολογιστή θα ασχοληθούµε στο κεφάλαιο
2. Στον υπολογιστή του σχήµατος 1.2 µονάδες εισόδου/εξόδου είναι η οθόνη
2 3¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
2 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
και το πληκτρολόγιο συµπεριλαµβανοµένων των ελεγκτών τους.
Το σύστηµα διασύνδεσης αποτελείται από τις αρτηρίες διασύνδεσης των δια-
φόρων µονάδων του συστήµατος. Για παράδειγµα, στο σχήµα 1.2 η αρτηρία
του συστήµατος, η αρτηρία εισόδου/εξόδου, οι µονάδες διασύνδεσης και ο
ελεγκτής δικτύου (κάρτα δικτύου) ανήκουν στο σύστηµα διασύνδεσης. Ο
ελεγκτής δικτύου µπορεί να θεωρηθεί και σαν µονάδα εισόδου/εξόδου.
Αναφέρετε τις µονάδες, από τις οποίες αποτελείται ένα υπολογιστικό
σύστηµα.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.5
Αναφέρετε δύο λόγους, για τους οποίους δεν είναι δυνατόν η µνήµη ενός
υπολογιστή γενικού σκοπού να υλοποιείται µε µία µόνον τεχνολογία.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.6
Αναφέρετε τρεις µονάδες µνήµης, που υπάρχουν στο σύστηµα µνήµης κάθε
ενός υπολογιστή.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.7
Συµπληρώστε κάθε πρόταση επιλέγοντας το σωστό όρο:
GBytes, ∆υαδικά ψηφία (bits), Kbytes, ψηφιολέξεις (bytes), Mbytes.
• H χωρητικότητα των καταχωρητών µετράται σε ________.
• H χωρητικότητα της κρυφής µνήµης, που βρίσκεται µεταξύ ΚΜΕ και
κύριας µνήµης, µετράται σε ________.
• H χωρητικότητα της κύριας µνήµης µετράται σε ________.
• H χωρητικότητα της βοηθητικής µνήµης µετράται σε ________.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.8
1.3.2 ∫ÂÓÙÚÈ΋ ÌÔÓ¿‰· ÂÂÍÂÚÁ·Û›·˜
Η Κεντρική Μονάδα Επεξεργασίας, ΚΜΕ, αποτελείται από τη Μονάδα Επε-
ξεργασίας ∆εδοµένων (Data Path) και τη Μονάδα Ελέγχου (Control Unit).
Η ΚΜΕ κατασκευάζεται συνήθως σήµερα σε ένα ολοκληρωµένο κύκλωµα
(Integrated Circuit, IC) και ονοµάζεται επεξεργαστής (processor). Βέβαια,
επιπλέον της Μονάδας Επεξεργασίας ∆εδοµένων και της Μονάδας Ελέγχου,
µπορεί στο ίδιο ολοκληρωµένο µε τον επεξεργαστή να υπάρχουν και άλλες
υποµονάδες, όπως η κρυφή µνήµη (cache memory) και η µονάδα διαχείρι-
σης µνήµης, Μ∆Μ, (Memory Managment Unit, MMU).
Η Μονάδα Επεξεργασίας ∆εδοµένων αποτελείται από κυκλώµατα για την
εκτέλεση αριθµητικών και λογικών πράξεων και ένα σύνολο καταχωρητών,
που ο αριθµός τους ποικίλλει από υπολογιστή σε υπολογιστή. Η Μονάδα Επε-
ξεργασίας ∆εδοµένων στους σύγχρονους επεξεργαστές αποτελείται από δύο
υποµονάδες, τη Μονάδα Επεξεργασίας ∆εδοµένων σταθερής υποδιαστολής
(fixed point arithmetic) και τη Μονάδα Επεξεργασίας ∆εδοµένων κινητής
υποδιαστολής (floating point arithmetic) (Η παρουσίαση της αριθµητικής στα-
θερής και κινητής υποδιαστολής γίνεται στο κεφάλαιο 2.). Σε κάποιες εφαρ-
µογές, όπως για παράδειγµα εφαρµογές επεξεργασίας κειµένου, δεν χρησι-
µοποιούνται καθόλου πράξεις κινητής υποδιαστολής, ενώ υπάρχουν και εφαρ-
µογές που χρησιµοποιούνται ελάχιστα. Παλαιότερα οι κατασκευαστές υπο-
λογιστών, για να ελαττώσουν το κόστος των υπολογιστών και να τους κάνουν
πιο προσιτούς στους χρήστες, σε πολλά συστήµατα γενικού σκοπού δεν ενσω-
µάτωναν τη µονάδα κινητής υποδιαστολής στον επεξεργαστή, αλλά την υλο-
ποιούσαν σε άλλο ολοκληρωµένο κύκλωµα, που ονοµάζεται συν–επεξεργα-
στής (coprocessor) ή µαθηµατικός συνεπεξεργαστής. Με αυτόν τον τρόπο έδι-
ναν τη δυνατότητα στον αγοραστή να αγοράσει τον συν–επεξεργαστή και να
τον προσθέσει στο σύστηµά του, µόνο όταν τον χρειαζόταν. Ένας υπολογι-
στής που δεν είναι εφοδιασµένος µε επεξεργαστή κινητής υποδιαστολής, εκτε-
λεί τις εντολές κινητής υποδιαστολής εκτελώντας προγράµµατα σταθερής
υποδιαστολής, που έχουν σαν αποτέλεσµα τον υπολογισµό του αποτελέσµα-
τος της πράξης κινητής υποδιαστολής. Αντίθετα, στον υπολογιστή που είναι
εφοδιασµένος µε επεξεργαστή κινητής υποδιαστολής, εκτελούνται κατευθεί-
αν στο υλικό σε πολύ µικρότερο χρονικό διάστηµα.
Οι καταχωρητές της Μονάδας Επεξεργασίας ∆εδοµένων σταθερής υποδια-
στολής διακρίνονται σε καταχωρητές ειδικού και γενικού σκοπού. Οι κατα-
χωρητές ειδικού σκοπού επιτελούν κάποια συγκεκριµένη λειτουργία, ενώ οι
καταχωρητές γενικού σκοπού µπορούν να χρησιµοποιηθούν για µία ποικι-
λία λειτουργιών, ανάλογα µε τη θέληση του προγραµµατιστή, για παράδειγ-
µα για την αποθήκευση δεδοµένων, ενδιάµεσων αποτελεσµάτων και τη διευ-
θυνσιοδότηση της µνήµης. Το πλήθος των καταχωρητών ποικίλλει από υπο-
λογιστή σε υπολογιστή. Σαν παραδείγµατα καταχωρητών ειδικού σκοπού
αναφέρουµε το µετρητή προγράµµατος (program counter), που κάθε φορά
2 5¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
2 6 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
περιέχει τη διεύθυνση της θέσης µνήµης που περιέχει την επόµενη προς εκτέ-
λεση εντολή, τους καταχωρητές δείκτη (index registers), που χρησιµοποι-
ούνται στον καθορισµό διευθύνσεων, το δείκτη σωρού (stack pointer), που
χρησιµοποιείται στο µηχανισµό σωρού, και τον καταχωρητή κατάστασης
(status register), που περιγράφει την τρέχουσα κατάσταση διαφόρων υλικών
στοιχείων και αποτελεσµάτων υπολογισµών. Στον Πίνακα 1.1 δίνεται το πλή-
θος των καταχωρητών γενικού σκοπού της Μονάδας Επεξεργασίας ∆εδοµέ-
νων σταθερής υποδιαστολής και το πλήθος των καταχωρητών της Μονάδας
Επεξεργασίας ∆εδοµένων κινητής υποδιαστολής, που συνήθως καλούνται
καταχωρητές κινητής υποδιαστολής, διαφόρων σύγχρονων επεξεργαστών.
¶›Ó·Î·˜ 1.1
Αριθµός καταχωρητών σε αντιπροσωπευτικούς επεξεργαστές.
Επεξεργαστής / εταιρεία / καταχωρητές γενικού καταχωρητές κινητής
έτος πρώτης εµφάνισης σκοπού υποδιαστολής
21064 / DEC / 1992 32 των 64 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων
PowerPC 601 / IBM, 32 των 32 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων
Motorola, Apple / 1993
Pentium / Intel / 1993 8 των 32 δυαδικών ψηφίων 8 των 80 δυαδικών ψηφίων
PowerPC 620 / IBM, 32 των 64 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων
Motorola, Apple / 1996
Η Μονάδα Ελέγχου αναλύει την εντολή, που πρέπει να εκτελεστεί, και ανά-
λογα µε το είδος της εντολής παράγει ακολουθίες από σήµατα, που έχουν
σαν συνέπεια την επιλογή της µεταφοράς των δεδοµένων µεταξύ των µονά-
δων ή των υποµονάδων του υπολογιστή και την εκτέλεση συγκεκριµένων
πράξεων. Ο χρόνος που απαιτείται για την πιο σύντοµη, χρονικά, λειτουρ-
γία της ΚΜΕ, καλείται χρόνος κύκλου της ΚΜΕ (CPU cycle time) και είναι
η βασική µονάδα για τη µέτρηση όλων των ενεργειών της ΚΜΕ. Το αντί-
στροφο του χρόνου κύκλου της ΚΜΕ καλείται συχνότητα λειτουργίας της
ΚΜΕ (CPU clock rate) και σήµερα είναι της τάξης των µεγακύκλων.
Η λειτουργία της ΚΜΕ είναι να εκτελεί εντολές, που είναι αποθηκευµένες
στην κύρια µνήµη του υπολογιστή. Μία εντολή καταλαµβάνει µία ή περισ-
σότερες θέσεις και έχει σαν σκοπό να προσδιορίζει τη λειτουργία που θα εκτε-
λεστεί, καθώς και το σύνολο των δεδοµένων που θα χρησιµοποιηθούν στην
εκτέλεση της εντολής. Η ΚΜΕ εκτελεί µία εντολή σε µία σειρά από βήµατα:
1. Φέρνει στην ΚΜΕ την εντολή, που είναι αποθηκευµένη στη θέση µνήµης,
που δείχνει ο µετρητής προγράµµατος.
2. Αλλάζει το περιεχόµενο του µετρητή προγράµµατος, ώστε να δείχνει τη
θέση µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή.
3. Αναλύει την εντολή και ελέγχει εάν η εντολή χρειάζεται δεδοµένα από τη
µνήµη και εάν ναι, προσδιορίζει τη διεύθυνση που είναι αποθηκευµένα.
4. Φέρνει τα δεδοµένα σε κάποιους από τους καταχωρητές της.
5. Εκτελεί την εντολή.
6. Αποθηκεύει τα αποτελέσµατα.
7. Πηγαίνει στο βήµα 1 για να αρχίσει την εκτέλεση της επόµενης εντολής.
Σηµειώνουµε ότι, ανάλογα µε την εντολή, τα βήµατα 4 και 6 ή ένα από αυτά
είναι δυνατόν να µη χρησιµοποιηθούν. Για παράδειγµα, κατά την εκτέλεση
µιας εντολής διακλάδωσης στο βήµα 5, η διεύθυνση της επιθυµητής επόµε-
νης προς εκτέλεση εντολής φορτώνεται στο µετρητή προγράµµατος και ακο-
λουθεί το βήµα 7.
2 7¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
α. Αναφέρετε τις υποµονάδες, από τις οποίες αποτελείται η ΚΜΕ.
β. Περιγράψτε τη χρησιµότητα κάθε υποµονάδας.
γ. Η ΚΜΕ εκτελεί µία εντολή σε µία ακολουθία από 7 βήµατα. Τοποθετή-
στε τα ακόλουθα βήµατα στη σωστή τους σειρά.
• Εκτελεί την εντολή.
• Φέρνει τα δεδοµένα σε κάποιους από τους καταχωρητές της.
• Φέρνει στην ΚΜΕ την εντολή, που είναι αποθηκευµένη στη θέση µνή-
µης που δείχνει ο µετρητής προγράµµατος.
• Αποθηκεύει τα αποτελέσµατα.
• Αλλάζει το περιεχόµενο του µετρητή προγράµµατος, ώστε να δείχνει
τη θέση µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή.
• Αναλύει την εντολή και ελέγχει εάν η εντολή χρειάζεται δεδοµένα από
τη µνήµη και εάν ναι, προσδιορίζει τη διεύθυνση που είναι αποθη-
κευµένα.
• Πηγαίνει στο πρώτο βήµα για να αρχίσει την εκτέλεση της επόµενης
εντολής.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.9
2 8 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
1.3.3 ™‡ÛÙËÌ· ÌÓ‹Ì˘
∫Àƒπ∞ ª¡∏ª∏
Η κύρια µνήµη αποτελείται από έναν αριθµό θέσεων που σε καθεµία από
αυτές αποθηκεύεται και ένα τµήµα πληροφορίας (εντολή, µέρος εντολής ή
δεδοµένα) µε τη µορφή µιας ακολουθίας δυαδικών ψηφίων. Σε κάθε θέση της
µνήµης αντιστοιχεί ένας αριθµός, που καλείται φυσική διεύθυνση της θέσης
µνήµης, και χρησιµοποιείται για να αναφερθούµε στη συγκεκριµένη θέση.
Το σύνολο των φυσικών διευθύνσεων της κύριας µνήµης καλείται χώρος
φυσικών διευθύνσεων της µνήµης. Εάν η µνήµη έχει ν θέσεις, τότε οι φυσι-
κές τους διευθύνσεις θα είναι από 0 µέχρι ν–1 (βλέπε σχήµα 1.3.). Γειτονι-
κές θέσεις µνήµης έχουν διαδοχικές διευθύνσεις. Το κύριο χαρακτηριστικό
της θέσης µνήµης είναι ότι περιέχει τη µικρότερη ποσότητα πληροφορίας,
που µπορεί να µεταφερθεί στην ΚΜΕ. Ο αριθµός των δυαδικών ψηφίων που
περιέχεται σε µία θέση µνήµης, διαφέρει από υπολογιστή σε υπολογιστή.
µία θέση µνήµης
ένα δυαδικό ψηφίο
ν
ν
ν
ν
™¯‹Ì· 1.3
H φυσική οργάνωση µιάς
µνήµης ν θέσεων, µε θέση
µνήµης των 8 δυαδικών
ψηφίων.
Οι βασικότερες ιδιότητες της κύριας µνήµης είναι ότι: α) οι θέσεις της µπο-
ρούν να προσπελαστούν άµεσα από την ΚΜΕ, αντίθετα η πληροφορία που
είναι αποθηκευµένη στη βοηθητική µνήµη θα πρέπει πρώτα να µεταφερθεί
στην κύρια µνήµη, β) οι θέσεις της µπορούν να προσπελαστούν µε οποια-
δήποτε σειρά και γ) ο χρόνος προσπέλασης µίας θέσης είναι σταθερός και
ανεξάρτητος από τη διεύθυνση της θέσης.
Η ταχύτητα της κύριας µνήµης µετριέται µε το χρόνο προσπέλασης ανά-
γνωσης ή, όπως πιο συχνά λέγεται, το χρόνο προσπέλασης (access time) µιας
θέσης της κύριας µνήµης. Ο χρόνος προσπέλασης εγγραφής είναι συνήθως
ίσος µε το χρόνο προσπέλασης ανάγνωσης. Ο χρόνος προσπέλασης ισούται
µε το χρόνο που παρέρχεται από τη στιγµή, που η µνήµη λαµβάνει µία απαί-
τηση διαβάσµατος µέχρι τη στιγµή που η απαιτούµενη πληροφορία είναι δια-
θέσιµη στις εξόδους της µνήµης. Ο χρόνος προσπέλασης της κύριας µνήµης
εξαρτάται από την τεχνολογία των ολοκληρωµένων κυκλωµάτων, µε τα
οποία υλοποιείται, το µέγεθός της και τον τρόπο σχεδιασµού της. Σε µερι-
κές διατάξεις µνήµης, όπως οι δυναµικές µνήµες (θα µιλήσουµε στη συνέ-
χεια γι’ αυτές), ο χρόνος που πρέπει να περάσει από τη στιγµή που ξεκίνη-
σε µία προσπέλαση της µνήµης µέχρι τη στιγµή που επιτρέπεται να ξεκινή-
σουµε µία άλλη προσπέλαση, είναι µεγαλύτερος του χρόνου προσπέλασης
της µνήµης και καλείται χρόνος κύκλου της µνήµης (cycle time of the
memory). Είναι προφανές ότι το µέγιστο ποσό πληροφορίας, που µπορεί να
µεταφερθεί προς ή από τη µνήµη κάθε δευτερόλεπτο, είναι το αντίστροφο
του χρόνου κύκλου της µνήµης. Η ποσότητα αυτή καλείται ρυθµός µεταφο-
ράς δεδοµένων (data transfer rate ή bandwidth). Ο ρυθµός µεταφοράς δεδο-
µένων µετριέται σε ψηφιολέξεις ανά δευτερόλεπτο.
Η ΚΜΕ επικοινωνεί µε την κύρια µνήµη µέσω δύο καταχωρητών, του κατα-
χωρητή διευθύνσεων και του καταχωρητή δεδοµένων. Ανάλογα µε τον υπο-
λογιστή, οι καταχωρητές διευθύνσεων και δεδοµένων µπορεί να είναι κατα-
χωρητές ειδικού σκοπού ή οποιοιδήποτε από τους καταχωρητές γενικού σκο-
πού, συνήθως στα σηµερινά συστήµατα συµβαίνει το δεύτερο. Όταν πρό-
κειται να διαβαστεί µία λέξη από την κύρια µνήµη, η διεύθυνση της µνήµης
τοποθετείται στον καταχωρητή διευθύνσεων και στέλνεται ένα σήµα από τη
µονάδα ελέγχου στη µνήµη, που δηλώνει ότι πρέπει να γίνει ανάγνωση. Μετά
από ένα χρονικό διάστηµα ίσο µε τον χρόνο προσπέλασης, η λέξη µεταφέ-
ρεται στον καταχωρητή δεδοµένων. Για να αποθηκευτεί µία λέξη στη µνήµη,
πρέπει η διεύθυνση της θέσης στην οποία πρόκειται να γίνει η αποθήκευση,
να τοποθετηθεί στον καταχωρητή διευθύνσεων, η λέξη να τοποθετηθεί στον
καταχωρητή δεδοµένων και να σταλεί σήµα από την µονάδα ελέγχου στη
µνήµη, για να δηλώσει ότι πρέπει να γίνει εγγραφή.
2 9¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
3 0 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
Σηµειώνουµε ότι ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευ-
θύνσεων καθορίζει το µέγιστο αριθµό θέσεων µνήµης που µπορούν να ανα-
φερθούν άµεσα. Εάν ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευ-
θύνσεων της µνήµης είναι µ, ο µέγιστος αριθµός των θέσεων µνήµης που
µπορεί να αναφερθεί άµεσα από την ΚΜΕ, είναι 2µ
. Ο συνολικός αριθµός
των θέσεων της κύριας µνήµης εξαρτάται από την σύνθεση του συστήµατος
(system configuration), µε άλλα λόγια ο αγοραστής δύναται να αγοράσει
περισσότερη ή λιγότερη, ανάλογα µε τα χρήµατα που µπορεί να διαθέσει και
τις απαιτήσεις του. Θα δούµε αργότερα πως το ελάχιστο µέγεθος κύριας µνή-
µης που µπορεί να διαθέτει ένας υπολογιστής, καθορίζεται από τα προ-
γράµµατα που πρόκειται να εκτελούνται στο συγκεκριµένο υπολογιστή. Επί-
σης, θα δούµε αργότερα πως το µέγεθος της κύριας µνήµης ενός υπολογιστή
επηρεάζει την ταχύτητα εκτέλεσης κάποιων προγραµµάτων. Η µέγιστη χωρη-
τικότητα κύριας µνήµης, που µπορούµε να βάλουµε σε έναν υπολογιστή,
εξαρτάται από το συγκεκριµένο υπολογιστή και συγκεκριµένα από τη σχε-
δίαση της ΚΜΕ.
Η κύρια µνήµη µπορεί να υλοποιηθεί µε ηµιαγωγικές µνήµες ανάγνωσης και
εγγραφής άµεσης προσπέλασης (Random Access Memory, RAM). Υπάρ-
χουν δύο κατηγορίες µνηµών RAM, οι στατικές, SRAM, και οι δυναµικές,
DRAM. Συγκρίνοντας µία SRAM, µε µία DRAM της ίδιας χωρητικότητας,
η SRAM είναι ακριβότερη και πιό γρήγορη από την DRAM. Λόγω των απαι-
τήσεών µας για κύρια µνήµη πολύ µεγάλης χωρητικότητας, η κύρια µνήµη
υλοποιείται συνήθως µε DRAM. Ένα µικρό τµήµα της υλοποιείται από
µνήµη µόνο ανάγνωσης (Read Only Memory, ROM), δηλαδή µία µνήµη που
τα περιεχόµενά της µπορούν να διαβάζονται, αλλά δεν είναι δυνατόν να τρο-
ποποιηθούν µέσα από τα προγράµµατα που εκτελούνται στον υπολογιστή.
Το χαρακτηριστικό της ROM, που µας κάνει να τη χρησιµοποιούµε για την
υλοποίηση ενός τµήµατος της κύριας µνήµης, είναι ότι, όταν διακοπεί η τάση
τροφοδοσίας του υπολογιστή µας είτε λόγω βλάβης στο δίκτυο της ∆ΕΗ είτε
διότι κλείσαµε τον υπολογιστή µας, όλη η πληροφορία, που ήταν αποθη-
κευµένη στη µνήµη ROM διατηρείται, ενώ η πληροφορία που ήταν αποθη-
κευµένη στη µνήµη RAM χάνεται. Στη ROM µεταξύ των άλλων είναι απο-
θηκευµένο ένα µικρό πρόγραµµα που αναλαµβάνει, όταν ανοίξουµε την τάση
τροφοδοσίας του υπολογιστή µας, να φέρει από τη βοηθητική µνήµη στην
κύρια µνήµη ένα τµήµα του λειτουργικού συστήµατος, το οποίο αναλαµβά-
νει στη συνέχεια την επικοινωνία του υπολογιστή µε το χρήστη.
µ√∏£∏∆π∫∏ ª¡∏ª∏
Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής ή δευ-
τερεύουσας µνήµης, είναι σηµαντικά φθηνότερες από αυτές που χρησιµο-
ποιούνται για την υλοποίηση της κύριας µνήµης. Σαν µέτρο σύγκρισης του
κόστους χρησιµοποιούµε το ανηγµένο κόστος, δηλαδή το κόστος ανά δυα-
δικό ψηφίο. Εποµένως, είναι δυνατόν, µε χαµηλό κόστος, να προµηθεύσου-
µε τον υπολογιστή µας µε βοηθητική µνήµη µεγάλης χωρητικότητας. Όµως
η βοηθητική µνήµη είναι από τρεις έως έξι τάξεις µεγέθους πιο αργή από την
κύρια µνήµη. Η βοηθητική µνήµη υλοποιείται µε µνήµες µαγνητικών δίσκων,
µαγνητικών ταινιών και οπτικών δίσκων. Στο σχήµα 1.4 δίνεται η σχέση χρό-
νου προσπέλασης και κόστους ανά δυαδικό ψηφίο των αντιπροσωπευτικών
τεχνολογιών, που χρησιµοποιούνται για την υλοποίηση του συστήµατος µνή-
µης. Η πληροφορία που είναι αποθηκευµένη στη βοηθητική µνήµη διατη-
ρείται και µετά τη διακοπή της τάσης τροφοδοσίας, εποµένως, πριν κλεί-
σουµε τον υπολογιστή µας, θα πρέπει να αποθηκεύουµε στη βοηθητική
µνήµη την πληροφορία που έχουµε στην κύρια µνήµη.
3 1¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
Mνήµες µαγνητικών ταινιών
Oπτικοί δίσκοι
Σκληροί µαγνητική δίσκοι
DRAM ολοκληρωµένα
10–9
10–8
10–7
10–6
10–5
10–4
10–3
10–2
10–1
1
10
100
SRAM ολοκληρωµένα
Kόστος ανά δυαδικό ψηφίο
Xρόνοςπροσπέλασηςσεδευτερόλεπτα
™¯‹Ì· 1.4
Σχέση χρόνου προσπέλα-
σης και κόστους ανά δυα-
δικό ψηφίο αντιπροσω-
πευτικών τεχνολογιών,
που χρησιµοποιούνται για
την υλοποίηση του συστή-
µατος µνήµης.
Η βοηθητική µνήµη χρησιµοποιείται για την αποθήκευση προγραµµάτων και
αρχείων δεδοµένων, που δεν χρειάζονται συνεχώς από την ΚΜΕ. Επίσης
χρησιµεύει και σαν µνήµη υπερχείλισης (overflow), όταν ξεπερνιέται η χωρη-
3 2 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
τικότητα της κύριας µνήµης, ο,τι δεν χωράει δηλαδή στην κύρια µνήµη µετα-
φέρεται στη βοηθητική.
Σε πολλές από τις συσκευές βοηθητικής µνήµης το µέσο πάνω στο οποίο
γράφεται η πληροφορία, π.χ. µαγνητική ταινία, µαγνητικός δίσκος, όταν γεµί-
σει αντικαθίσταται και φυλάσσεται. Με αυτό τον τρόπο µπορούµε να δηµι-
ουργήσουµε τεράστιες αποθήκες πληροφορίας.
Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής µνή-
µης, διακρίνονται σε διατάξεις σειριακής προσπέλασης (serial access) και δια-
τάξεις κατευθείαν προσπέλασης (direct access). Σειριακής προσπέλασης
καλούνται οι µνήµες, που η αποθηκευµένη πληροφορία µπορεί να προσπε-
λαστεί µόνο µε κάποια προκαθορισµένη σειρά. Σαν παράδειγµα αναφέρουµε
τις µνήµες µαγνητικής ταινίας. Μερικές διατάξεις Μνήµης, όπως οι µαγνητι-
κοί δίσκοι, περιέχουν ένα µεγάλο αριθµό οµόκεντρων κύκλων (tracks), κατά
µήκος των οποίων γράφεται η πληροφορία. Κάθε οµόκεντρος κύκλος µπορεί
να προσπελαστεί άµεσα, ενώ η προσπέλαση της πληροφορίας σ’ έναν οµό-
κεντρο κύκλο γίνεται σειριακά. Οι διατάξεις αυτές καλούνται µνήµες κατευ-
θείαν προσπέλασης. Με τις µονάδες µνήµης µαγνητικών δίσκων, οπτικών
δίσκων και µαγνητικών ταινιών θα ασχοληθούµε στο κεφάλαιο 4.
Απευθυνόµενοι σε ένα κατάστηµα πώλησης υπολογιστών, συλλέξτε την
απαιτούµενη πληροφορία, ώστε να υπολογίσετε το κόστος ανά ψηφιολέξη
της κύριας µνήµης και της µνήµης µαγνητικού δίσκου ενός προσωπικού
υπολογιστή.
¢Ú·ÛÙËÚÈfiÙËÙ·
1.1
Α. Αναφέρετε:
α. Τρεις βασικές ιδιότητες της κύριας µνήµης.
β. Τα µέτρα χαρακτηρισµού της ταχύτητας της κύριας µνήµης.
γ. ∆ύο κοινά χαρακτηριστικά και δύο διαφορές µεταξύ των µνηµών
τεχνολογίας RAM και ROM.
Β. Είναι σωστό ή λάθος ότι σε έναν υπολογιστή γενικού σκοπού όλη η
κύρια µνήµη θα µπορούσε να υλοποιηθεί µε µνήµες ROM;
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.10
1.3.4 ∫Ú˘Ê‹ ÌÓ‹ÌË (Cache memory)
Η κύρια µνήµη είναι σχετικά αργή, για το λόγο αυτό, όταν η ΚΜΕ χρειάζε-
ται να διαβάσει κάτι από την κύρια µνήµη αναγκάζεται να περιµένει. Η κατά-
σταση γίνεται ακόµη χειρότερη όταν πληροφορία πρέπει να µεταφερθεί στην
κύρια µνήµη από τη βοηθητική µνήµη, για παράδειγµα από µία µονάδα
δίσκων. Η τεχνική που έχει προταθεί για τη βελτίωση της κατάστασης, είναι
η χρησιµοποίηση κρυφής µνήµης (cache memory). Η κρυφή µνήµη είναι µία
σχετικά µικρής χωρητικότητας µνήµη, που χρησιµοποιείται για την αποθή-
κευση πληροφορίας, που αναµένεται ότι θα χρησιµοποιηθεί άµεσα ή µε µεγά-
λη συχνότητα στο µέλλον. Η επιτυχία της βασίζεται στην τοπικότητα των
αναφορών (principle of locality) που χαρακτηρίζει την πλειονότητα των προ-
γραµµάτων. Σύµφωνα µε την τοπικότητα των αναφορών η πληροφορία
(εντολές ή δεδοµένα) που χρησιµοποιήθηκε πρόσφατα είναι πιθανόν να ξανα-
χρησιµοποιηθεί στο άµεσο µέλλον και η πληροφορία που βρίσκεται κοντά
στην πληροφορία που χρησιµοποιείται τώρα, είναι πιθανό να χρησιµοποιη-
θεί στο άµεσο µέλλον.
Κρυφή µνήµη χρησιµοποιείται συνήθως µεταξύ ΚΜΕ και κύριας µνήµης,
καθώς και µεταξύ κύριας µνήµης και της βοηθητικής µνήµης, της µονάδας
δίσκων.
∫ƒÀº∏ ª¡∏ª∏ ª∂∆∞•À ∫ª∂ ∫∞π ∫Àƒπ∞™ ª¡∏ª∏™
Η κρυφή µνήµη µεταξύ ΚΜΕ και κύριας µνήµης υλοποιείται µε SRAM, που
είναι πιο γρήγορη από τη DRAM, που χρησιµοποιείται για την υλοποίηση της
κύριας µνήµης. Επίσης, το γεγονός ότι η κρυφή µνήµη είναι σηµαντικά µικρό-
τερης χωρητικότητας από την κύρια µνήµη συµβάλλει, ώστε η προσπέλαση
της κρυφής µνήµης να είναι πολύ πιο γρήγορη από της κύριας µνήµης.
3 3¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
Αναφέρετε τα κύρια πλεονεκτήµατα και µειονεκτήµατα της µνήµης µαγνη-
τικών δίσκων σε σχέση µε την τεχνολογία που χρησιµοποιείται για την υλο-
ποίηση της κύριας µνήµης.
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.11
Είναι σωστό ή λάθος ότι η µονάδα µνήµης µαγνητικών δίσκων και µαγνη-
τικής ταινίας είναι σειριακής προσπέλασης;
ÕÛÎËÛË
∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.12
3 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡
Η κρυφή µνήµη µπορεί να βρίσκεται στο ίδιο ολοκληρωµένο κύκλωµα µε
την ΚΜΕ ή σε ένα ή περισσότερα άλλα ολοκληρωµένα κυκλώµατα στην ίδια
πλακέτα. Στην πρώτη περίπτωση το µέγεθός της είναι σταθερό, ενώ στη δεύ-
τερη περίπτωση ο χρήστης µπορεί να αγοράσει και τοποθετήσει στον υπο-
λογιστή του από καθόλου µέχρι µία µέγιστη χωρητικότητα, που εξαρτάται
από το συγκεκριµένο υπολογιστή.
Στην κρυφή µνήµη υπάρχουν αντίγραφα µέρους της πληροφορίας, που υπάρ-
χει στην κύρια µνήµη. Όταν η ΚΜΕ χρειάζεται κάποια πληροφορία, εάν η
πληροφορία βρίσκεται στην κρυφή µνήµη προσπελαύνεται πολύ γρήγορα,
αποφεύγοντας τις καθυστερήσεις που θα συνεπάγονταν η προσπέλαση της
κύριας µνήµης. Εάν η ζητούµενη πληροφορία δεν υπάρχει στην κρυφή
µνήµη, προσπελαύνεται από την κύρια µνήµη, ενώ ένα τµήµα πληροφορίας
που περιέχει και τη ζητούµενη πληροφορία, µεταφέρεται στην κρυφή µνήµη
(βλέπε σχήµα 1.5). Το ποσοστό των προσπελάσεων, που ικανοποιούνται από
την κρυφή µνήµη χωρίς να γίνεται προσπέλαση στην κύρια µνήµη, καλείται
ρυθµός επιτυχίας (hit rate). Η τιµή του ρυθµού επιτυχίας εξαρτάται από τη
χωρητικότητα της κρυφής µνήµης και τον τρόπο οργάνωσής της, αλλά και
από το είδος του προγράµµατος που εκτελείται. Στο κεφάλαιο 4 θα ασχολη-
θούµε εκτεταµένα µε τη δοµή, οργάνωση και απόδοση της κρυφής µνήµης.
Άλλοι υπολογιστές έχουν µία κρυφή µνήµη που χρησιµοποιείται για την απο-
θήκευση τόσο δεδοµένων όσο και εντολών (προγραµµάτων) και καλείται
ενοποιηµένη (unified cache memory), ενώ άλλοι έχουν άλλη κρυφή µνήµη
για την αποθήκευση δεδοµένων (data cache) και άλλη για αποθήκευση εντο-
λών (instruction cache). Επίσης, πρέπει να αναφέρουµε ότι πολλοί υπολογι-
στές έχουν δύο επίπεδα κρυφής µνήµης. Το πρώτο επίπεδο, συνήθως, απο-
τελείται από δύο µικρές µνήµες, µία δεδοµένων και µία εντολών, που βρί-
σκεται στο ίδιο ολοκληρωµένο κύκλωµα µε την ΚΜΕ, ενώ το δεύτερο επί-
πεδο αποτελείται από µία ενοποιηµένη κρυφή µνήµη.
Σε όλες τις ανωτέρω περιπτώσεις ότι αφορά την υλοποίηση της κρυφής µνή-
µης γίνεται µε κυκλώµατα και η ύπαρξη ή απουσία της δεν γίνεται αντιλη-
πτή ούτε από τα προγράµµατα εφαρµογών ούτε από το λειτουργικό ή τα
άλλα προγράµµατα του συστήµατος.
∫ƒÀº∏ ª¡∏ª∏ ¢π™∫√À
Όπως έχουµε αναφέρει στην ενότητα 1.3.3, ο µέσος χρόνος προσπέλασης
πληροφορίας που βρίσκεται σε κάποια µονάδα δίσκων, είναι πολύ µεγαλύ-
3 5¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
καταχωρητές της KME
κύρια µνήµη
κρυφή µνήµη
µπλοκ
σελίδα
εντολή ή δεδοµένα
µνήµη µαγνητικών δίσκων
™¯‹Ì· 1.5
Μεταφορά πληροφορίας
µεταξύ διαδοχικών επιπέ-
δων µνήµης.
τερος του χρόνου προσπέλασης της κύριας µνήµης (βλέπε σχήµα 1.4). Το
πρόβληµα, που δηµιουργείται, είναι ότι συχνές προσπελάσεις του δίσκου
αφήνουν τον επεξεργαστή ανενεργό και αυξάνουν το χρόνο αναµονής των
αποτελεσµάτων. Σε υπολογιστές που χρησιµοποιούν την τεχνική του πολυ-
προγραµµατισµού (multiprogramming) υπάρχουν περισσότερα από ένα προ-
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos
Aρχιτεκτονική yπολογιστών i nikolos

More Related Content

What's hot

Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνΕφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνAnna Dimitrakopoulou
 
Δείκτες Οικονομίας και η Χρησιμότητάς τους
Δείκτες Οικονομίας και η Χρησιμότητάς τουςΔείκτες Οικονομίας και η Χρησιμότητάς τους
Δείκτες Οικονομίας και η Χρησιμότητάς τουςAUEB MBA full-time alumni
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνHuman Oid
 
Tο εσωτερικό του υπολογιστή
Tο εσωτερικό του υπολογιστήTο εσωτερικό του υπολογιστή
Tο εσωτερικό του υπολογιστήSavvas Manikas
 
Εισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/ΥΕισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/ΥMinistry of Education
 
Επεξεργαστής
ΕπεξεργαστήςΕπεξεργαστής
ΕπεξεργαστήςYannis117
 
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1Ιωάννου Γιαννάκης
 
Αρχεία - Φάκελοι
Αρχεία - Φάκελοι Αρχεία - Φάκελοι
Αρχεία - Φάκελοι kimanou
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςElenaX
 
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις.
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις. Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις.
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις. Georgios Giannopoulos
 
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του ΥπολογιστήΠληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του ΥπολογιστήGeorge Papamitsos
 
Το Δυαδικό Σύστημα
Το Δυαδικό ΣύστημαΤο Δυαδικό Σύστημα
Το Δυαδικό Σύστημαpasxelfstone
 
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό ΠεριβάλλονKef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό ΠεριβάλλονEleni Kokkinou
 
Tο υλικό του υπολογιστή
Tο υλικό του υπολογιστήTο υλικό του υπολογιστή
Tο υλικό του υπολογιστήimarakis
 
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ3lykgala
 

What's hot (20)

Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό ΥπολογιστώνΕφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
Εφαρμογές Πληροφορικής - Κεφάλαιο 1: Υλικό Υπολογιστών
 
ρομποτικη με Arduino
ρομποτικη με Arduinoρομποτικη με Arduino
ρομποτικη με Arduino
 
Senyalització
SenyalitzacióSenyalització
Senyalització
 
Δείκτες Οικονομίας και η Χρησιμότητάς τους
Δείκτες Οικονομίας και η Χρησιμότητάς τουςΔείκτες Οικονομίας και η Χρησιμότητάς τους
Δείκτες Οικονομίας και η Χρησιμότητάς τους
 
Bασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμωνBασικές έννοιες αλγορίθμων
Bασικές έννοιες αλγορίθμων
 
Tο εσωτερικό του υπολογιστή
Tο εσωτερικό του υπολογιστήTο εσωτερικό του υπολογιστή
Tο εσωτερικό του υπολογιστή
 
Εισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/ΥΕισαγωγή στις αρχές της επιστήμης των Η/Υ
Εισαγωγή στις αρχές της επιστήμης των Η/Υ
 
Επεξεργαστής
ΕπεξεργαστήςΕπεξεργαστής
Επεξεργαστής
 
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
Eισαγωγή στις αρχές της επιστήμης των HY κεφ 1
 
Αρχεία - Φάκελοι
Αρχεία - Φάκελοι Αρχεία - Φάκελοι
Αρχεία - Φάκελοι
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίας
 
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις.
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις. Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις.
Μαθήματα Arduino: Ωμικές Αντιστάσεις: Σε σειρά, παράλληλα – μετρήσεις.
 
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του ΥπολογιστήΠληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
Πληροφορική Β' Γυμνασίου - Το εσωτερικό του Υπολογιστή
 
Το Δυαδικό Σύστημα
Το Δυαδικό ΣύστημαΤο Δυαδικό Σύστημα
Το Δυαδικό Σύστημα
 
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό ΠεριβάλλονKef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Kef2o θεωρία Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
 
Tο υλικό του υπολογιστή
Tο υλικό του υπολογιστήTο υλικό του υπολογιστή
Tο υλικό του υπολογιστή
 
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ
 
Εργονομία
ΕργονομίαΕργονομία
Εργονομία
 
Εφαρμογές Πληροφορικής - Α' τάξη ΓΕΛ
Εφαρμογές Πληροφορικής - Α' τάξη ΓΕΛΕφαρμογές Πληροφορικής - Α' τάξη ΓΕΛ
Εφαρμογές Πληροφορικής - Α' τάξη ΓΕΛ
 
Αναλογικό - Ψηφιακό
Αναλογικό - ΨηφιακόΑναλογικό - Ψηφιακό
Αναλογικό - Ψηφιακό
 

Viewers also liked

DENTBOOK INTERVIEWS #001
DENTBOOK INTERVIEWS #001DENTBOOK INTERVIEWS #001
DENTBOOK INTERVIEWS #001dentnews
 
Irish Beef & Lamb
Irish Beef & LambIrish Beef & Lamb
Irish Beef & LambNRanninger
 
Greeks In World War II
Greeks In World War IIGreeks In World War II
Greeks In World War IIFotini
 
Laporan Perkembangan KB Conggeang Sumedang
Laporan Perkembangan KB Conggeang SumedangLaporan Perkembangan KB Conggeang Sumedang
Laporan Perkembangan KB Conggeang SumedangRaz Cell
 
Chocolate
ChocolateChocolate
Chocolatebidil
 
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙ
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙΠαραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙ
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙNotis Mitarachi
 
καλεσμα για αυτοδιοικητική παράταξη
καλεσμα για αυτοδιοικητική παράταξη καλεσμα για αυτοδιοικητική παράταξη
καλεσμα για αυτοδιοικητική παράταξη samostimes
 
आरक्षणाचा वाद - न्या. पी.बी. सावंत
आरक्षणाचा वाद - न्या. पी.बी. सावंतआरक्षणाचा वाद - न्या. पी.बी. सावंत
आरक्षणाचा वाद - न्या. पी.बी. सावंतsamyaksanvad
 
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012 Cyprus Business Community
 
Κοιτάξτε ψηλά
Κοιτάξτε ψηλάΚοιτάξτε ψηλά
Κοιτάξτε ψηλάbidil
 
Beneficios educativos que brindan las redes sociales
Beneficios educativos que brindan las redes socialesBeneficios educativos que brindan las redes sociales
Beneficios educativos que brindan las redes socialesTifanySC
 
Bal rane info and cartoons
Bal rane info and cartoonsBal rane info and cartoons
Bal rane info and cartoonssamyaksanvad
 
Share point edu_20101109_v1
Share point edu_20101109_v1Share point edu_20101109_v1
Share point edu_20101109_v1ebuc
 

Viewers also liked (20)

DENTBOOK INTERVIEWS #001
DENTBOOK INTERVIEWS #001DENTBOOK INTERVIEWS #001
DENTBOOK INTERVIEWS #001
 
Psinterface
PsinterfacePsinterface
Psinterface
 
Irish Beef & Lamb
Irish Beef & LambIrish Beef & Lamb
Irish Beef & Lamb
 
Fisica i laboratorio
Fisica i laboratorioFisica i laboratorio
Fisica i laboratorio
 
Ing. biomedica quiz i
Ing. biomedica quiz iIng. biomedica quiz i
Ing. biomedica quiz i
 
Christmas everywhere
Christmas everywhereChristmas everywhere
Christmas everywhere
 
Greeks In World War II
Greeks In World War IIGreeks In World War II
Greeks In World War II
 
Laporan Perkembangan KB Conggeang Sumedang
Laporan Perkembangan KB Conggeang SumedangLaporan Perkembangan KB Conggeang Sumedang
Laporan Perkembangan KB Conggeang Sumedang
 
Chocolate
ChocolateChocolate
Chocolate
 
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙ
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙΠαραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙ
Παραρτήματα παρουσίασης Α. Σαμαρά στο Ζάππειο ΙΙ
 
Dr shirwadkar
Dr shirwadkarDr shirwadkar
Dr shirwadkar
 
καλεσμα για αυτοδιοικητική παράταξη
καλεσμα για αυτοδιοικητική παράταξη καλεσμα για αυτοδιοικητική παράταξη
καλεσμα για αυτοδιοικητική παράταξη
 
Muthu Visual Resume
Muthu Visual ResumeMuthu Visual Resume
Muthu Visual Resume
 
आरक्षणाचा वाद - न्या. पी.बी. सावंत
आरक्षणाचा वाद - न्या. पी.बी. सावंतआरक्षणाचा वाद - न्या. पी.बी. सावंत
आरक्षणाचा वाद - न्या. पी.बी. सावंत
 
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012
αξιολόγηση επιλεξιμότητας σχέδιο ενίσχυσης της νεανικής επιχειρηματικότητας 2012
 
Κοιτάξτε ψηλά
Κοιτάξτε ψηλάΚοιτάξτε ψηλά
Κοιτάξτε ψηλά
 
Beneficios educativos que brindan las redes sociales
Beneficios educativos que brindan las redes socialesBeneficios educativos que brindan las redes sociales
Beneficios educativos que brindan las redes sociales
 
Aztec calendar & culture susan
Aztec calendar & culture susanAztec calendar & culture susan
Aztec calendar & culture susan
 
Bal rane info and cartoons
Bal rane info and cartoonsBal rane info and cartoons
Bal rane info and cartoons
 
Share point edu_20101109_v1
Share point edu_20101109_v1Share point edu_20101109_v1
Share point edu_20101109_v1
 

Similar to Aρχιτεκτονική yπολογιστών i nikolos

Fortran notes panepistimio_kritis
Fortran notes panepistimio_kritisFortran notes panepistimio_kritis
Fortran notes panepistimio_kritisFanis Vlazakis
 
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)xpapas
 
Eisagogi epistimi ypologiston
Eisagogi epistimi ypologistonEisagogi epistimi ypologiston
Eisagogi epistimi ypologistonleftos21
 
Eisagogi epistimi ypologiston
Eisagogi epistimi ypologistonEisagogi epistimi ypologiston
Eisagogi epistimi ypologistonFoteinh Damianou
 
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston dannieza
 
Website with Embedded Forum Construction
Website with Embedded Forum ConstructionWebsite with Embedded Forum Construction
Website with Embedded Forum ConstructionMichail Grigoropoulos
 
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...makrib
 
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών Προγραμματισμού
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών ΠρογραμματισμούΔημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών Προγραμματισμού
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών ΠρογραμματισμούStesia Papavasileiou
 
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδα
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην ΕλλάδαΗ εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδα
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδαakargas
 
3D Printing in Robotics
3D Printing in Robotics3D Printing in Robotics
3D Printing in RoboticsFotios Dimeas
 
τεχνολογίες διαδικτύου πανεπιστημιο πατρων
τεχνολογίες διαδικτύου πανεπιστημιο πατρωντεχνολογίες διαδικτύου πανεπιστημιο πατρων
τεχνολογίες διαδικτύου πανεπιστημιο πατρωνMaria Pappi
 
μελέτη σύγκρισης των κυριότερων Open Source CMS
μελέτη σύγκρισης των κυριότερων Open Source CMSμελέτη σύγκρισης των κυριότερων Open Source CMS
μελέτη σύγκρισης των κυριότερων Open Source CMSe-Bi Lab
 
ptuxiakh-teliki_morfi _ savakis-koutroumanos
ptuxiakh-teliki_morfi _ savakis-koutroumanosptuxiakh-teliki_morfi _ savakis-koutroumanos
ptuxiakh-teliki_morfi _ savakis-koutroumanosVasileios Savvakis
 
A gym simiwseis_mathiti
A gym simiwseis_mathitiA gym simiwseis_mathiti
A gym simiwseis_mathitikate68
 
Semadic audio modeling nikolaidis dimitrios εργασια .up dated
Semadic audio modeling nikolaidis dimitrios εργασια .up datedSemadic audio modeling nikolaidis dimitrios εργασια .up dated
Semadic audio modeling nikolaidis dimitrios εργασια .up datedDimitrios Nikolaidis
 
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...Alexandros Tsikolatas
 

Similar to Aρχιτεκτονική yπολογιστών i nikolos (20)

Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ - Β' τάξη ΓΕΛ
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ - Β' τάξη ΓΕΛΕισαγωγή στις Αρχές της Επιστήμης των Η/Υ - Β' τάξη ΓΕΛ
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ - Β' τάξη ΓΕΛ
 
Fortran notes panepistimio_kritis
Fortran notes panepistimio_kritisFortran notes panepistimio_kritis
Fortran notes panepistimio_kritis
 
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)
Εισαγωγή στις Αρχές της επιστήμης Υπολογιστών Β΄ Λυκείου(βιβλίο)
 
Eisagogi epistimi ypologiston
Eisagogi epistimi ypologistonEisagogi epistimi ypologiston
Eisagogi epistimi ypologiston
 
Eisagogi epistimi ypologiston
Eisagogi epistimi ypologistonEisagogi epistimi ypologiston
Eisagogi epistimi ypologiston
 
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston
Β ΕΠΑΛ ΒΙΒΛΙΟ - Eisagogi epistimi ypologiston
 
thesis
thesisthesis
thesis
 
Website with Embedded Forum Construction
Website with Embedded Forum ConstructionWebsite with Embedded Forum Construction
Website with Embedded Forum Construction
 
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...
Πρακτικός Οδηγός Χρήσης για τον Εκπαιδευτή της Πλατφόρμας Ασύγχρονης Τηλεκπαί...
 
αναφορά
αναφοράαναφορά
αναφορά
 
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών Προγραμματισμού
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών ΠρογραμματισμούΔημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών Προγραμματισμού
Δημιουργία Πλατφόρμας Διεξαγωγής Online Διαγωνισμών Προγραμματισμού
 
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδα
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην ΕλλάδαΗ εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδα
Η εξέλιξη της αγοράς της κινητής τηλεφωνίας στην Ελλάδα
 
3D Printing in Robotics
3D Printing in Robotics3D Printing in Robotics
3D Printing in Robotics
 
τεχνολογίες διαδικτύου πανεπιστημιο πατρων
τεχνολογίες διαδικτύου πανεπιστημιο πατρωντεχνολογίες διαδικτύου πανεπιστημιο πατρων
τεχνολογίες διαδικτύου πανεπιστημιο πατρων
 
Python tutorial by example
Python tutorial by examplePython tutorial by example
Python tutorial by example
 
μελέτη σύγκρισης των κυριότερων Open Source CMS
μελέτη σύγκρισης των κυριότερων Open Source CMSμελέτη σύγκρισης των κυριότερων Open Source CMS
μελέτη σύγκρισης των κυριότερων Open Source CMS
 
ptuxiakh-teliki_morfi _ savakis-koutroumanos
ptuxiakh-teliki_morfi _ savakis-koutroumanosptuxiakh-teliki_morfi _ savakis-koutroumanos
ptuxiakh-teliki_morfi _ savakis-koutroumanos
 
A gym simiwseis_mathiti
A gym simiwseis_mathitiA gym simiwseis_mathiti
A gym simiwseis_mathiti
 
Semadic audio modeling nikolaidis dimitrios εργασια .up dated
Semadic audio modeling nikolaidis dimitrios εργασια .up datedSemadic audio modeling nikolaidis dimitrios εργασια .up dated
Semadic audio modeling nikolaidis dimitrios εργασια .up dated
 
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...
Τσικολάτας Α. (2009). Εργαλεία Διοικητικής Λογιστικής και Μέτρησης Απόδοσης. ...
 

Aρχιτεκτονική yπολογιστών i nikolos

  • 2.
  • 3. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΨHΦIAKA ΣYΣTHMATA Τόµος B' Aρχιτεκτονική Yπολογιστών I ∆HMHTPIOΣ NIKOΛOΣ Kαθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής Πανεπιστηµίου Πατρών ΠATPA 2001
  • 4. ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΨHΦIAKA ΣYΣTHMATA Τόµος B' Aρχιτεκτονική Yπολογιστών I Συγγραφή ∆HMHTPIOΣ NIKOΛOΣ Kαθηγητής Tµήµατος Mηχανικών H/Y & Πληροφορικής Πανεπιστηµίου Πατρών Κριτική Ανάγνωση XAPI∆HMOΣ BEPΓOΣ Λέκτορας Tµήµατος Mηχανικών H/Y & Πληροφορικής Πανεπιστηµίου Πατρών Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου ΣΩKPATHΣ KATΣIKAΣ Καθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Aιγαίου Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση ΓEPAΣIMOΣ MΩPAΪTHΣ Γλωσσική Επιµέλεια EΛΠI∆A BAKAΛOΓΛOY Τεχνική Επιµέλεια ΕΣΠΙ ΕΚ∆ΟΤΙΚΗ Ε.Π.Ε. Καλλιτεχνική Επιµέλεια – Σελιδοποίηση TYPORAMA Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 1997–2001 ISBN: 960–538–196–6 Kωδικός Έκδοσης: ΠΛH 21/2 Copyright 2000 για την Ελλάδα και όλο τον κόσµο ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244 Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη.
  • 5. Aφιερώνεται στη µνήµη της µητέρας µου Eυαγγελίας, στον πατέρα µου Bασίλη, στη σύζυγό µου Γιώτα και στις κόρες µου Eυαγγελία και Eλένη
  • 6.
  • 7. ¶ÂÚȯfiÌÂÓ· K ∂ º ∞ § ∞ π √ 1 ∂ÈÛ·ÁˆÁ‹ ÛÙËÓ ‰ÔÌ‹, ÔÚÁ¿ÓˆÛË, ÏÂÈÙÔ˘ÚÁ›· Î·È ·ÍÈÔÏfiÁËÛË ÙˆÓ ˘ÔÏÔÁÈÛÙÒÓ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 13 1.1 Υλικό και λογισµικό .............................................................................................................. 14 1.2 Αρχιτεκτονική υπολογιστών .......................................................................................... 16 1.3 ∆οµή, οργάνωση και λειτουργία υπολογιστών .............................................. 21 1.3.1 ∆οµή του υπολογιστή ............................................................................................. 22 1.3.2 Κεντρική µονάδα επεξεργασίας .................................................................... 24 1.3.3 Σύστηµα µνήµης ......................................................................................................... 28 1.3.4 Κρυφή µνήµη (Cache memory) .................................................................... 33 1.3.5 Ιδεατή µνήµη (Virtual Memory) ................................................................... 37 Σύνοψη ενότητας........................................................................................................................ 39 1.4 Μονάδες εισόδου/εξόδου .................................................................................................. 40 1.5 Απόδοση υπολογιστών ........................................................................................................ 42 Σύνοψη κεφαλαίου.................................................................................................................................... 44 K ∂ º ∞ § ∞ π √ 2 √ÚÁ¿ÓˆÛË Ù˘ ÏËÚÔÊÔÚ›·˜ ÛÙÔÓ ˘ÔÏÔÁÈÛÙ‹ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 47 2.1 ∆εδοµένα ......................................................................................................................................... 48 2.1.1 Αριθµητικά δεδοµένα ............................................................................................. 48 2.1.2 Αλφαριθµητικά σύµβολα .................................................................................... 57 Σύνοψη ενότητας........................................................................................................................ 60 2.2 Εντολές ............................................................................................................................................. 61 2.2.1 Είδη εντολών γλώσσας µηχανής .................................................................. 61 2.2.2 Τρόποι διευθυνσιοδότησης της κύριας µνήµης (Addressing Modes) ................................................................................................ 63 2.2.3 Είδη και µέγεθος τελούµενων ......................................................................... 68 2.2.4 Ταξινόµηση υπολογιστών βάσει του συνόλου εντολών .......... 69 2.2.5 Κωδικοποίηση του συνόλου εντολών ...................................................... 72
  • 8. 8 A ƒ à π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ Y ¶ √ § √ ° π ™ ∆ ø ¡ I Σύνοψη ενότητας........................................................................................................................ 74 Σύνοψη κεφαλαίου.................................................................................................................................... 74 K ∂ º ∞ § ∞ π √ 3 ∫ÂÓÙÚÈ΋ ÌÔÓ¿‰· ÂÂÍÂÚÁ·Û›·˜ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................... 77 3.1 Μονάδα επεξεργασίας δεδοµένων ............................................................................ 78 3.1.1 ∆οµή της µονάδας επεξεργασίας δεδοµένων ................................... 78 3.1.2 Μονάδα επεξεργασίας δεδοµένων σταθερής υποδιαστολής ..... 79 3.1.3 Μονάδα επεξεργασίας δεδοµένων κινητής υποδιαστολής .... 94 Σύνοψη ενότητας........................................................................................................................ 98 3.2 Μονάδα Ελέγχου ...................................................................................................................... 98 3.2.1 ∆οµή της µονάδας ελέγχου ............................................................................... 98 3.2.2 Υλοποίηση της µονάδας ελέγχου σαν ακολουθιακό κύκλωµα ......................................................................................................................... 101 3.2.3 Υλοποίηση της µονάδας ελέγχου µε την τεχνική του µικροπρογραµµατισµού .......................................................................... 102 3.2.4 Παραµένων έλεγχος .............................................................................................. 114 Σύνοψη ενότητας..................................................................................................................... 115 Σύνοψη κεφαλαίου................................................................................................................................. 115 K ∂ º ∞ § ∞ π √ 4 ™‡ÛÙËÌ· ÌÓ‹Ì˘ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 117 4.1 Τεχνολογία µνηµών ............................................................................................................. 119 4.1.1 Ηµιαγωγικές µνήµες ............................................................................................. 119 4.1.2 Μαγνητικές µνήµες ............................................................................................... 129 4.1.3. Οπτικές µνήµες ....................................................................................................... 132 Σύνοψη ενότητας..................................................................................................................... 134 4.2 Ιεραρχία µνήµης .................................................................................................................... 136 4.2.1. Τοπικότητα των αναφορών ........................................................................... 138 4.2.2. Σχεδιαστικοί σκοποί ........................................................................................... 140 4.2.3. Κόστος ............................................................................................................................ 141 4.2.4. Απόδοση ιεραρχικής µνήµης ...................................................................... 141
  • 9. Σύνοψη ενότητας..................................................................................................................... 142 4.3 Κρυφή µνήµη ........................................................................................................................... 143 4.3.1 Τακτική προσκόµισης µπλοκ πληροφορίας (fetch policy) ............................................................................................................... 144 4.3.2 Τρόπος απεικόνισης µπλοκ της κύριας µνήµης σε πλαίσια της κρυφής µνήµης ................................................................. 145 4.3.3 Στρατηγική απελευθέρωσης πλαισίων της κρυφής µνήµης για προσκόµιση µπλοκ της κύριας µνήµης ...................................... 159 4.3.4 Τακτική ενηµέρωσης του επόµενου επιπέδου της ιεραρχικής µνήµης ....................................................................................... 160 Σύνοψη ενότητας..................................................................................................................... 164 4.4 Κύρια µνήµη ............................................................................................................................. 166 Σύνοψη κεφαλαίου................................................................................................................................. 169 K ∂ º ∞ § ∞ π √ 5 ™‡ÛÙËÌ· ‰È·Û‡Ó‰ÂÛ˘ Î·È ÂÈÛfi‰Ô˘–ÂÍfi‰Ô˘ Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 171 5.1 Αρτηρίες (Buses) .................................................................................................................. 172 5.1.1 Είδη αρτηριών ........................................................................................................... 172 5.1.2 Σύγχρονες και ασύγχρονες αρτηρίες ..................................................... 179 5.1.3 Ταχύτητα αρτηρίας ................................................................................................ 183 5.1.4 Χρήση της αρτηρίας και διαιτησία ......................................................... 183 Σύνοψη ενότητας..................................................................................................................... 187 5.2 Μέθοδοι ελέγχου της διαδικασίας εισόδου/εξόδου ................................. 188 5.2.1 ∆ιευθυνσιοδότηση των µονάδων εισόδου/εξόδου ..................... 188 5.2.2 Ο ρόλος του λειτουργικού συστήµατος στην διαδικασία εισόδου/εξόδου ......................................................................................................... 190 5.2.3 Συµµετοχή της ΚΜΕ στη διαδικασία εισόδου/εξόδου .......... 191 Σύνοψη ενότητας..................................................................................................................... 198 Σύνοψη κεφαλαίου................................................................................................................................. 198 ¶ A P A P T H M A A ∞ÚÈıÌËÙÈο Û˘ÛÙ‹Ì·Ù· Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις ............................................................................................................ 201 Α.1 Χρήση αριθµητικών συστηµάτων ............................................................................... 201 9¶ E P I E X O M E N A
  • 10. 1 0 A ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ Y ¶ √ § √ ° π ™ ∆ ø ¡ I Α.2 Μετατροπή αριθµών από ένα αριθµητικό σύστηµα σε άλλο ............... 204 Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης ..................................................................... 209 Eνδεικτικές Aπαντήσεις ∆ραστηριοτήτων ..................................................................... 237 Γλωσσάρι / Eυρετήριο ...................................................................................................................... 239 Bιβλιογραφία ............................................................................................................................................ 243
  • 11. ¶ÚfiÏÔÁÔ˜ Το βιβλίο αυτό αναφέρεται στην Αρχιτεκτονική Υπολογιστών µε την ευρύ- τερη έννοια του όρου, που περιλαµβάνει τη δοµή, την οργάνωση και τη λει- τουργία του υπολογιστή. Έχει γίνει προσπάθεια να αποτελέσει ένα αυτοτε- λές κείµενο. Τα µόνα προαπαιτούµενα είναι κάποιες στοιχειώδεις γνώσεις λογικού σχεδιασµού και προγραµµατισµού. Το βιβλίο αποτελείται από πέντε κεφάλαια και ένα παράρτηµα. Στο πρώτο κεφάλαιο γίνεται µία εισαγωγή στη δοµή, οργάνωση, λειτουργία και απόδο- ση των υπολογιστών. Επίσης γίνεται η διαµέριση του υπολογιστή σε τρία υποσυστήµατα, την Κεντρική Μονάδα Επεξεργασίας, το Σύστηµα Μνήµης και το Σύστηµα ∆ιασύνδεσης των Μονάδων και τις Μονάδες Εισόδου/Εξό- δου. Το δεύτερο κεφάλαιο αναφέρεται στην οργάνωση της πληροφορίας στον υπολογιστή. Σαν πληροφορία θεωρούµε τόσο τα προγράµµατα όσο και τα δεδοµένα, αριθµητικά και µη. Στο τρίτο κεφάλαιο γίνεται η παρουσίαση της Κεντρικής Μονάδας Επεξεργασίας. Το πρώτο µέρος αφιερώνεται στη µονά- δα επεξεργασίας δεδοµένων και το δεύτερο στη µονάδα ελέγχου. Στο τέταρ- το κεφάλαιο παρουσιάζεται το σύστηµα της µνήµης, ενώ στο πέµπτο κεφά- λαιο παρουσιάζεται το σύστηµα διασύνδεσης των µονάδων ενός συστήµα- τος και η διαδικασία εισόδου/εξόδου πληροφοριών από τον υπολογιστή. Στο παράρτηµα παρουσιάζονται διάφορα αριθµητικά συστήµατα και µέθοδοι µετατροπής από ένα σύστηµα σε άλλο. Θεωρώ ότι η εµπειρία και η γνώση που απεκόµισα τα τελευταία δέκα χρόνια που διδάσκω το µάθηµα Αρχιτεκτονική Υπολογιστών στο τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής της Πολυτεχνικής Σχολής του Πανεπιστηµίου Πατρών ήταν καθοριστική για τη συγγραφή αυτού του βιβλίου. Εύχοµαι το βιβλίο αυτό να φανεί χρήσιµο στους αναγνώστες. Τελειώνοντας θα ήθελα να ευχαριστήσω τη σύζυγό µου για την κατανόηση που έδειξε όλο το διάστηµα της συγγραφής του βιβλίου. Οι κόρες µου ήταν και είναι πολύ µικρές για να δείξουν κατανόηση. Ελπίζω να µην ταύτισαν το Ελληνικό Ανοικτό Πανεπιστήµιο µε την κακιά µάγισσα των παραµυθιών. Πάτρα 5 Ιουνίου 2000 ∆ηµήτρης Νικολός
  • 12.
  • 13. ∂ÈÛ·ÁˆÁ‹ ÛÙË ¢ÔÌ‹, √ÚÁ¿ÓˆÛË, §ÂÈÙÔ˘ÚÁ›· Î·È ∞ÍÈÔÏfiÁËÛË ÙˆÓ ÀÔÏÔÁÈÛÙÒÓ ™ÎÔfi˜ Σκοπός του κεφαλαίου αυτού είναι να µάθετε από τι αποτελείται ένας υπο- λογιστής, πώς λειτουργεί και ποια είναι τα χαρακτηριστικά, που καθορίζουν την αρχιτεκτονική του. Επίσης να καταστείτε ικανοί να εκτιµήσετε την από- δοση ενός υπολογιστή. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε µελετήσει αυτό το κεφάλαιο, θα µπορείτε να : • περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής • περιγράψετε τον τρόπο λειτουργίας ενός υπολογιστή • εκτιµήσετε την απόδοσή του ŒÓÓÔȘ ÎÏÂȉȿ 1∫ ∂ º ∞ § ∞ π √ • Yλικό • Λογισµικό • Aρχιτεκτονική υπολογιστών • Oικογένεια υπολογιστών • Kεντρική µονάδα επεξεργασίας • Kύρια µνήµη • Bοηθητική µνήµη • Aρτηρία διασύνδεσης • Mονάδες εισόδου και εξόδου • Aπόδοση υπολογιστή ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Το κεφάλαιο αυτό αποτελείται από πέντε ενότητες. Στην πρώτη ενότητα κάνουµε µία εισαγωγή στο υλικό και το λογισµικό του υπολογιστή. Στη δεύ- τερη ενότητα παρουσιάζουµε τις έννοιες της αρχιτεκτονικής των υπολογιστών και οικογένειας υπολογιστών. Στην τρίτη ενότητα περιγράφουµε τη δοµή, οργάνωση και λειτουργία του υπολογιστή, ενώ στην τέταρτη ενότητα ασχο- λούµαστε µε τις µονάδες εισόδου/εξόδου. Τέλος, στην πέµπτη ενότητα περι- γράφονται τρόποι εκτίµησης της απόδοσης του υπολογιστή.
  • 14. 1 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ 1.1 ÀÏÈÎfi Î·È ÏÔÁÈÛÌÈÎfi ™ÎÔfi˜ Σκοπός της ενότητας είναι να κατανοήσετε τι είναι το υλικό (hardware) και τι το λογισµικό (software). Επίσης να καταστείτε ικανοί να διακρίνετε το λογι- σµικό σε διάφορες κατηγορίες. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε µελετήσει αυτή την ενότητα ,θα µπορείτε να : • διακρίνετε τι είναι υλικό και τι είναι λογισµικό • ταξινοµείτε τα προγράµµατα, που εκτελούνται σε ένα υπολογιστικό σύστη- µα, ανάλογα µε το σκοπό που αυτά εξυπηρετούν À§π∫√ ∫∞π §√°π™ªπ∫√ Ο υπολογιστής είναι ένα σύστηµα επεξεργασίας πληροφοριών, που παίρνει ως είσοδο την προς επεξεργασία πληροφορία και προγράµµατα, τα οποία καθορίζουν το είδος της επεξεργασίας που θα λάβει χώρα, και παράγει ως έξοδο τα αποτελέσµατα αυτής της επεξεργασίας. Οι πληροφορίες, που εισά- γονται στον υπολογιστή προς επεξεργασία καθώς και τα αποτελέσµατα αυτής της επεξεργασίας, µπορεί να έχουν την µορφή αριθµών, κειµένου, εικόνας, σχηµάτων, φωνής ή ενός συνδυασµού αυτών. Τα προγράµµατα είναι µία ακο- λουθία εντολών, που περιγράφονται χρησιµοποιώντας µια συγκεκριµένη γλώσσα. Όπως µία φυσική γλώσσα, για παράδειγµα η Ελληνική και η Αγγλι- κή, η γλώσσα, που χρησιµοποιούµε για να γράφουµε προγράµµατα, έχει τη δική της γραµµατική και το δικό της συντακτικό. Πρέπει να σηµειώσουµε ότι υπάρχουν περισσότερες από µία γλώσσες συγγραφής προγραµµάτων. Κάθε υπολογιστικό σύστηµα αποτελείται από το υλικό (hardware) και το λογισµικό (software). Το υλικό περιλαµβάνει το σύνολο των συσκευών, που αποτελούν το υπολογιστικό σύστηµα, για παράδειγµα τα ολοκληρωµένα κυκλώµατα, τους δίσκους, το πληκτρολόγιο και την οθόνη. Το λογισµικό µπορεί να ορισθεί σαν το σύνολο των προγραµµάτων, που εκτελούνται στο υπολογιστικό σύστηµα. Ένα υπολογιστικό σύστηµα µπορούµε να πούµε ότι αποτελείται από την κεντρική µονάδα και τις περιφερειακές µονάδες. Όσον αφορά το λογισµικό, µπορούµε να διακρίνουµε τρεις κατηγορίες:
  • 15. • Tο λογισµικό του συστήµατος (system software) • Tο διαγνωστικό λογισµικό (diagnostic software) • Tο λογισµικό των εφαρµογών (application software) Το λογισµικό του συστήµατος διαχειρίζεται και κατανέµει τα αγαθά του συστήµατος και προσφέρει στον προγραµµατιστή τα αναγκαία εργαλεία για τη συγγραφή των προγραµµάτων εφαρµογών. Το λογισµικό του συστήµα- τος αποτελείται από : 1. Λειτουργικό σύστηµα (operating system). Το λειτουργικό σύστηµα είναι υπεύθυνο για την καλύτερη κατανοµή και εκµετάλλευση του υλικού, όπως επίσης και για τη φιλικότερη εµφάνιση του υπολογιστή στο χρήστη. 2. Βοηθητικά προγράµµατα (utility programs). Από τα πιο γνωστά προ- γράµµατα, που ανήκουν στην κατηγορία αυτή, είναι : • Προγράµµατα που δίνουν τη δυνατότητα στο χρήστη να δηµιουργήσει νέα αρχεία ή να σβήσει ήδη υπάρχοντα, να αντιγράψει αρχεία από µία θέση σε κάποια άλλη θέση του συστήµατος αρχείων κλπ. Σαν παρά- δειγµα αναφέρουµε το πρόγραµµα "explorer" των WINDOWS 95. • Προγράµµατα που βοηθάνε τον προγραµµατιστή να γράψει, τροπο- ποιήσει και αποθηκεύσει προγράµµατα και δεδοµένα, χρησιµοποιώ- ντας το πληκτρολόγιο και τη οθόνη (editors). • Τα προγράµµατα βιβλιοθήκης (library routines). Εδώ περιλαµβάνο- νται προγράµµατα ταξινόµησης των εγγραφών ενός αρχείου, υπολο- γισµού κλασσικών αριθµητικών συναρτήσεων κλπ. • Οι µεταφραστές (translators) και οι διερµηνείς (interpreters). Το διαγνωστικό λογισµικό αποτελείται από ένα σύνολο προγραµµάτων, που µε τη χρήση τους µπορούµε να ελέγξουµε την ορθή λειτουργία των διάφο- ρων µονάδων του υπολογιστικού συστήµατος. Το διαγνωστικό λογισµικό βοηθάει στη γρήγορη ανίχνευση και τον εντοπισµό της θέσης εµφάνισης βλα- βών. Η αύξηση του κόστους παροχής υπηρεσιών αλλά και το κόστος, που συνεπάγεται η αδυναµία χρήσης του υπολογιστή µας λόγω βλάβης, οδηγεί σε αύξηση των απαιτήσεων υλοποίησης υπολογιστικών συστηµάτων στα οποία η διάγνωση βλαβών και η συντήρηση να γίνεται εύκολα. Εποµένως, η σπουδαιότητα του διαγνωστικού λογισµικού αυξάνεται συνεχώς. Προγράµµατα εφαρµογών. Ο αριθµός των προγραµµάτων εφαρµογών είναι 1 5À § π ∫ √ ∫ ∞ π § √ ° π ™ ª π ∫ √
  • 16. 1 6 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ τεράστιος. Σαν παραδείγµατα µπορούµε να αναφέρουµε τα συστήµατα δια- χείρισης βάσεων δεδοµένων (Data Base Management Systems), τα λογιστι- κά φύλλα, τους εξοµοιωτές, τα προγράµµατα που προσφέρονται για σχεδία- ση µε τη βοήθεια του υπολογιστή (Computer Aided Design), τις εφαρµογές πολυµέσων και τις δικτυακές εφαρµογές. α. Αναφέρετε τις κύριες κατηγορίες, στις οποίες διακρίνεται το λογισµικό.ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1 Τι είναι σωστό και τι είναι λάθος από τα παρακάτω; α. Το πληκτρολόγιο και η οθόνη ανήκουν στο υλικό του υπολογιστή. β. Σε κάθε εν χρήσει υπολογιστή σήµερα υπάρχει κάποιο λειτουργικό σύστηµα. γ. Όλοι οι εν χρήσει υπολογιστές είναι αναγκαίο να διαθέτουν τα ίδια βοη- θητικά προγράµµατα. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2 1.2 ∞Ú¯ÈÙÂÎÙÔÓÈ΋ ˘ÔÏÔÁÈÛÙÒÓ ™ÎÔfi˜ Σκοπός της ενότητας είναι να κατανοήσετε ποια είναι τα χαρακτηριστικά που ορίζουν την αρχιτεκτονική ενός υπολογιστή και τη χρησιµότητα της οικογέ- νειας υπολογιστών. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να: • διακρίνετε τις διαφορές µεταξύ δοµής, οργάνωσης, υλοποίησης και αρχι- τεκτονικής σε επίπεδο γλώσσας µηχανής • ταξινοµήσετε ένα σύνολο υπολογιστών σε οικογένειες ∞ƒÃπ∆∂∫∆√¡π∫∏ À¶√§√°π™∆ø¡ Αν και ο όρος αρχιτεκτονική υπολογιστών χρησιµοποιείται για πολλά χρό- νια, δεν υπάρχει ένας γενικά αποδεκτός ορισµός. Για πολλούς υπάρχουν πολ-
  • 17. λές διάκριτες αρχιτεκτονικές, που περιγράφουν ένα υπολογιστικό σύστηµα σε διάφορα επίπεδα. Η αρχιτεκτονική σε ένα επίπεδο µπορεί να θεωρηθεί σαν η λειτουργική εµφάνιση του συστήµατος, που βρίσκεται κάτω από αυτό το επίπεδο, σ' ένα χρήστη, που βρίσκεται πάνω από το επίπεδο αυτό. Η λει- τουργική εµφάνιση, δηλαδή συµπεριφορά, ιδιότητες και δυνατότητες του συστήµατος σ' ένα επίπεδο, καθορίζεται από τη δοµή και οργάνωση του συστήµατος κάτω από αυτό το επίπεδο. Η δοµή περιγράφει τις µονάδες, από τις οποίες αποτελείται το σύστηµα, και τον τρόπο διασύνδεσής τους, ενώ η οργάνωση περιγράφει τη δυναµική αλληλεπίδραση και τη διαχείριση των µονάδων. Πρέπει να σηµειώσουµε ότι η απόδοση του υπολογιστή σ' ένα επί- πεδο καθορίζεται από τη δοµή και την οργάνωση του συστήµατος κάτω από αυτό το επίπεδο, καθώς και τον τρόπο υλοποίησής του. Ο χρήστης, που βρί- σκεται πάνω από ένα επίπεδο αρχιτεκτονικής, συνήθως δεν ενδιαφέρεται για τις λεπτοµέρειες του συστήµατος κάτω από αυτό το επίπεδο, παρά µόνο για τις ιδιότητες επικοινωνίας µε τον υπολογιστή σ' αυτό το επίπεδο. 1 7∞ ƒ à π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ À ¶ √ § √ ° π ™ ∆ ø ¡ APXITEKTONIKH επίπεδο συστήµατος επίπεδο γλωσσών προγραµµατισµού επίπεδο λειτουργικού συστήµατος επίπεδο συνόλου εντολών γλώσσας µηχανής επίπεδο µικρο- προγραµµατισµού XPHΣTEΣ χρήστες εφαρµογών προγραµµατιστές εφαρµογών προγραµµατιστές συστήµατος προγραµµατιστές σε γλώσσα µηχανής προγραµµατιστές σε επίπεδο µικροπρογράµµατος προγράµµατα εφαρµογών µεταφραστές γλωσσών προγραµµατισµού διαχείρηση αγαθών µικροκώδικας υλικό ™¯‹Ì· 1.1 ∆ιάφορα επίπεδα αρχιτεκτονικής υπολογιστών.
  • 18. 1 8 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ Στο σχήµα 1.1 δίνεται µία εικόνα διαφόρων επιπέδων αρχιτεκτονικής και οι χρήστες κάθε επιπέδου. Τα χαρακτηριστικά της αρχιτεκτονικής σε επίπεδο συστήµατος καθορίζονται από το σύνολο των προγραµµάτων εφαρµογής. Χρήστες είναι οι χρήστες εφαρµογών και το προσωπικό συντήρησης. Η αρχι- τεκτονική σε επίπεδο γλωσσών προγραµµατισµού περιγράφει όλα τα εργα- λεία και τις υπηρεσίες, που προσφέρονται στον προγραµµατιστή εφαρµο- γών. Τα χαρακτηριστικά της αρχιτεκτονικής σε επίπεδο γλωσσών προγραµ- µατισµού καθορίζονται από το σύνολο των µεταφραστών και οποιωνδήπο- τε άλλων προγραµµάτων υποστήριξης ανάπτυξης λογισµικού εφαρµογών. Σ' αυτό το επίπεδο χρήστες είναι οι προγραµµατιστές εφαρµογών. Η αρχι- τεκτονική σε επίπεδο λειτουργικού συστήµατος αφορά τα χαρακτηριστικά του λειτουργικού συστήµατος. Τα χαρακτηριστικά του λειτουργικού συστή- µατος καθορίζονται από τον τρόπο που γίνεται η διαχείριση των αγαθών του συστήµατος, για παράδειγµα διαχείριση µνήµης, χρονοκατανοµή των δια- τάξεων (device allocation) και χρονοπρογραµµατισµός (scheduling). Σ' αυτό το επίπεδο χρήστες είναι οι προγραµµατιστές συστήµατος. Η αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής περιγράφει την οργά- νωση της κύριας µνήµης, τους καταχωρητές που είναι προσπελάσιµοι από τον προγραµµατιστή σε γλώσσα µηχανής, τα διαθέσιµα είδη δεδοµένων και δοµών δεδοµένων, όπως και τον τρόπο κωδικοποίησής τους και αναπαρά- στασής τους, τη µορφή και το σύνολο των εντολών και τους τρόπους καθο- ρισµού διευθύνσεων (addressing modes). Χρήστες στην προκειµένη περί- πτωση είναι οι προγραµµατιστές σε γλώσσα µηχανής. Το όριο, στο οποίο ορίζεται η αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής, είναι το κλασσικό όριο διασύνδεσης υλικού–λογισµικού. Η αρχιτεκτονική σε επίπεδο µικροπρογραµµατισµού δίνει όλη την πληρο- φορία που χρειάζεται κάποιος, για να γράψει µικροπρογράµµατα ή να γρά- ψει έναν µεταφραστή για µία υψηλού επιπέδου γλώσσα µικροπρογραµµατι- σµού. Είναι φανερό ότι αυτό το επίπεδο αρχιτεκτονικής υπάρχει µόνο στους υπολογιστές, που χρησιµοποιούν την τεχνική του µικροπρογραµµατισµού. Στην πλειοψηφία των σύγχρονων εµπορικών επεξεργαστών δεν χρησιµο- ποιείται η τεχνική αυτή. Στο βιβλίο αυτό, όπως και σε πολλά άλλα σύγχρονα βιβλία αρχιτεκτονικής υπολογιστών, θα θεωρήσουµε την αρχιτεκτονική υπολογιστών µε την ευρεία της έννοια που περικλείει την αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής, τη δοµή, την οργάνωση, την υλοποίηση (implementation) και την
  • 19. απόδοση (performance). Η δοµή δίνει τις µονάδες υλικού, από τις οποίες απο- τελείται ο υπολογιστής, και τον τρόπο που συνδέονται µεταξύ τους, η οργά- νωση περιγράφει τη δυναµική αλληλεπίδραση και τη διαχείριση των µονά- δων και η υλοποίηση δίνει τον ακριβή σχεδιασµό των διαφόρων µονάδων του υπολογιστή και την τεχνολογία που χρησιµοποιείται, CMOS, BiCMOS κλπ. Σαν παράδειγµα αναφέρουµε ότι η πληροφορία σχετικά µε το εάν ένας αθροιστής είναι διαδοχικού κρατουµένου (ripple carry) ή πρόβλεψης κρα- τουµένου (carry lookahead) αφορά την υλοποίηση του υπολογιστή. Ένα σύνολο υπολογιστών, που έχουν την ίδια αρχιτεκτονική υπολογιστή σε επίπεδο εντολών γλώσσας µηχανής, λέµε ότι αποτελούν µία οικογένεια ή σειρά υπολογιστών. Το κύριο χαρακτηριστικό της οικογένειας υπολογιστών είναι ότι το λογισµικό, που είναι γραµµένο για κάποιον υπολογιστή της οικο- γένειας, θα εκτελείται σωστά, αν και συνήθως µε διαφορετική ταχύτητα, σε κάθε άλλο µέλος της οικογένειας. Σαν παραδείγµατα µπορούµε να αναφέ- ρουµε τις οικογένειες υπολογιστών που βασίζονται αντίστοιχα στις αρχιτε- κτονικές ΙΒΜ/4300, (IBM, Motorola, Apple)/PowerPC και Hewlett–Packard/PA–RISC. Οι υπολογιστές που ανήκουν σε µία οικογένεια, µπορεί να έχουν διαφορετική δοµή ή/και διαφορετική οργάνωση ή/και δια- φορετική υλοποίηση, εποµένως η ταχύτητα εκτέλεσης προγραµµάτων και η τιµή αγοράς τους µπορεί να διαφέρει σηµαντικά. Μερικές φορές στα χαρακτηριστικά µιας αρχιτεκτονικής προστίθενται και κάποια νέα, χωρίς να αφαιρεθεί κάποιο από τα υπάρχοντα. Για παράδειγµα µπορεί να προστεθούν κάποιες νέες εντολές ή και κάποιοι νέοι τρόποι καθο- ρισµού διευθύνσεων της µνήµης χωρίς να αφαιρεθεί κάποιος από τους ήδη υπάρχοντες. Σ' αυτή την περίπτωση τα προγράµµατα, που εκτελούνταν σε υπολογιστές που υλοποιούσαν την παλαιά αρχιτεκτονική, µπορούν να εκτε- λεστούν και σε υπολογιστές που υλοποιούν τη νέα αρχιτεκτονική, χωρίς να µπορεί να συµβεί και το αντίθετο. Σ' αυτή την περίπτωση λέµε ότι επεκτεί- ναµε την αρχιτεκτονική µε έναν προς τα άνω συµβατό τρόπο. Σαν παρά- δειγµα αναφέρουµε την αρχιτεκτονική PA–2.0 της Hewlett–Packard, που είναι µία επέκταση της αρχιτεκτονικής PA–RISC. Θα πρέπει να τονίσουµε ότι η συµβατότητα, µε την οποία ασχοληθήκαµε, ανα- φέρεται σε επίπεδο εκτελέσιµου προγράµµατος. Προγράµµατα που είναι γραµ- µένα σε κάποια γλώσσα προγραµµατισµού υψηλού επιπέδου, µπορούν να µεταφραστούν, εφόσον βέβαια είναι διαθέσιµος ο κατάλληλος µεταφραστής (compiler), για το συγκεκριµένο υπολογιστή και να εκτελεστούν κανονικά. 1 9∞ ƒ Ã π ∆ ∂ ∫ ∆ √ ¡ π ∫ ∏ À ¶ √ § √ ° π ™ ∆ ø ¡
  • 20. 2 0 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ Όταν λαµβάνουν χώρα εξελίξεις στη βασική τεχνολογία, οι υπολογιστές εξελίσσονται συνήθως προς δύο κατευθύνσεις. Η µία κατεύθυνση είναι προς υπολογιστές χαµηλότερου κόστους, που µπορούν να χρησιµοποιηθούν σε εφαρµογές όπου το κόστος χρησιµοποίησης των προηγούµενων υπολογι- στών ήταν απαγορευτικό, διευρύνοντας έτσι το πεδίο εφαρµογών των υπο- λογιστών και εποµένως αυξάνοντας τον αριθµό των πωλήσεων. Κάθε χρόνο οι τιµές των υπολογιστών µειώνονται και γίνεται οικονοµικά βιώσιµη η χρήση τους σε νέες εφαρµογές. Η άλλη κατεύθυνση είναι προς υπολογιστές µε βελτιωµένη λειτουργικότητα και απόδοση, ώστε να είναι δυνατόν να λυθούν προβλήµατα που η επίλυσή τους µε τους προηγούµενους υπολογι- στές ήταν απαγορευτικά χρονοβόρα. Για παράδειγµα, εάν χρησιµοποιώντας κάποιον υπολογιστή για την πρόβλεψη του καιρού της επόµενης ηµέρας απαιτούνταν επεξεργασία των δεδοµένων διάρκειας δύο ηµερών, η πρό- βλεψη δεν θα είχε καµία αξία. ∆ώστε τον ορισµό καθεµίας από τις επόµενες έννοιες : α. αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής β. δοµή γ. οργάνωση δ. υλοποίηση ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3 α. Είναι σωστό ή λάθος ότι δύο υπολογιστές, που ανήκουν στην ίδια οικογέ- νεια, έχουν την ίδια αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής; β. Ο υπολογιστής Β προέκυψε προσθέτοντας στην αρχιτεκτονική σε επί- πεδο εντολών γλώσσας µηχανής του υπολογιστή Α δύο νέους τρόπους καθορισµού διευθύνσεων. Τι είναι σωστό από τα παρακάτω; i. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Α, όταν εκτελείται στον Β θα χρησιµοποιεί όλους τους τρόπους καθορισµού διευθύνσεων του Β. ii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Β, µπορεί να εκτελεστεί και στον Α. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4
  • 21. 1.3 ¢ÔÌ‹, ÔÚÁ¿ÓˆÛË Î·È ÏÂÈÙÔ˘ÚÁ›· ˘ÔÏÔÁÈÛÙÒÓ ™ÎÔfi˜ Σκοπός της ενότητας αυτής είναι να κατανοήσετε από ποιες µονάδες αποτε- λείται ο υπολογιστής και πώς αυτές οι µονάδες συνδέονται µεταξύ τους (δοµή). Επίσης τον τρόπο, µε τον οποίο οι µονάδες αλληλεπιδρούν µεταξύ τους (οργά- νωση) και πώς οι χρήστες επικοινωνούν µε τον υπολογιστή διαµέσου των µονάδων εισόδου και εξόδου. Η ενότητα αυτή, επίσης, θα βοηθήσει στο να κατανοήσετε τον τρόπο που η δοµή και η οργάνωση του υπολογιστή επηρεά- ζει την απόδοσή του, µε την οποία θα ασχοληθούµε στην ενότητα 1.5. ¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù· Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να: • περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής • κατανοήσετε τη σηµασία των βασικών χαρακτηριστικών κάθε µονάδας • περιγράψετε τις διαδικασίες που λαµβάνουν χώρα στον υπολογιστή κατά την εκτέλεση ενός προγράµµατος ∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ Η ενότητα αυτή αποτελείται από πέντε υποενότητες. Στην υποενότητα 1.3.1 παρουσιάζονται οι µονάδες, από τις οποίες αποτελείται ο υπολογιστής. Στην υποενότητα 1.3.2 δίνονται τα βασικά χαρακτηριστικά της Κεντρικής Μονά- δας Επεξεργασίας, ενώ στην 1.3.3 παρουσιάζεται το σύστηµα µνήµης του υπο- λογιστή. Στις υποενότητες 1.3.4 και 1.3.5 γίνεται µία εισαγωγή στη λειτουρ- γία της κρυφής και της ιδεατής µνήµης και τους σκοπούς, για τους οποίους τις χρησιµοποιούµε. 2 1¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡ iii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Α, µπορεί να εκτελεστεί και στον Β, αλλά δεν θα χρησιµοποιεί τους δύο νέους τρόπους καθορισµού διευθύνσεων.
  • 22. 2 2 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ 1.3.1 ¢ÔÌ‹ ÙÔ˘ ˘ÔÏÔÁÈÛÙ‹ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδε- σης των µονάδων. Στο σχήµα 1.2 δίνεται η δοµή ενός τυπικού προσωπικού υπολογιστή. Η ΚΜΕ είναι η πλέον πολύπλοκη µονάδα του υπολογιστή και έχει την όλη υπευθυνότητα για την εκτέλεση των προγραµµάτων. Αποτελείται από τη Μονάδα Επεξεργασίας ∆εδοµένων (Data Path) και τη Μονάδα ελέγχου (Control Unit). Η Μονάδα Επεξεργασίας ∆εδοµένων µε τη σειρά της απο- τελείται από κυκλώµατα για την εκτέλεση αριθµητικών και λογικών πράξε- ων και ένα σύνολο καταχωρητών, που ο αριθµός τους ποικίλλει από υπολο- γιστή σε υπολογιστή. Kύρια µνήµη Aρτηρία συστήµατος Mνήµη µαγνητικού δίσκου Eλεγκτής µονάδας δίσκου Kρυφή µνήµη ™¯‹Ì· 1.2 ∆οµή ενός προσωπικού υπολογιστή. Στη µνήµη ενός υπολογιστή αποθηκεύονται τα δεδοµένα, που θα επεξεργα- στεί ο υπολογιστής, και τα προγράµµατα, που καθορίζουν την επεξεργασία που θα γίνει. Είναι γενικά επιθυµητό η µνήµη να είναι πολύ µεγάλης χωρη- τικότητας και τόσο γρήγορη όσο και η ΚΜΕ, ώστε η ΚΜΕ να µην καθυ- στερεί κατά την επικοινωνία της µε τη µνήµη. ∆υστυχώς, αφενός οι πολύ γρήγορες µνήµες είναι πολύ ακριβές αφετέρου, για κατασκευαστικούς
  • 23. λόγους, µνήµες µεγάλης χωρητικότητας είναι πιο αργές από µνήµες µικρό- τερης χωρητικότητας της ίδιας τεχνολογίας. ∆εν είναι, λοιπόν, δυνατό (εκτός από πολύ µικρά συστήµατα ειδικού σκοπού) να χρησιµοποιούµε µία µόνο µνήµη υψηλής ταχύτητας. Γι’ αυτό, λοιπόν, το λόγο τα προς επεξεργασία δεδοµένα και τα προγράµµατα αποθηκεύονται σε µία ποικιλία από διαφο- ρετικές µονάδες µνήµης µε πολύ διαφορετικά χαρακτηριστικά. Αυτές οι µονάδες µαζί µε τους αλγόριθµους που χρειάζονται για τον έλεγχο και τη διαχείριση της µνήµης αποτελούν το σύστηµα µνήµης του υπολογιστή. Μεταξύ των µονάδων µνήµης διακρίνουµε τους καταχωρητές, την κύρια µνήµη και τη βοηθητική ή δευτερεύουσα µνήµη. Θα πρέπει να σηµειώσου- µε ότι, αν και η φυσική θέση των καταχωρητών είναι στην ΚΜΕ, οι κατα- χωρητές ανήκουν στο σύστηµα της µνήµης. Στον υπολογιστή του σχήµατος 1.2 το σύστηµα µνήµης αποτελείται από τους καταχωρητές, που δεν φαίνο- νται στο σχήµα διότι περιέχονται στην ΚΜΕ, την Μ∆Μ ( θα αναφερθούµε σ' αυτή στην υποενότητα 1.3.5), την κρυφή µνήµη ( µ' αυτή θα ασχοληθού- µε στην υποενότητα 1.3.4), την κύρια µνήµη και τη µνήµη µαγνητικού δίσκου συµπεριλαµβανοµένου του ελεγκτή της. Η χωρητικότητα κάθε καταχωρητή µετριέται µε το πλήθος των δυαδικών ψηφίων (bits) ή ψηφιολέξεων (bytes), που µπορούν να αποθηκευτούν σ’ αυτόν. Το δυαδικό ψηφίο παίρνει την τιµή 0 ή 1 και µία ψηφιολέξη αποτε- λείται από οκτώ δυαδικά ψηφία. Η χωρητικότητα της κύριας µνήµης, όπως και της κρυφής και της βοηθητικής µνήµης ενός υπολογιστή, µετριέται σε: • Kbytes ή KB, 1 KB = 210 bytes =1024 bytes • Mbytes ή MB, 1 MB = 220 bytes =1024 Kbytes • Gbytes ή GB, 1 GB = 230 bytes =1024 Mbytes Συνήθως, λόγω του µεγέθους της, η χωρητικότητα της κρυφής µνήµης µετρά- ται σε ΚΒ, της κύριας σε ΜΒ και της βοηθητικής σε GΒ. Οι µονάδες εισόδου/εξόδου χρησιµοποιούνται για την επικοινωνία του υπο- λογιστή µε τον εξωτερικό κόσµο. Η κύρια λειτουργία των µονάδων εισό- δου/εξόδου είναι να µετατρέπουν την πληροφορία από µία φυσική αναπαρά- σταση σε κάποια άλλη. Οι µονάδες εισόδου µετατρέπουν την πληροφορία από µια από τις µορφές που χρησιµοποιούνται στην κοινωνία µας, σε µια από τις µορφές που χρησιµοποιεί ο υπολογιστής για την εσωτερική αναπαράσταση της πληροφορίας. Οι µονάδες εξόδου κάνουν το αντίστροφο. Με την αναπα- ράσταση της πληροφορίας στον υπολογιστή θα ασχοληθούµε στο κεφάλαιο 2. Στον υπολογιστή του σχήµατος 1.2 µονάδες εισόδου/εξόδου είναι η οθόνη 2 3¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
  • 24. 2 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ και το πληκτρολόγιο συµπεριλαµβανοµένων των ελεγκτών τους. Το σύστηµα διασύνδεσης αποτελείται από τις αρτηρίες διασύνδεσης των δια- φόρων µονάδων του συστήµατος. Για παράδειγµα, στο σχήµα 1.2 η αρτηρία του συστήµατος, η αρτηρία εισόδου/εξόδου, οι µονάδες διασύνδεσης και ο ελεγκτής δικτύου (κάρτα δικτύου) ανήκουν στο σύστηµα διασύνδεσης. Ο ελεγκτής δικτύου µπορεί να θεωρηθεί και σαν µονάδα εισόδου/εξόδου. Αναφέρετε τις µονάδες, από τις οποίες αποτελείται ένα υπολογιστικό σύστηµα. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.5 Αναφέρετε δύο λόγους, για τους οποίους δεν είναι δυνατόν η µνήµη ενός υπολογιστή γενικού σκοπού να υλοποιείται µε µία µόνον τεχνολογία. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.6 Αναφέρετε τρεις µονάδες µνήµης, που υπάρχουν στο σύστηµα µνήµης κάθε ενός υπολογιστή. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.7 Συµπληρώστε κάθε πρόταση επιλέγοντας το σωστό όρο: GBytes, ∆υαδικά ψηφία (bits), Kbytes, ψηφιολέξεις (bytes), Mbytes. • H χωρητικότητα των καταχωρητών µετράται σε ________. • H χωρητικότητα της κρυφής µνήµης, που βρίσκεται µεταξύ ΚΜΕ και κύριας µνήµης, µετράται σε ________. • H χωρητικότητα της κύριας µνήµης µετράται σε ________. • H χωρητικότητα της βοηθητικής µνήµης µετράται σε ________. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.8 1.3.2 ∫ÂÓÙÚÈ΋ ÌÔÓ¿‰· ÂÂÍÂÚÁ·Û›·˜ Η Κεντρική Μονάδα Επεξεργασίας, ΚΜΕ, αποτελείται από τη Μονάδα Επε- ξεργασίας ∆εδοµένων (Data Path) και τη Μονάδα Ελέγχου (Control Unit). Η ΚΜΕ κατασκευάζεται συνήθως σήµερα σε ένα ολοκληρωµένο κύκλωµα (Integrated Circuit, IC) και ονοµάζεται επεξεργαστής (processor). Βέβαια,
  • 25. επιπλέον της Μονάδας Επεξεργασίας ∆εδοµένων και της Μονάδας Ελέγχου, µπορεί στο ίδιο ολοκληρωµένο µε τον επεξεργαστή να υπάρχουν και άλλες υποµονάδες, όπως η κρυφή µνήµη (cache memory) και η µονάδα διαχείρι- σης µνήµης, Μ∆Μ, (Memory Managment Unit, MMU). Η Μονάδα Επεξεργασίας ∆εδοµένων αποτελείται από κυκλώµατα για την εκτέλεση αριθµητικών και λογικών πράξεων και ένα σύνολο καταχωρητών, που ο αριθµός τους ποικίλλει από υπολογιστή σε υπολογιστή. Η Μονάδα Επε- ξεργασίας ∆εδοµένων στους σύγχρονους επεξεργαστές αποτελείται από δύο υποµονάδες, τη Μονάδα Επεξεργασίας ∆εδοµένων σταθερής υποδιαστολής (fixed point arithmetic) και τη Μονάδα Επεξεργασίας ∆εδοµένων κινητής υποδιαστολής (floating point arithmetic) (Η παρουσίαση της αριθµητικής στα- θερής και κινητής υποδιαστολής γίνεται στο κεφάλαιο 2.). Σε κάποιες εφαρ- µογές, όπως για παράδειγµα εφαρµογές επεξεργασίας κειµένου, δεν χρησι- µοποιούνται καθόλου πράξεις κινητής υποδιαστολής, ενώ υπάρχουν και εφαρ- µογές που χρησιµοποιούνται ελάχιστα. Παλαιότερα οι κατασκευαστές υπο- λογιστών, για να ελαττώσουν το κόστος των υπολογιστών και να τους κάνουν πιο προσιτούς στους χρήστες, σε πολλά συστήµατα γενικού σκοπού δεν ενσω- µάτωναν τη µονάδα κινητής υποδιαστολής στον επεξεργαστή, αλλά την υλο- ποιούσαν σε άλλο ολοκληρωµένο κύκλωµα, που ονοµάζεται συν–επεξεργα- στής (coprocessor) ή µαθηµατικός συνεπεξεργαστής. Με αυτόν τον τρόπο έδι- ναν τη δυνατότητα στον αγοραστή να αγοράσει τον συν–επεξεργαστή και να τον προσθέσει στο σύστηµά του, µόνο όταν τον χρειαζόταν. Ένας υπολογι- στής που δεν είναι εφοδιασµένος µε επεξεργαστή κινητής υποδιαστολής, εκτε- λεί τις εντολές κινητής υποδιαστολής εκτελώντας προγράµµατα σταθερής υποδιαστολής, που έχουν σαν αποτέλεσµα τον υπολογισµό του αποτελέσµα- τος της πράξης κινητής υποδιαστολής. Αντίθετα, στον υπολογιστή που είναι εφοδιασµένος µε επεξεργαστή κινητής υποδιαστολής, εκτελούνται κατευθεί- αν στο υλικό σε πολύ µικρότερο χρονικό διάστηµα. Οι καταχωρητές της Μονάδας Επεξεργασίας ∆εδοµένων σταθερής υποδια- στολής διακρίνονται σε καταχωρητές ειδικού και γενικού σκοπού. Οι κατα- χωρητές ειδικού σκοπού επιτελούν κάποια συγκεκριµένη λειτουργία, ενώ οι καταχωρητές γενικού σκοπού µπορούν να χρησιµοποιηθούν για µία ποικι- λία λειτουργιών, ανάλογα µε τη θέληση του προγραµµατιστή, για παράδειγ- µα για την αποθήκευση δεδοµένων, ενδιάµεσων αποτελεσµάτων και τη διευ- θυνσιοδότηση της µνήµης. Το πλήθος των καταχωρητών ποικίλλει από υπο- λογιστή σε υπολογιστή. Σαν παραδείγµατα καταχωρητών ειδικού σκοπού αναφέρουµε το µετρητή προγράµµατος (program counter), που κάθε φορά 2 5¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
  • 26. 2 6 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ περιέχει τη διεύθυνση της θέσης µνήµης που περιέχει την επόµενη προς εκτέ- λεση εντολή, τους καταχωρητές δείκτη (index registers), που χρησιµοποι- ούνται στον καθορισµό διευθύνσεων, το δείκτη σωρού (stack pointer), που χρησιµοποιείται στο µηχανισµό σωρού, και τον καταχωρητή κατάστασης (status register), που περιγράφει την τρέχουσα κατάσταση διαφόρων υλικών στοιχείων και αποτελεσµάτων υπολογισµών. Στον Πίνακα 1.1 δίνεται το πλή- θος των καταχωρητών γενικού σκοπού της Μονάδας Επεξεργασίας ∆εδοµέ- νων σταθερής υποδιαστολής και το πλήθος των καταχωρητών της Μονάδας Επεξεργασίας ∆εδοµένων κινητής υποδιαστολής, που συνήθως καλούνται καταχωρητές κινητής υποδιαστολής, διαφόρων σύγχρονων επεξεργαστών. ¶›Ó·Î·˜ 1.1 Αριθµός καταχωρητών σε αντιπροσωπευτικούς επεξεργαστές. Επεξεργαστής / εταιρεία / καταχωρητές γενικού καταχωρητές κινητής έτος πρώτης εµφάνισης σκοπού υποδιαστολής 21064 / DEC / 1992 32 των 64 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων PowerPC 601 / IBM, 32 των 32 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων Motorola, Apple / 1993 Pentium / Intel / 1993 8 των 32 δυαδικών ψηφίων 8 των 80 δυαδικών ψηφίων PowerPC 620 / IBM, 32 των 64 δυαδικών ψηφίων 32 των 64 δυαδικών ψηφίων Motorola, Apple / 1996 Η Μονάδα Ελέγχου αναλύει την εντολή, που πρέπει να εκτελεστεί, και ανά- λογα µε το είδος της εντολής παράγει ακολουθίες από σήµατα, που έχουν σαν συνέπεια την επιλογή της µεταφοράς των δεδοµένων µεταξύ των µονά- δων ή των υποµονάδων του υπολογιστή και την εκτέλεση συγκεκριµένων πράξεων. Ο χρόνος που απαιτείται για την πιο σύντοµη, χρονικά, λειτουρ- γία της ΚΜΕ, καλείται χρόνος κύκλου της ΚΜΕ (CPU cycle time) και είναι η βασική µονάδα για τη µέτρηση όλων των ενεργειών της ΚΜΕ. Το αντί- στροφο του χρόνου κύκλου της ΚΜΕ καλείται συχνότητα λειτουργίας της ΚΜΕ (CPU clock rate) και σήµερα είναι της τάξης των µεγακύκλων. Η λειτουργία της ΚΜΕ είναι να εκτελεί εντολές, που είναι αποθηκευµένες στην κύρια µνήµη του υπολογιστή. Μία εντολή καταλαµβάνει µία ή περισ- σότερες θέσεις και έχει σαν σκοπό να προσδιορίζει τη λειτουργία που θα εκτε- λεστεί, καθώς και το σύνολο των δεδοµένων που θα χρησιµοποιηθούν στην εκτέλεση της εντολής. Η ΚΜΕ εκτελεί µία εντολή σε µία σειρά από βήµατα:
  • 27. 1. Φέρνει στην ΚΜΕ την εντολή, που είναι αποθηκευµένη στη θέση µνήµης, που δείχνει ο µετρητής προγράµµατος. 2. Αλλάζει το περιεχόµενο του µετρητή προγράµµατος, ώστε να δείχνει τη θέση µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή. 3. Αναλύει την εντολή και ελέγχει εάν η εντολή χρειάζεται δεδοµένα από τη µνήµη και εάν ναι, προσδιορίζει τη διεύθυνση που είναι αποθηκευµένα. 4. Φέρνει τα δεδοµένα σε κάποιους από τους καταχωρητές της. 5. Εκτελεί την εντολή. 6. Αποθηκεύει τα αποτελέσµατα. 7. Πηγαίνει στο βήµα 1 για να αρχίσει την εκτέλεση της επόµενης εντολής. Σηµειώνουµε ότι, ανάλογα µε την εντολή, τα βήµατα 4 και 6 ή ένα από αυτά είναι δυνατόν να µη χρησιµοποιηθούν. Για παράδειγµα, κατά την εκτέλεση µιας εντολής διακλάδωσης στο βήµα 5, η διεύθυνση της επιθυµητής επόµε- νης προς εκτέλεση εντολής φορτώνεται στο µετρητή προγράµµατος και ακο- λουθεί το βήµα 7. 2 7¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡ α. Αναφέρετε τις υποµονάδες, από τις οποίες αποτελείται η ΚΜΕ. β. Περιγράψτε τη χρησιµότητα κάθε υποµονάδας. γ. Η ΚΜΕ εκτελεί µία εντολή σε µία ακολουθία από 7 βήµατα. Τοποθετή- στε τα ακόλουθα βήµατα στη σωστή τους σειρά. • Εκτελεί την εντολή. • Φέρνει τα δεδοµένα σε κάποιους από τους καταχωρητές της. • Φέρνει στην ΚΜΕ την εντολή, που είναι αποθηκευµένη στη θέση µνή- µης που δείχνει ο µετρητής προγράµµατος. • Αποθηκεύει τα αποτελέσµατα. • Αλλάζει το περιεχόµενο του µετρητή προγράµµατος, ώστε να δείχνει τη θέση µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή. • Αναλύει την εντολή και ελέγχει εάν η εντολή χρειάζεται δεδοµένα από τη µνήµη και εάν ναι, προσδιορίζει τη διεύθυνση που είναι αποθη- κευµένα. • Πηγαίνει στο πρώτο βήµα για να αρχίσει την εκτέλεση της επόµενης εντολής. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.9
  • 28. 2 8 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ 1.3.3 ™‡ÛÙËÌ· ÌÓ‹Ì˘ ∫Àƒπ∞ ª¡∏ª∏ Η κύρια µνήµη αποτελείται από έναν αριθµό θέσεων που σε καθεµία από αυτές αποθηκεύεται και ένα τµήµα πληροφορίας (εντολή, µέρος εντολής ή δεδοµένα) µε τη µορφή µιας ακολουθίας δυαδικών ψηφίων. Σε κάθε θέση της µνήµης αντιστοιχεί ένας αριθµός, που καλείται φυσική διεύθυνση της θέσης µνήµης, και χρησιµοποιείται για να αναφερθούµε στη συγκεκριµένη θέση. Το σύνολο των φυσικών διευθύνσεων της κύριας µνήµης καλείται χώρος φυσικών διευθύνσεων της µνήµης. Εάν η µνήµη έχει ν θέσεις, τότε οι φυσι- κές τους διευθύνσεις θα είναι από 0 µέχρι ν–1 (βλέπε σχήµα 1.3.). Γειτονι- κές θέσεις µνήµης έχουν διαδοχικές διευθύνσεις. Το κύριο χαρακτηριστικό της θέσης µνήµης είναι ότι περιέχει τη µικρότερη ποσότητα πληροφορίας, που µπορεί να µεταφερθεί στην ΚΜΕ. Ο αριθµός των δυαδικών ψηφίων που περιέχεται σε µία θέση µνήµης, διαφέρει από υπολογιστή σε υπολογιστή. µία θέση µνήµης ένα δυαδικό ψηφίο ν ν ν ν ™¯‹Ì· 1.3 H φυσική οργάνωση µιάς µνήµης ν θέσεων, µε θέση µνήµης των 8 δυαδικών ψηφίων. Οι βασικότερες ιδιότητες της κύριας µνήµης είναι ότι: α) οι θέσεις της µπο- ρούν να προσπελαστούν άµεσα από την ΚΜΕ, αντίθετα η πληροφορία που είναι αποθηκευµένη στη βοηθητική µνήµη θα πρέπει πρώτα να µεταφερθεί
  • 29. στην κύρια µνήµη, β) οι θέσεις της µπορούν να προσπελαστούν µε οποια- δήποτε σειρά και γ) ο χρόνος προσπέλασης µίας θέσης είναι σταθερός και ανεξάρτητος από τη διεύθυνση της θέσης. Η ταχύτητα της κύριας µνήµης µετριέται µε το χρόνο προσπέλασης ανά- γνωσης ή, όπως πιο συχνά λέγεται, το χρόνο προσπέλασης (access time) µιας θέσης της κύριας µνήµης. Ο χρόνος προσπέλασης εγγραφής είναι συνήθως ίσος µε το χρόνο προσπέλασης ανάγνωσης. Ο χρόνος προσπέλασης ισούται µε το χρόνο που παρέρχεται από τη στιγµή, που η µνήµη λαµβάνει µία απαί- τηση διαβάσµατος µέχρι τη στιγµή που η απαιτούµενη πληροφορία είναι δια- θέσιµη στις εξόδους της µνήµης. Ο χρόνος προσπέλασης της κύριας µνήµης εξαρτάται από την τεχνολογία των ολοκληρωµένων κυκλωµάτων, µε τα οποία υλοποιείται, το µέγεθός της και τον τρόπο σχεδιασµού της. Σε µερι- κές διατάξεις µνήµης, όπως οι δυναµικές µνήµες (θα µιλήσουµε στη συνέ- χεια γι’ αυτές), ο χρόνος που πρέπει να περάσει από τη στιγµή που ξεκίνη- σε µία προσπέλαση της µνήµης µέχρι τη στιγµή που επιτρέπεται να ξεκινή- σουµε µία άλλη προσπέλαση, είναι µεγαλύτερος του χρόνου προσπέλασης της µνήµης και καλείται χρόνος κύκλου της µνήµης (cycle time of the memory). Είναι προφανές ότι το µέγιστο ποσό πληροφορίας, που µπορεί να µεταφερθεί προς ή από τη µνήµη κάθε δευτερόλεπτο, είναι το αντίστροφο του χρόνου κύκλου της µνήµης. Η ποσότητα αυτή καλείται ρυθµός µεταφο- ράς δεδοµένων (data transfer rate ή bandwidth). Ο ρυθµός µεταφοράς δεδο- µένων µετριέται σε ψηφιολέξεις ανά δευτερόλεπτο. Η ΚΜΕ επικοινωνεί µε την κύρια µνήµη µέσω δύο καταχωρητών, του κατα- χωρητή διευθύνσεων και του καταχωρητή δεδοµένων. Ανάλογα µε τον υπο- λογιστή, οι καταχωρητές διευθύνσεων και δεδοµένων µπορεί να είναι κατα- χωρητές ειδικού σκοπού ή οποιοιδήποτε από τους καταχωρητές γενικού σκο- πού, συνήθως στα σηµερινά συστήµατα συµβαίνει το δεύτερο. Όταν πρό- κειται να διαβαστεί µία λέξη από την κύρια µνήµη, η διεύθυνση της µνήµης τοποθετείται στον καταχωρητή διευθύνσεων και στέλνεται ένα σήµα από τη µονάδα ελέγχου στη µνήµη, που δηλώνει ότι πρέπει να γίνει ανάγνωση. Μετά από ένα χρονικό διάστηµα ίσο µε τον χρόνο προσπέλασης, η λέξη µεταφέ- ρεται στον καταχωρητή δεδοµένων. Για να αποθηκευτεί µία λέξη στη µνήµη, πρέπει η διεύθυνση της θέσης στην οποία πρόκειται να γίνει η αποθήκευση, να τοποθετηθεί στον καταχωρητή διευθύνσεων, η λέξη να τοποθετηθεί στον καταχωρητή δεδοµένων και να σταλεί σήµα από την µονάδα ελέγχου στη µνήµη, για να δηλώσει ότι πρέπει να γίνει εγγραφή. 2 9¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡
  • 30. 3 0 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ Σηµειώνουµε ότι ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευ- θύνσεων καθορίζει το µέγιστο αριθµό θέσεων µνήµης που µπορούν να ανα- φερθούν άµεσα. Εάν ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευ- θύνσεων της µνήµης είναι µ, ο µέγιστος αριθµός των θέσεων µνήµης που µπορεί να αναφερθεί άµεσα από την ΚΜΕ, είναι 2µ . Ο συνολικός αριθµός των θέσεων της κύριας µνήµης εξαρτάται από την σύνθεση του συστήµατος (system configuration), µε άλλα λόγια ο αγοραστής δύναται να αγοράσει περισσότερη ή λιγότερη, ανάλογα µε τα χρήµατα που µπορεί να διαθέσει και τις απαιτήσεις του. Θα δούµε αργότερα πως το ελάχιστο µέγεθος κύριας µνή- µης που µπορεί να διαθέτει ένας υπολογιστής, καθορίζεται από τα προ- γράµµατα που πρόκειται να εκτελούνται στο συγκεκριµένο υπολογιστή. Επί- σης, θα δούµε αργότερα πως το µέγεθος της κύριας µνήµης ενός υπολογιστή επηρεάζει την ταχύτητα εκτέλεσης κάποιων προγραµµάτων. Η µέγιστη χωρη- τικότητα κύριας µνήµης, που µπορούµε να βάλουµε σε έναν υπολογιστή, εξαρτάται από το συγκεκριµένο υπολογιστή και συγκεκριµένα από τη σχε- δίαση της ΚΜΕ. Η κύρια µνήµη µπορεί να υλοποιηθεί µε ηµιαγωγικές µνήµες ανάγνωσης και εγγραφής άµεσης προσπέλασης (Random Access Memory, RAM). Υπάρ- χουν δύο κατηγορίες µνηµών RAM, οι στατικές, SRAM, και οι δυναµικές, DRAM. Συγκρίνοντας µία SRAM, µε µία DRAM της ίδιας χωρητικότητας, η SRAM είναι ακριβότερη και πιό γρήγορη από την DRAM. Λόγω των απαι- τήσεών µας για κύρια µνήµη πολύ µεγάλης χωρητικότητας, η κύρια µνήµη υλοποιείται συνήθως µε DRAM. Ένα µικρό τµήµα της υλοποιείται από µνήµη µόνο ανάγνωσης (Read Only Memory, ROM), δηλαδή µία µνήµη που τα περιεχόµενά της µπορούν να διαβάζονται, αλλά δεν είναι δυνατόν να τρο- ποποιηθούν µέσα από τα προγράµµατα που εκτελούνται στον υπολογιστή. Το χαρακτηριστικό της ROM, που µας κάνει να τη χρησιµοποιούµε για την υλοποίηση ενός τµήµατος της κύριας µνήµης, είναι ότι, όταν διακοπεί η τάση τροφοδοσίας του υπολογιστή µας είτε λόγω βλάβης στο δίκτυο της ∆ΕΗ είτε διότι κλείσαµε τον υπολογιστή µας, όλη η πληροφορία, που ήταν αποθη- κευµένη στη µνήµη ROM διατηρείται, ενώ η πληροφορία που ήταν αποθη- κευµένη στη µνήµη RAM χάνεται. Στη ROM µεταξύ των άλλων είναι απο- θηκευµένο ένα µικρό πρόγραµµα που αναλαµβάνει, όταν ανοίξουµε την τάση τροφοδοσίας του υπολογιστή µας, να φέρει από τη βοηθητική µνήµη στην κύρια µνήµη ένα τµήµα του λειτουργικού συστήµατος, το οποίο αναλαµβά- νει στη συνέχεια την επικοινωνία του υπολογιστή µε το χρήστη.
  • 31. µ√∏£∏∆π∫∏ ª¡∏ª∏ Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής ή δευ- τερεύουσας µνήµης, είναι σηµαντικά φθηνότερες από αυτές που χρησιµο- ποιούνται για την υλοποίηση της κύριας µνήµης. Σαν µέτρο σύγκρισης του κόστους χρησιµοποιούµε το ανηγµένο κόστος, δηλαδή το κόστος ανά δυα- δικό ψηφίο. Εποµένως, είναι δυνατόν, µε χαµηλό κόστος, να προµηθεύσου- µε τον υπολογιστή µας µε βοηθητική µνήµη µεγάλης χωρητικότητας. Όµως η βοηθητική µνήµη είναι από τρεις έως έξι τάξεις µεγέθους πιο αργή από την κύρια µνήµη. Η βοηθητική µνήµη υλοποιείται µε µνήµες µαγνητικών δίσκων, µαγνητικών ταινιών και οπτικών δίσκων. Στο σχήµα 1.4 δίνεται η σχέση χρό- νου προσπέλασης και κόστους ανά δυαδικό ψηφίο των αντιπροσωπευτικών τεχνολογιών, που χρησιµοποιούνται για την υλοποίηση του συστήµατος µνή- µης. Η πληροφορία που είναι αποθηκευµένη στη βοηθητική µνήµη διατη- ρείται και µετά τη διακοπή της τάσης τροφοδοσίας, εποµένως, πριν κλεί- σουµε τον υπολογιστή µας, θα πρέπει να αποθηκεύουµε στη βοηθητική µνήµη την πληροφορία που έχουµε στην κύρια µνήµη. 3 1¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡ Mνήµες µαγνητικών ταινιών Oπτικοί δίσκοι Σκληροί µαγνητική δίσκοι DRAM ολοκληρωµένα 10–9 10–8 10–7 10–6 10–5 10–4 10–3 10–2 10–1 1 10 100 SRAM ολοκληρωµένα Kόστος ανά δυαδικό ψηφίο Xρόνοςπροσπέλασηςσεδευτερόλεπτα ™¯‹Ì· 1.4 Σχέση χρόνου προσπέλα- σης και κόστους ανά δυα- δικό ψηφίο αντιπροσω- πευτικών τεχνολογιών, που χρησιµοποιούνται για την υλοποίηση του συστή- µατος µνήµης. Η βοηθητική µνήµη χρησιµοποιείται για την αποθήκευση προγραµµάτων και αρχείων δεδοµένων, που δεν χρειάζονται συνεχώς από την ΚΜΕ. Επίσης χρησιµεύει και σαν µνήµη υπερχείλισης (overflow), όταν ξεπερνιέται η χωρη-
  • 32. 3 2 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ τικότητα της κύριας µνήµης, ο,τι δεν χωράει δηλαδή στην κύρια µνήµη µετα- φέρεται στη βοηθητική. Σε πολλές από τις συσκευές βοηθητικής µνήµης το µέσο πάνω στο οποίο γράφεται η πληροφορία, π.χ. µαγνητική ταινία, µαγνητικός δίσκος, όταν γεµί- σει αντικαθίσταται και φυλάσσεται. Με αυτό τον τρόπο µπορούµε να δηµι- ουργήσουµε τεράστιες αποθήκες πληροφορίας. Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής µνή- µης, διακρίνονται σε διατάξεις σειριακής προσπέλασης (serial access) και δια- τάξεις κατευθείαν προσπέλασης (direct access). Σειριακής προσπέλασης καλούνται οι µνήµες, που η αποθηκευµένη πληροφορία µπορεί να προσπε- λαστεί µόνο µε κάποια προκαθορισµένη σειρά. Σαν παράδειγµα αναφέρουµε τις µνήµες µαγνητικής ταινίας. Μερικές διατάξεις Μνήµης, όπως οι µαγνητι- κοί δίσκοι, περιέχουν ένα µεγάλο αριθµό οµόκεντρων κύκλων (tracks), κατά µήκος των οποίων γράφεται η πληροφορία. Κάθε οµόκεντρος κύκλος µπορεί να προσπελαστεί άµεσα, ενώ η προσπέλαση της πληροφορίας σ’ έναν οµό- κεντρο κύκλο γίνεται σειριακά. Οι διατάξεις αυτές καλούνται µνήµες κατευ- θείαν προσπέλασης. Με τις µονάδες µνήµης µαγνητικών δίσκων, οπτικών δίσκων και µαγνητικών ταινιών θα ασχοληθούµε στο κεφάλαιο 4. Απευθυνόµενοι σε ένα κατάστηµα πώλησης υπολογιστών, συλλέξτε την απαιτούµενη πληροφορία, ώστε να υπολογίσετε το κόστος ανά ψηφιολέξη της κύριας µνήµης και της µνήµης µαγνητικού δίσκου ενός προσωπικού υπολογιστή. ¢Ú·ÛÙËÚÈfiÙËÙ· 1.1 Α. Αναφέρετε: α. Τρεις βασικές ιδιότητες της κύριας µνήµης. β. Τα µέτρα χαρακτηρισµού της ταχύτητας της κύριας µνήµης. γ. ∆ύο κοινά χαρακτηριστικά και δύο διαφορές µεταξύ των µνηµών τεχνολογίας RAM και ROM. Β. Είναι σωστό ή λάθος ότι σε έναν υπολογιστή γενικού σκοπού όλη η κύρια µνήµη θα µπορούσε να υλοποιηθεί µε µνήµες ROM; ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.10
  • 33. 1.3.4 ∫Ú˘Ê‹ ÌÓ‹ÌË (Cache memory) Η κύρια µνήµη είναι σχετικά αργή, για το λόγο αυτό, όταν η ΚΜΕ χρειάζε- ται να διαβάσει κάτι από την κύρια µνήµη αναγκάζεται να περιµένει. Η κατά- σταση γίνεται ακόµη χειρότερη όταν πληροφορία πρέπει να µεταφερθεί στην κύρια µνήµη από τη βοηθητική µνήµη, για παράδειγµα από µία µονάδα δίσκων. Η τεχνική που έχει προταθεί για τη βελτίωση της κατάστασης, είναι η χρησιµοποίηση κρυφής µνήµης (cache memory). Η κρυφή µνήµη είναι µία σχετικά µικρής χωρητικότητας µνήµη, που χρησιµοποιείται για την αποθή- κευση πληροφορίας, που αναµένεται ότι θα χρησιµοποιηθεί άµεσα ή µε µεγά- λη συχνότητα στο µέλλον. Η επιτυχία της βασίζεται στην τοπικότητα των αναφορών (principle of locality) που χαρακτηρίζει την πλειονότητα των προ- γραµµάτων. Σύµφωνα µε την τοπικότητα των αναφορών η πληροφορία (εντολές ή δεδοµένα) που χρησιµοποιήθηκε πρόσφατα είναι πιθανόν να ξανα- χρησιµοποιηθεί στο άµεσο µέλλον και η πληροφορία που βρίσκεται κοντά στην πληροφορία που χρησιµοποιείται τώρα, είναι πιθανό να χρησιµοποιη- θεί στο άµεσο µέλλον. Κρυφή µνήµη χρησιµοποιείται συνήθως µεταξύ ΚΜΕ και κύριας µνήµης, καθώς και µεταξύ κύριας µνήµης και της βοηθητικής µνήµης, της µονάδας δίσκων. ∫ƒÀº∏ ª¡∏ª∏ ª∂∆∞•À ∫ª∂ ∫∞π ∫Àƒπ∞™ ª¡∏ª∏™ Η κρυφή µνήµη µεταξύ ΚΜΕ και κύριας µνήµης υλοποιείται µε SRAM, που είναι πιο γρήγορη από τη DRAM, που χρησιµοποιείται για την υλοποίηση της κύριας µνήµης. Επίσης, το γεγονός ότι η κρυφή µνήµη είναι σηµαντικά µικρό- τερης χωρητικότητας από την κύρια µνήµη συµβάλλει, ώστε η προσπέλαση της κρυφής µνήµης να είναι πολύ πιο γρήγορη από της κύριας µνήµης. 3 3¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡ Αναφέρετε τα κύρια πλεονεκτήµατα και µειονεκτήµατα της µνήµης µαγνη- τικών δίσκων σε σχέση µε την τεχνολογία που χρησιµοποιείται για την υλο- ποίηση της κύριας µνήµης. ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.11 Είναι σωστό ή λάθος ότι η µονάδα µνήµης µαγνητικών δίσκων και µαγνη- τικής ταινίας είναι σειριακής προσπέλασης; ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.12
  • 34. 3 4 ∂ π ™ ∞ ° ø ° ∏ ™ ∆ ∏ ¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ , § ∂ π ∆ √ À ƒ ° π ∞ ∫ ∞ π ∞ • π √ § √ ° ∏ ™ ∏ ∆ ø ¡ À ¶ √ § √ ° π ™ ∆ ø ¡ Η κρυφή µνήµη µπορεί να βρίσκεται στο ίδιο ολοκληρωµένο κύκλωµα µε την ΚΜΕ ή σε ένα ή περισσότερα άλλα ολοκληρωµένα κυκλώµατα στην ίδια πλακέτα. Στην πρώτη περίπτωση το µέγεθός της είναι σταθερό, ενώ στη δεύ- τερη περίπτωση ο χρήστης µπορεί να αγοράσει και τοποθετήσει στον υπο- λογιστή του από καθόλου µέχρι µία µέγιστη χωρητικότητα, που εξαρτάται από το συγκεκριµένο υπολογιστή. Στην κρυφή µνήµη υπάρχουν αντίγραφα µέρους της πληροφορίας, που υπάρ- χει στην κύρια µνήµη. Όταν η ΚΜΕ χρειάζεται κάποια πληροφορία, εάν η πληροφορία βρίσκεται στην κρυφή µνήµη προσπελαύνεται πολύ γρήγορα, αποφεύγοντας τις καθυστερήσεις που θα συνεπάγονταν η προσπέλαση της κύριας µνήµης. Εάν η ζητούµενη πληροφορία δεν υπάρχει στην κρυφή µνήµη, προσπελαύνεται από την κύρια µνήµη, ενώ ένα τµήµα πληροφορίας που περιέχει και τη ζητούµενη πληροφορία, µεταφέρεται στην κρυφή µνήµη (βλέπε σχήµα 1.5). Το ποσοστό των προσπελάσεων, που ικανοποιούνται από την κρυφή µνήµη χωρίς να γίνεται προσπέλαση στην κύρια µνήµη, καλείται ρυθµός επιτυχίας (hit rate). Η τιµή του ρυθµού επιτυχίας εξαρτάται από τη χωρητικότητα της κρυφής µνήµης και τον τρόπο οργάνωσής της, αλλά και από το είδος του προγράµµατος που εκτελείται. Στο κεφάλαιο 4 θα ασχολη- θούµε εκτεταµένα µε τη δοµή, οργάνωση και απόδοση της κρυφής µνήµης. Άλλοι υπολογιστές έχουν µία κρυφή µνήµη που χρησιµοποιείται για την απο- θήκευση τόσο δεδοµένων όσο και εντολών (προγραµµάτων) και καλείται ενοποιηµένη (unified cache memory), ενώ άλλοι έχουν άλλη κρυφή µνήµη για την αποθήκευση δεδοµένων (data cache) και άλλη για αποθήκευση εντο- λών (instruction cache). Επίσης, πρέπει να αναφέρουµε ότι πολλοί υπολογι- στές έχουν δύο επίπεδα κρυφής µνήµης. Το πρώτο επίπεδο, συνήθως, απο- τελείται από δύο µικρές µνήµες, µία δεδοµένων και µία εντολών, που βρί- σκεται στο ίδιο ολοκληρωµένο κύκλωµα µε την ΚΜΕ, ενώ το δεύτερο επί- πεδο αποτελείται από µία ενοποιηµένη κρυφή µνήµη. Σε όλες τις ανωτέρω περιπτώσεις ότι αφορά την υλοποίηση της κρυφής µνή- µης γίνεται µε κυκλώµατα και η ύπαρξη ή απουσία της δεν γίνεται αντιλη- πτή ούτε από τα προγράµµατα εφαρµογών ούτε από το λειτουργικό ή τα άλλα προγράµµατα του συστήµατος. ∫ƒÀº∏ ª¡∏ª∏ ¢π™∫√À Όπως έχουµε αναφέρει στην ενότητα 1.3.3, ο µέσος χρόνος προσπέλασης πληροφορίας που βρίσκεται σε κάποια µονάδα δίσκων, είναι πολύ µεγαλύ-
  • 35. 3 5¢ √ ª ∏ , √ ƒ °∞ ¡ ø ™ ∏ ∫ ∞ π § ∂ π ∆ √ À ƒ ° π ∞ À ¶ √ § √ ° π ™ ∆ ø ¡ καταχωρητές της KME κύρια µνήµη κρυφή µνήµη µπλοκ σελίδα εντολή ή δεδοµένα µνήµη µαγνητικών δίσκων ™¯‹Ì· 1.5 Μεταφορά πληροφορίας µεταξύ διαδοχικών επιπέ- δων µνήµης. τερος του χρόνου προσπέλασης της κύριας µνήµης (βλέπε σχήµα 1.4). Το πρόβληµα, που δηµιουργείται, είναι ότι συχνές προσπελάσεις του δίσκου αφήνουν τον επεξεργαστή ανενεργό και αυξάνουν το χρόνο αναµονής των αποτελεσµάτων. Σε υπολογιστές που χρησιµοποιούν την τεχνική του πολυ- προγραµµατισµού (multiprogramming) υπάρχουν περισσότερα από ένα προ-