248
Aρχιτεκτονική Yπολογιστών I

Aρχιτεκτονική Yπολογιστών I · α. Το πληκτρολόγιο και η οθόνη ανήκουν στο υλικό του υπολογιστή. β. Σε

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • 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

    επίπεδο συστήµατος

    επίπεδο γλωσσώνzπρογραµµατισµού

    επίπεδο λειτουργικούzσυστήµατος

    επίπεδο συνόλουzεντολών γλώσσαςz

    µηχανής

    επίπεδο µικρο-zπρογραµµατισµού

    XPHΣTEΣ

    χρήστες zεφαρµογών

    προγραµµατιστέςzεφαρµογών

    προγραµµατιστέςzσυστήµατος

    προγραµµατιστέςzσε γλώσσαz

    µηχανής

    προγραµµατιστέςzσε επίπεδοz

    µικροπρογράµµατος

    προγράµµατα εφαρµογών

    µεταφραστές γλωσσώνzπρογραµµατισµού

    διαχείρηση αγαθών

    µικροκώδικας

    υλικό

    ™¯‹Ì· 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ύριαzµνήµη

    Aρτηρία συστήµατος

    Mνήµηzµαγνητικούz

    δίσκου

    Eλεγκτήςzµονάδαςzδίσκου

    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 µεταξύ των άλλων είναι απο-

    θηκευµένο ένα µικρό πρόγραµµα που αναλαµβάνει, όταν ανοίξουµε την τάση

    τροφοδοσίας του υπολογιστή µας, να φέρει από τη βοηθητική µνήµη στην

    κύρια µνήµη ένα τµήµα του λειτουργικού συστήµατος, το οποίο αναλαµβά-

    νει στη συνέχεια την επικοινωνία του υπολογιστή µε το χρήστη.

  • µ√∏£∏∆π∫∏ ª¡∏ª∏

    Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής ή δευ-

    τερεύουσας µνήµης, είναι σηµαντικά φθηνότερες από αυτές που χρησιµο-

    ποιούνται για την υλοποίηση της κύριας µνήµης. Σαν µέτρο σύγκρισης του

    κόστους χρησιµοποιούµε το ανηγµένο κόστος, δηλαδή το κόστος ανά δυα-

    δικό ψηφίο. Εποµένως, είναι δυνατόν, µε χαµηλό κόστος, να προµηθεύσου-

    µε τον υπολογιστή µας µε βοηθητική µνήµη µεγάλης χωρητικότητας. Όµως

    η βοηθητική µνήµη είναι από τρεις έως έξι τάξεις µε�