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



Σχετικά έγγραφα
Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Κεφάλαιο 1 Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών

ΠΕΡΙΕΧΟΜΕΝΑ Υλικό και Λογισμικό Αρχιτεκτονική Υπολογιστών Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ II. χειμερινό εξάμηνο & εαρινό εξάμηνο (σε κίτρινο υπόβαθρο)

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

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ B' ÂÈÙÔ ÚÁÈÎ ÛÙ Ì Ù I

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

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

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ)

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

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

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

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

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

Επαρκή χωρητικότητα αποθήκευσης Αποδεκτό επίπεδο μέσης απόδοσης Χαμηλό μέσο κόστος ανά δυαδικό δ ψηφίο

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

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

Τεχνολογίες Κύριας Μνήμης

EÈÛ ÁˆÁ ÛÙËÓ ÏËÚÔÊÔÚÈÎ

E π A π π ª π TÂ ÓËÙ NÔËÌÔÛ ÓË - EÊ ÚÌÔÁ. TfiÌÔ ' ÂÓÂÙÈÎÔ AÏÁfiÚÈıÌÔÈ Î È EÊ ÚÌÔÁ. ÎÔı Ó ÛË

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

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

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Πανεπιστήµιο Θεσσαλίας

Αρχιτεκτονικές Υπολογιστών

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

E π A π π ª π AÚ TÂ ÓÔÏÔÁ ÔÁÈÛÌÈÎÔ. TfiÌÔ ' MÈ Ï ÓÔ ËÌ. XÚÈÛÙÔ Ô Ï ÎË B ÛÂÈ Â ÔÌ ÓˆÓ

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

ΘΕΜΑ 2. (2,5 µονάδες) Θεωρήστε τρεις κρυφές µνήµες των 512 πλαισίων µε 8 λέξεις ανά πλαίσιο και οργανώσεις αντίστοιχα:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Σελίδα 1 από 12. Απαντήσεις στο φυλλάδιο 55. Ερώτηση 1 η : Ένα υπολογιστικό σύστηµα αποτελείται από:

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

E π A π π ª π. È ÎÚÈÙ M ıëì ÙÈÎ. Î È M ıëì ÙÈÎ ÔÁÈÎ. TfiÌÔ A' È ÎÚÈÙ M ıëì ÙÈÎ ÂÒÚÁÈÔ BÔ ÚÔ

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

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

Η ιεραρχία της μνήμης

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ. Εισαγωγή

Το ολοκληρωμένο κύκλωμα μιας ΚΜΕ. «Φέτα» ημιαγωγών (wafer) από τη διαδικασία παραγωγής ΚΜΕ

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Εικονική Μνήμη (Virtual Μemory)

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

Εργαστήριο ΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ

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

Α. Ερωτήσεις Ανάπτυξης

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

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU)

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Σχολή Θετικών Επιστηµών και Τεχνολογίας. Πρόγραµµα Σπουδών ΠΛΗΡΟΦΟΡΙΚΗ. Θεµατική Eνότητα BΑΣΙΚΑ ΖΗΤΗΜΑΤΑ ΙΚΤΥΩΝ Η/Υ

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

ΛΟΓΙΣΜΙΚΟ (software)

ΟΡΓΑΝΩΣΗ ΚΑΙ ΣΧΕΔΙΑΣΗ Η/Υ

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

Tεχνολογία Λογισµικού II

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

Κεφάλαιο 4: Λογισμικό Συστήματος

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

E π A π π ª π TÂ ÓËÙ NÔËÌÔÛ ÓË EÊ ÚÌÔÁ. TfiÌÔ B' NÂ ÚˆÓÈÎ ÎÙ Î È ÓÔ AÚÁ Ú ÎË EÊ ÚÌÔÁ

ÚÔÛÙ Û Î È AÛÊ ÏÂÈ ÛÙËÌ ÙˆÓ YappleÔÏÔÁÈÛÙÒÓ

TËÏÂÌ ÙÈÎ, È ÎÙ Î È KÔÈÓˆÓ

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Εφαρµογές Υπολογιστών Βασίλης Μπλιάµπλιας Γεωργία Τσούτσου Γιώργος Συνάπαλος

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 5 ο Οργάνωση Υπολογιστών. Δρ.

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

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

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

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

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

E π A π π ª π. Â È ÛÌfi ÔÁÈÛÌÈÎÔ. TfiÌÔ ' ÏÒÛÛÂ ÚÔÁÚ ÌÌ ÙÈÛÌÔ II. KÏÂ ÓıË Ú ÌappleÔ Ï Ë. (AÓÙÈÎÂÈÌÂÓÔÛÙÚÂÊ ÚÔÁÚ ÌÌ ÙÈÛÌfi )

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

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

Κύρια & Περιφερειακή Μνήµη

Transcript:

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ÁËÛË ÙˆÓ appleôïôáèûùòó Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά 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 ÚÁ ÓˆÛË ÙË appleïëúôêôú ÛÙÔÓ appleôïôáèûù Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά 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 ÂÓÙÚÈÎ ÌÔÓ ÂappleÂÍÂÚÁ Û Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά 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

EPIEXOMENA 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 APAPTHMA A ÚÈıÌËÙÈÎ Û ÛÙ Ì Ù Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιά Eισαγωγικές παρατηρήσεις... 201 Α.1 Χρήση αριθµητικών συστηµάτων... 201

10 AƒÃπ π Y π ø I Α.2 Μετατροπή αριθµών από ένα αριθµητικό σύστηµα σε άλλο... 204 Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης... 209 Eνδεικτικές Aπαντήσεις ραστηριοτήτων... 237 Γλωσσάρι / Eυρετήριο... 239 Bιβλιογραφία... 243

ÚfiÏÔÁÔ Το βιβλίο αυτό αναφέρεται στην Αρχιτεκτονική Υπολογιστών µε την ευρύτερη έννοια του όρου, που περιλαµβάνει τη δοµή, την οργάνωση και τη λειτουργία του υπολογιστή. Έχει γίνει προσπάθεια να αποτελέσει ένα αυτοτελές κείµενο. Τα µόνα προαπαιτούµενα είναι κάποιες στοιχειώδεις γνώσεις λογικού σχεδιασµού και προγραµµατισµού. Το βιβλίο αποτελείται από πέντε κεφάλαια και ένα παράρτηµα. Στο πρώτο κεφάλαιο γίνεται µία εισαγωγή στη δοµή, οργάνωση, λειτουργία και απόδοση των υπολογιστών. Επίσης γίνεται η διαµέριση του υπολογιστή σε τρία υποσυστήµατα, την Κεντρική Μονάδα Επεξεργασίας, το Σύστηµα Μνήµης και το Σύστηµα ιασύνδεσης των Μονάδων και τις Μονάδες Εισόδου/Εξόδου. Το δεύτερο κεφάλαιο αναφέρεται στην οργάνωση της πληροφορίας στον υπολογιστή. Σαν πληροφορία θεωρούµε τόσο τα προγράµµατα όσο και τα δεδοµένα, αριθµητικά και µη. Στο τρίτο κεφάλαιο γίνεται η παρουσίαση της Κεντρικής Μονάδας Επεξεργασίας. Το πρώτο µέρος αφιερώνεται στη µονάδα επεξεργασίας δεδοµένων και το δεύτερο στη µονάδα ελέγχου. Στο τέταρτο κεφάλαιο παρουσιάζεται το σύστηµα της µνήµης, ενώ στο πέµπτο κεφάλαιο παρουσιάζεται το σύστηµα διασύνδεσης των µονάδων ενός συστήµατος και η διαδικασία εισόδου/εξόδου πληροφοριών από τον υπολογιστή. Στο παράρτηµα παρουσιάζονται διάφορα αριθµητικά συστήµατα και µέθοδοι µετατροπής από ένα σύστηµα σε άλλο. Θεωρώ ότι η εµπειρία και η γνώση που απεκόµισα τα τελευταία δέκα χρόνια που διδάσκω το µάθηµα Αρχιτεκτονική Υπολογιστών στο τµήµα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής της Πολυτεχνικής Σχολής του Πανεπιστηµίου Πατρών ήταν καθοριστική για τη συγγραφή αυτού του βιβλίου. Εύχοµαι το βιβλίο αυτό να φανεί χρήσιµο στους αναγνώστες. Τελειώνοντας θα ήθελα να ευχαριστήσω τη σύζυγό µου για την κατανόηση που έδειξε όλο το διάστηµα της συγγραφής του βιβλίου. Οι κόρες µου ήταν και είναι πολύ µικρές για να δείξουν κατανόηση. Ελπίζω να µην ταύτισαν το Ελληνικό Ανοικτό Πανεπιστήµιο µε την κακιά µάγισσα των παραµυθιών. Πάτρα 5 Ιουνίου 2000 ηµήτρης Νικολός

ÈÛ ÁˆÁ ÛÙË ÔÌ, ÚÁ ÓˆÛË, ÂÈÙÔ ÚÁ Î È ÍÈÔÏfiÁËÛË ÙˆÓ ÀappleÔÏÔÁÈÛÙÒÓ ÎÔapplefi Σκοπός του κεφαλαίου αυτού είναι να µάθετε από τι αποτελείται ένας υπολογιστής, πώς λειτουργεί και ποια είναι τα χαρακτηριστικά, που καθορίζουν την αρχιτεκτονική του. Επίσης να καταστείτε ικανοί να εκτιµήσετε την απόδοση ενός υπολογιστή. 1 º π ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε µελετήσει αυτό το κεφάλαιο, θα µπορείτε να : περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής περιγράψετε τον τρόπο λειτουργίας ενός υπολογιστή εκτιµήσετε την απόδοσή του ŒÓÓÔÈ ÎÏÂÈ È Yλικό Λογισµικό Aρχιτεκτονική υπολογιστών Oικογένεια υπολογιστών Kεντρική µονάδα επεξεργασίας Kύρια µνήµη Bοηθητική µνήµη Aρτηρία διασύνδεσης Mονάδες εισόδου και εξόδου Aπόδοση υπολογιστή ÈÛ ÁˆÁÈÎ apple Ú ÙËÚ ÛÂÈ Το κεφάλαιο αυτό αποτελείται από πέντε ενότητες. Στην πρώτη ενότητα κάνουµε µία εισαγωγή στο υλικό και το λογισµικό του υπολογιστή. Στη δεύτερη ενότητα παρουσιάζουµε τις έννοιες της αρχιτεκτονικής των υπολογιστών και οικογένειας υπολογιστών. Στην τρίτη ενότητα περιγράφουµε τη δοµή, οργάνωση και λειτουργία του υπολογιστή, ενώ στην τέταρτη ενότητα ασχολούµαστε µε τις µονάδες εισόδου/εξόδου. Τέλος, στην πέµπτη ενότητα περιγράφονται τρόποι εκτίµησης της απόδοσης του υπολογιστή.

14 π ø ª, ƒ ø, π Àƒ π π π ø À π ø 1.1 ÀÏÈÎfi Î È ÏÔÁÈÛÌÈÎfi ÎÔapplefi Σκοπός της ενότητας είναι να κατανοήσετε τι είναι το υλικό (hardware) και τι το λογισµικό (software). Επίσης να καταστείτε ικανοί να διακρίνετε το λογισµικό σε διάφορες κατηγορίες. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε µελετήσει αυτή την ενότητα,θα µπορείτε να : διακρίνετε τι είναι υλικό και τι είναι λογισµικό ταξινοµείτε τα προγράµµατα, που εκτελούνται σε ένα υπολογιστικό σύστη- µα, ανάλογα µε το σκοπό που αυτά εξυπηρετούν À π π π ªπ Ο υπολογιστής είναι ένα σύστηµα επεξεργασίας πληροφοριών, που παίρνει ως είσοδο την προς επεξεργασία πληροφορία και προγράµµατα, τα οποία καθορίζουν το είδος της επεξεργασίας που θα λάβει χώρα, και παράγει ως έξοδο τα αποτελέσµατα αυτής της επεξεργασίας. Οι πληροφορίες, που εισάγονται στον υπολογιστή προς επεξεργασία καθώς και τα αποτελέσµατα αυτής της επεξεργασίας, µπορεί να έχουν την µορφή αριθµών, κειµένου, εικόνας, σχηµάτων, φωνής ή ενός συνδυασµού αυτών. Τα προγράµµατα είναι µία ακολουθία εντολών, που περιγράφονται χρησιµοποιώντας µια συγκεκριµένη γλώσσα. Όπως µία φυσική γλώσσα, για παράδειγµα η Ελληνική και η Αγγλική, η γλώσσα, που χρησιµοποιούµε για να γράφουµε προγράµµατα, έχει τη δική της γραµµατική και το δικό της συντακτικό. Πρέπει να σηµειώσουµε ότι υπάρχουν περισσότερες από µία γλώσσες συγγραφής προγραµµάτων. Κάθε υπολογιστικό σύστηµα αποτελείται από το υλικό (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). Το διαγνωστικό λογισµικό αποτελείται από ένα σύνολο προγραµµάτων, που µε τη χρήση τους µπορούµε να ελέγξουµε την ορθή λειτουργία των διάφορων µονάδων του υπολογιστικού συστήµατος. Το διαγνωστικό λογισµικό βοηθάει στη γρήγορη ανίχνευση και τον εντοπισµό της θέσης εµφάνισης βλαβών. Η αύξηση του κόστους παροχής υπηρεσιών αλλά και το κόστος, που συνεπάγεται η αδυναµία χρήσης του υπολογιστή µας λόγω βλάβης, οδηγεί σε αύξηση των απαιτήσεων υλοποίησης υπολογιστικών συστηµάτων στα οποία η διάγνωση βλαβών και η συντήρηση να γίνεται εύκολα. Εποµένως, η σπουδαιότητα του διαγνωστικού λογισµικού αυξάνεται συνεχώς. Προγράµµατα εφαρµογών. Ο αριθµός των προγραµµάτων εφαρµογών είναι

16 π ø ª, ƒ ø, π Àƒ π π π ø À π ø τεράστιος. Σαν παραδείγµατα µπορούµε να αναφέρουµε τα συστήµατα διαχείρισης βάσεων δεδοµένων (Data Base Management Systems), τα λογιστικά φύλλα, τους εξοµοιωτές, τα προγράµµατα που προσφέρονται για σχεδίαση µε τη βοήθεια του υπολογιστή (Computer Aided Design), τις εφαρµογές πολυµέσων και τις δικτυακές εφαρµογές. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.1 α. Αναφέρετε τις κύριες κατηγορίες, στις οποίες διακρίνεται το λογισµικό. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.2 Τι είναι σωστό και τι είναι λάθος από τα παρακάτω; α. Το πληκτρολόγιο και η οθόνη ανήκουν στο υλικό του υπολογιστή. β. Σε κάθε εν χρήσει υπολογιστή σήµερα υπάρχει κάποιο λειτουργικό σύστηµα. γ. Όλοι οι εν χρήσει υπολογιστές είναι αναγκαίο να διαθέτουν τα ίδια βοηθητικά προγράµµατα. 1.2 Ú ÈÙÂÎÙÔÓÈÎ appleôïôáèûùòó ÎÔapplefi Σκοπός της ενότητας είναι να κατανοήσετε ποια είναι τα χαρακτηριστικά που ορίζουν την αρχιτεκτονική ενός υπολογιστή και τη χρησιµότητα της οικογένειας υπολογιστών. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να: διακρίνετε τις διαφορές µεταξύ δοµής, οργάνωσης, υλοποίησης και αρχιτεκτονικής σε επίπεδο γλώσσας µηχανής ταξινοµήσετε ένα σύνολο υπολογιστών σε οικογένειες ƒãπ π À π ø Αν και ο όρος αρχιτεκτονική υπολογιστών χρησιµοποιείται για πολλά χρόνια, δεν υπάρχει ένας γενικά αποδεκτός ορισµός. Για πολλούς υπάρχουν πολ-

ƒãπ π À π ø 17 λές διάκριτες αρχιτεκτονικές, που περιγράφουν ένα υπολογιστικό σύστηµα σε διάφορα επίπεδα. Η αρχιτεκτονική σε ένα επίπεδο µπορεί να θεωρηθεί σαν η λειτουργική εµφάνιση του συστήµατος, που βρίσκεται κάτω από αυτό το επίπεδο, σ' ένα χρήστη, που βρίσκεται πάνω από το επίπεδο αυτό. Η λειτουργική εµφάνιση, δηλαδή συµπεριφορά, ιδιότητες και δυνατότητες του συστήµατος σ' ένα επίπεδο, καθορίζεται από τη δοµή και οργάνωση του συστήµατος κάτω από αυτό το επίπεδο. Η δοµή περιγράφει τις µονάδες, από τις οποίες αποτελείται το σύστηµα, και τον τρόπο διασύνδεσής τους, ενώ η οργάνωση περιγράφει τη δυναµική αλληλεπίδραση και τη διαχείριση των µονάδων. Πρέπει να σηµειώσουµε ότι η απόδοση του υπολογιστή σ' ένα επίπεδο καθορίζεται από τη δοµή και την οργάνωση του συστήµατος κάτω από αυτό το επίπεδο, καθώς και τον τρόπο υλοποίησής του. Ο χρήστης, που βρίσκεται πάνω από ένα επίπεδο αρχιτεκτονικής, συνήθως δεν ενδιαφέρεται για τις λεπτοµέρειες του συστήµατος κάτω από αυτό το επίπεδο, παρά µόνο για τις ιδιότητες επικοινωνίας µε τον υπολογιστή σ' αυτό το επίπεδο. APXITEKTONIKH XPHΣTEΣ επίπεδο συστήµατος χρήστες εφαρµογών προγράµµατα εφαρµογών επίπεδο γλωσσών προγραµµατισµού προγραµµατιστές εφαρµογών µεταφραστές γλωσσών προγραµµατισµού επίπεδο λειτουργικού συστήµατος προγραµµατιστές συστήµατος επίπεδο συνόλου εντολών γλώσσας µηχανής επίπεδο µικρο- προγραµµατισµού διαχείρηση αγαθών µικροκώδικας υλικό προγραµµατιστές σε γλώσσα µηχανής προγραµµατιστές σε επίπεδο µικροπρογράµµατος Ì 1.1 ιάφορα επίπεδα αρχιτεκτονικής υπολογιστών.

18 π ø ª, ƒ ø, π Àƒ π π π ø À π ø Στο σχήµα 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), για το συγκεκριµένο υπολογιστή και να εκτελεστούν κανονικά.

20 π ø ª, ƒ ø, π Àƒ π π π ø À π ø Όταν λαµβάνουν χώρα εξελίξεις στη βασική τεχνολογία, οι υπολογιστές εξελίσσονται συνήθως προς δύο κατευθύνσεις. Η µία κατεύθυνση είναι προς υπολογιστές χαµηλότερου κόστους, που µπορούν να χρησιµοποιηθούν σε εφαρµογές όπου το κόστος χρησιµοποίησης των προηγούµενων υπολογιστών ήταν απαγορευτικό, διευρύνοντας έτσι το πεδίο εφαρµογών των υπολογιστών και εποµένως αυξάνοντας τον αριθµό των πωλήσεων. Κάθε χρόνο οι τιµές των υπολογιστών µειώνονται και γίνεται οικονοµικά βιώσιµη η χρήση τους σε νέες εφαρµογές. Η άλλη κατεύθυνση είναι προς υπολογιστές µε βελτιωµένη λειτουργικότητα και απόδοση, ώστε να είναι δυνατόν να λυθούν προβλήµατα που η επίλυσή τους µε τους προηγούµενους υπολογιστές ήταν απαγορευτικά χρονοβόρα. Για παράδειγµα, εάν χρησιµοποιώντας κάποιον υπολογιστή για την πρόβλεψη του καιρού της επόµενης ηµέρας απαιτούνταν επεξεργασία των δεδοµένων διάρκειας δύο ηµερών, η πρόβλεψη δεν θα είχε καµία αξία. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.3 ώστε τον ορισµό καθεµίας από τις επόµενες έννοιες : α. αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής β. δοµή γ. οργάνωση δ. υλοποίηση ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.4 α. Είναι σωστό ή λάθος ότι δύο υπολογιστές, που ανήκουν στην ίδια οικογένεια, έχουν την ίδια αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής; β. Ο υπολογιστής Β προέκυψε προσθέτοντας στην αρχιτεκτονική σε επίπεδο εντολών γλώσσας µηχανής του υπολογιστή Α δύο νέους τρόπους καθορισµού διευθύνσεων. Τι είναι σωστό από τα παρακάτω; i. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Α, όταν εκτελείται στον Β θα χρησιµοποιεί όλους τους τρόπους καθορισµού διευθύνσεων του Β. ii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Β, µπορεί να εκτελεστεί και στον Α.

ª, ƒ ø π π Àƒ π À π ø 21 iii. Ένα πρόγραµµα που έχει γραφτεί για να εκτελεστεί στον υπολογιστή Α, µπορεί να εκτελεστεί και στον Β, αλλά δεν θα χρησιµοποιεί τους δύο νέους τρόπους καθορισµού διευθύνσεων. 1.3 ÔÌ, ÔÚÁ ÓˆÛË Î È ÏÂÈÙÔ ÚÁ appleôïôáèûùòó ÎÔapplefi Σκοπός της ενότητας αυτής είναι να κατανοήσετε από ποιες µονάδες αποτελείται ο υπολογιστής και πώς αυτές οι µονάδες συνδέονται µεταξύ τους (δοµή). Επίσης τον τρόπο, µε τον οποίο οι µονάδες αλληλεπιδρούν µεταξύ τους (οργάνωση) και πώς οι χρήστες επικοινωνούν µε τον υπολογιστή διαµέσου των µονάδων εισόδου και εξόδου. Η ενότητα αυτή, επίσης, θα βοηθήσει στο να κατανοήσετε τον τρόπο που η δοµή και η οργάνωση του υπολογιστή επηρεάζει την απόδοσή του, µε την οποία θα ασχοληθούµε στην ενότητα 1.5. ÚÔÛ ÔÎÒÌÂÓ appleôùâï ÛÌ Ù Όταν θα έχετε µελετήσει αυτή την ενότητα, θα µπορείτε να: περιγράψετε τις µονάδες από τις οποίες αποτελείται ένας υπολογιστής κατανοήσετε τη σηµασία των βασικών χαρακτηριστικών κάθε µονάδας περιγράψετε τις διαδικασίες που λαµβάνουν χώρα στον υπολογιστή κατά την εκτέλεση ενός προγράµµατος ÈÛ ÁˆÁÈÎ apple Ú ÙËÚ ÛÂÈ Η ενότητα αυτή αποτελείται από πέντε υποενότητες. Στην υποενότητα 1.3.1 παρουσιάζονται οι µονάδες, από τις οποίες αποτελείται ο υπολογιστής. Στην υποενότητα 1.3.2 δίνονται τα βασικά χαρακτηριστικά της Κεντρικής Μονάδας Επεξεργασίας, ενώ στην 1.3.3 παρουσιάζεται το σύστηµα µνήµης του υπολογιστή. Στις υποενότητες 1.3.4 και 1.3.5 γίνεται µία εισαγωγή στη λειτουργία της κρυφής και της ιδεατής µνήµης και τους σκοπούς, για τους οποίους τις χρησιµοποιούµε.

22 π ø ª, ƒ ø, π Àƒ π π π ø À π ø 1.3.1 ÔÌ ÙÔ appleôïôáèûù Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης των µονάδων. Στο σχήµα 1.2 δίνεται η δοµή ενός τυπικού προσωπικού υπολογιστή. Η ΚΜΕ είναι η πλέον πολύπλοκη µονάδα του υπολογιστή και έχει την όλη υπευθυνότητα για την εκτέλεση των προγραµµάτων. Αποτελείται από τη Μονάδα Επεξεργασίας εδοµένων (Data Path) και τη Μονάδα ελέγχου (Control Unit). Η Μονάδα Επεξεργασίας εδοµένων µε τη σειρά της αποτελείται από κυκλώµατα για την εκτέλεση αριθµητικών και λογικών πράξεων και ένα σύνολο καταχωρητών, που ο αριθµός τους ποικίλλει από υπολογιστή σε υπολογιστή. Mνήµη µαγνητικού δίσκου Kύρια µνήµη Eλεγκτής µονάδας δίσκου Kρυφή µνήµη Ì 1.2 οµή ενός προσωπικού υπολογιστή. Aρτηρία συστήµατος Στη µνήµη ενός υπολογιστή αποθηκεύονται τα δεδοµένα, που θα επεξεργαστεί ο υπολογιστής, και τα προγράµµατα, που καθορίζουν την επεξεργασία που θα γίνει. Είναι γενικά επιθυµητό η µνήµη να είναι πολύ µεγάλης χωρητικότητας και τόσο γρήγορη όσο και η ΚΜΕ, ώστε η ΚΜΕ να µην καθυστερεί κατά την επικοινωνία της µε τη µνήµη. υστυχώς, αφενός οι πολύ γρήγορες µνήµες είναι πολύ ακριβές αφετέρου, για κατασκευαστικούς

ª, ƒ ø π π Àƒ π À π ø 23 λόγους, µνήµες µεγάλης χωρητικότητας είναι πιο αργές από µνήµες µικρότερης χωρητικότητας της ίδιας τεχνολογίας. εν είναι, λοιπόν, δυνατό (εκτός από πολύ µικρά συστήµατα ειδικού σκοπού) να χρησιµοποιούµε µία µόνο µνήµη υψηλής ταχύτητας. Γι αυτό, λοιπόν, το λόγο τα προς επεξεργασία δεδοµένα και τα προγράµµατα αποθηκεύονται σε µία ποικιλία από διαφορετικές µονάδες µνήµης µε πολύ διαφορετικά χαρακτηριστικά. Αυτές οι µονάδες µαζί µε τους αλγόριθµους που χρειάζονται για τον έλεγχο και τη διαχείριση της µνήµης αποτελούν το σύστηµα µνήµης του υπολογιστή. Μεταξύ των µονάδων µνήµης διακρίνουµε τους καταχωρητές, την κύρια µνήµη και τη βοηθητική ή δευτερεύουσα µνήµη. Θα πρέπει να σηµειώσου- µε ότι, αν και η φυσική θέση των καταχωρητών είναι στην ΚΜΕ, οι καταχωρητές ανήκουν στο σύστηµα της µνήµης. Στον υπολογιστή του σχήµατος 1.2 το σύστηµα µνήµης αποτελείται από τους καταχωρητές, που δεν φαίνονται στο σχήµα διότι περιέχονται στην ΚΜΕ, την Μ Μ ( θα αναφερθούµε σ' αυτή στην υποενότητα 1.3.5), την κρυφή µνήµη ( µ' αυτή θα ασχοληθού- µε στην υποενότητα 1.3.4), την κύρια µνήµη και τη µνήµη µαγνητικού δίσκου συµπεριλαµβανοµένου του ελεγκτή της. Η χωρητικότητα κάθε καταχωρητή µετριέται µε το πλήθος των δυαδικών ψηφίων (bits) ή ψηφιολέξεων (bytes), που µπορούν να αποθηκευτούν σ αυτόν. Το δυαδικό ψηφίο παίρνει την τιµή 0 ή 1 και µία ψηφιολέξη αποτελείται από οκτώ δυαδικά ψηφία. Η χωρητικότητα της κύριας µνήµης, όπως και της κρυφής και της βοηθητικής µνήµης ενός υπολογιστή, µετριέται σε: Kbytes ή KB, 1 KB = 2 10 bytes =1024 bytes Mbytes ή MB, 1 MB = 2 20 bytes =1024 Kbytes Gbytes ή GB, 1 GB = 2 30 bytes =1024 Mbytes Συνήθως, λόγω του µεγέθους της, η χωρητικότητα της κρυφής µνήµης µετράται σε ΚΒ, της κύριας σε ΜΒ και της βοηθητικής σε GΒ. Οι µονάδες εισόδου/εξόδου χρησιµοποιούνται για την επικοινωνία του υπολογιστή µε τον εξωτερικό κόσµο. Η κύρια λειτουργία των µονάδων εισόδου/εξόδου είναι να µετατρέπουν την πληροφορία από µία φυσική αναπαράσταση σε κάποια άλλη. Οι µονάδες εισόδου µετατρέπουν την πληροφορία από µια από τις µορφές που χρησιµοποιούνται στην κοινωνία µας, σε µια από τις µορφές που χρησιµοποιεί ο υπολογιστής για την εσωτερική αναπαράσταση της πληροφορίας. Οι µονάδες εξόδου κάνουν το αντίστροφο. Με την αναπαράσταση της πληροφορίας στον υπολογιστή θα ασχοληθούµε στο κεφάλαιο 2. Στον υπολογιστή του σχήµατος 1.2 µονάδες εισόδου/εξόδου είναι η οθόνη

24 π ø ª, ƒ ø, π Àƒ π π π ø À π ø και το πληκτρολόγιο συµπεριλαµβανοµένων των ελεγκτών τους. Το σύστηµα διασύνδεσης αποτελείται από τις αρτηρίες διασύνδεσης των διαφόρων µονάδων του συστήµατος. Για παράδειγµα, στο σχήµα 1.2 η αρτηρία του συστήµατος, η αρτηρία εισόδου/εξόδου, οι µονάδες διασύνδεσης και ο ελεγκτής δικτύου (κάρτα δικτύου) ανήκουν στο σύστηµα διασύνδεσης. Ο ελεγκτής δικτύου µπορεί να θεωρηθεί και σαν µονάδα εισόδου/εξόδου. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.5 Αναφέρετε τις µονάδες, από τις οποίες αποτελείται ένα υπολογιστικό σύστηµα. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.6 Αναφέρετε δύο λόγους, για τους οποίους δεν είναι δυνατόν η µνήµη ενός υπολογιστή γενικού σκοπού να υλοποιείται µε µία µόνον τεχνολογία. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.7 Αναφέρετε τρεις µονάδες µνήµης, που υπάρχουν στο σύστηµα µνήµης κάθε ενός υπολογιστή. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.8 Συµπληρώστε κάθε πρόταση επιλέγοντας το σωστό όρο: GBytes, υαδικά ψηφία (bits), Kbytes, ψηφιολέξεις (bytes), Mbytes. H χωρητικότητα των καταχωρητών µετράται σε. H χωρητικότητα της κρυφής µνήµης, που βρίσκεται µεταξύ ΚΜΕ και κύριας µνήµης, µετράται σε. H χωρητικότητα της κύριας µνήµης µετράται σε. H χωρητικότητα της βοηθητικής µνήµης µετράται σε. 1.3.2 ÂÓÙÚÈÎ ÌÔÓ ÂappleÂÍÂÚÁ Û Η Κεντρική Μονάδα Επεξεργασίας, ΚΜΕ, αποτελείται από τη Μονάδα Επεξεργασίας εδοµένων (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), που κάθε φορά

26 π ø ª, ƒ ø, π Àƒ π π π ø À π ø περιέχει τη διεύθυνση της θέσης µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή, τους καταχωρητές δείκτη (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. α. Αναφέρετε τις υποµονάδες, από τις οποίες αποτελείται η ΚΜΕ. β. Περιγράψτε τη χρησιµότητα κάθε υποµονάδας. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.9 γ. Η ΚΜΕ εκτελεί µία εντολή σε µία ακολουθία από 7 βήµατα. Τοποθετήστε τα ακόλουθα βήµατα στη σωστή τους σειρά. Εκτελεί την εντολή. Φέρνει τα δεδοµένα σε κάποιους από τους καταχωρητές της. Φέρνει στην ΚΜΕ την εντολή, που είναι αποθηκευµένη στη θέση µνή- µης που δείχνει ο µετρητής προγράµµατος. Αποθηκεύει τα αποτελέσµατα. Αλλάζει το περιεχόµενο του µετρητή προγράµµατος, ώστε να δείχνει τη θέση µνήµης που περιέχει την επόµενη προς εκτέλεση εντολή. Αναλύει την εντολή και ελέγχει εάν η εντολή χρειάζεται δεδοµένα από τη µνήµη και εάν ναι, προσδιορίζει τη διεύθυνση που είναι αποθηκευµένα. Πηγαίνει στο πρώτο βήµα για να αρχίσει την εκτέλεση της επόµενης εντολής.

28 π ø ª, ƒ ø, π Àƒ π π π ø À π ø 1.3.3 ÛÙËÌ ÌÓ ÌË Àƒπ ª ª Η κύρια µνήµη αποτελείται από έναν αριθµό θέσεων που σε καθεµία από αυτές αποθηκεύεται και ένα τµήµα πληροφορίας (εντολή, µέρος εντολής ή δεδοµένα) µε τη µορφή µιας ακολουθίας δυαδικών ψηφίων. Σε κάθε θέση της µνήµης αντιστοιχεί ένας αριθµός, που καλείται φυσική διεύθυνση της θέσης µνήµης, και χρησιµοποιείται για να αναφερθούµε στη συγκεκριµένη θέση. Το σύνολο των φυσικών διευθύνσεων της κύριας µνήµης καλείται χώρος φυσικών διευθύνσεων της µνήµης. Εάν η µνήµη έχει ν θέσεις, τότε οι φυσικές τους διευθύνσεις θα είναι από 0 µέχρι ν 1 (βλέπε σχήµα 1.3.). Γειτονικές θέσεις µνήµης έχουν διαδοχικές διευθύνσεις. Το κύριο χαρακτηριστικό της θέσης µνήµης είναι ότι περιέχει τη µικρότερη ποσότητα πληροφορίας, που µπορεί να µεταφερθεί στην ΚΜΕ. Ο αριθµός των δυαδικών ψηφίων που περιέχεται σε µία θέση µνήµης, διαφέρει από υπολογιστή σε υπολογιστή. µία θέση µνήµης ένα δυαδικό ψηφίο Ì 1.3 H φυσική οργάνωση µιάς µνήµης ν θέσεων, µε θέση µνήµης των 8 δυαδικών ψηφίων. ν ν ν ν Οι βασικότερες ιδιότητες της κύριας µνήµης είναι ότι: α) οι θέσεις της µπορούν να προσπελαστούν άµεσα από την ΚΜΕ, αντίθετα η πληροφορία που είναι αποθηκευµένη στη βοηθητική µνήµη θα πρέπει πρώτα να µεταφερθεί

ª, ƒ ø π π Àƒ π À π ø 29 στην κύρια µνήµη, β) οι θέσεις της µπορούν να προσπελαστούν µε οποιαδήποτε σειρά και γ) ο χρόνος προσπέλασης µίας θέσης είναι σταθερός και ανεξάρτητος από τη διεύθυνση της θέσης. Η ταχύτητα της κύριας µνήµης µετριέται µε το χρόνο προσπέλασης ανάγνωσης ή, όπως πιο συχνά λέγεται, το χρόνο προσπέλασης (access time) µιας θέσης της κύριας µνήµης. Ο χρόνος προσπέλασης εγγραφής είναι συνήθως ίσος µε το χρόνο προσπέλασης ανάγνωσης. Ο χρόνος προσπέλασης ισούται µε το χρόνο που παρέρχεται από τη στιγµή, που η µνήµη λαµβάνει µία απαίτηση διαβάσµατος µέχρι τη στιγµή που η απαιτούµενη πληροφορία είναι διαθέσιµη στις εξόδους της µνήµης. Ο χρόνος προσπέλασης της κύριας µνήµης εξαρτάται από την τεχνολογία των ολοκληρωµένων κυκλωµάτων, µε τα οποία υλοποιείται, το µέγεθός της και τον τρόπο σχεδιασµού της. Σε µερικές διατάξεις µνήµης, όπως οι δυναµικές µνήµες (θα µιλήσουµε στη συνέχεια γι αυτές), ο χρόνος που πρέπει να περάσει από τη στιγµή που ξεκίνησε µία προσπέλαση της µνήµης µέχρι τη στιγµή που επιτρέπεται να ξεκινήσουµε µία άλλη προσπέλαση, είναι µεγαλύτερος του χρόνου προσπέλασης της µνήµης και καλείται χρόνος κύκλου της µνήµης (cycle time of the memory). Είναι προφανές ότι το µέγιστο ποσό πληροφορίας, που µπορεί να µεταφερθεί προς ή από τη µνήµη κάθε δευτερόλεπτο, είναι το αντίστροφο του χρόνου κύκλου της µνήµης. Η ποσότητα αυτή καλείται ρυθµός µεταφοράς δεδοµένων (data transfer rate ή bandwidth). Ο ρυθµός µεταφοράς δεδο- µένων µετριέται σε ψηφιολέξεις ανά δευτερόλεπτο. Η ΚΜΕ επικοινωνεί µε την κύρια µνήµη µέσω δύο καταχωρητών, του καταχωρητή διευθύνσεων και του καταχωρητή δεδοµένων. Ανάλογα µε τον υπολογιστή, οι καταχωρητές διευθύνσεων και δεδοµένων µπορεί να είναι καταχωρητές ειδικού σκοπού ή οποιοιδήποτε από τους καταχωρητές γενικού σκοπού, συνήθως στα σηµερινά συστήµατα συµβαίνει το δεύτερο. Όταν πρόκειται να διαβαστεί µία λέξη από την κύρια µνήµη, η διεύθυνση της µνήµης τοποθετείται στον καταχωρητή διευθύνσεων και στέλνεται ένα σήµα από τη µονάδα ελέγχου στη µνήµη, που δηλώνει ότι πρέπει να γίνει ανάγνωση. Μετά από ένα χρονικό διάστηµα ίσο µε τον χρόνο προσπέλασης, η λέξη µεταφέρεται στον καταχωρητή δεδοµένων. Για να αποθηκευτεί µία λέξη στη µνήµη, πρέπει η διεύθυνση της θέσης στην οποία πρόκειται να γίνει η αποθήκευση, να τοποθετηθεί στον καταχωρητή διευθύνσεων, η λέξη να τοποθετηθεί στον καταχωρητή δεδοµένων και να σταλεί σήµα από την µονάδα ελέγχου στη µνήµη, για να δηλώσει ότι πρέπει να γίνει εγγραφή.

30 π ø ª, ƒ ø, π Àƒ π π π ø À π ø Σηµειώνουµε ότι ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευθύνσεων καθορίζει το µέγιστο αριθµό θέσεων µνήµης που µπορούν να αναφερθούν άµεσα. Εάν ο αριθµός των δυαδικών ψηφίων του καταχωρητή διευθύνσεων της µνήµης είναι µ, ο µέγιστος αριθµός των θέσεων µνήµης που µπορεί να αναφερθεί άµεσα από την ΚΜΕ, είναι 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 δίνεται η σχέση χρόνου προσπέλασης και κόστους ανά δυαδικό ψηφίο των αντιπροσωπευτικών τεχνολογιών, που χρησιµοποιούνται για την υλοποίηση του συστήµατος µνή- µης. Η πληροφορία που είναι αποθηκευµένη στη βοηθητική µνήµη διατηρείται και µετά τη διακοπή της τάσης τροφοδοσίας, εποµένως, πριν κλείσουµε τον υπολογιστή µας, θα πρέπει να αποθηκεύουµε στη βοηθητική µνήµη την πληροφορία που έχουµε στην κύρια µνήµη. 100 Xρόνος προσπέλασης σε δευτερόλεπτα 10 1 10 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 9 Mνήµες µαγνητικών ταινιών Oπτικοί δίσκοι Σκληροί µαγνητική δίσκοι DRAM ολοκληρωµένα SRAM ολοκληρωµένα Kόστος ανά δυαδικό ψηφίο Ì 1.4 Σχέση χρόνου προσπέλασης και κόστους ανά δυαδικό ψηφίο αντιπροσωπευτικών τεχνολογιών, που χρησιµοποιούνται για την υλοποίηση του συστή- µατος µνήµης. Η βοηθητική µνήµη χρησιµοποιείται για την αποθήκευση προγραµµάτων και αρχείων δεδοµένων, που δεν χρειάζονται συνεχώς από την ΚΜΕ. Επίσης χρησιµεύει και σαν µνήµη υπερχείλισης (overflow), όταν ξεπερνιέται η χωρη-

32 π ø ª, ƒ ø, π Àƒ π π π ø À π ø τικότητα της κύριας µνήµης, ο,τι δεν χωράει δηλαδή στην κύρια µνήµη µεταφέρεται στη βοηθητική. Σε πολλές από τις συσκευές βοηθητικής µνήµης το µέσο πάνω στο οποίο γράφεται η πληροφορία, π.χ. µαγνητική ταινία, µαγνητικός δίσκος, όταν γεµίσει αντικαθίσταται και φυλάσσεται. Με αυτό τον τρόπο µπορούµε να δηµιουργήσουµε τεράστιες αποθήκες πληροφορίας. Οι διατάξεις που χρησιµοποιούνται για την υλοποίηση της βοηθητικής µνή- µης, διακρίνονται σε διατάξεις σειριακής προσπέλασης (serial access) και διατάξεις κατευθείαν προσπέλασης (direct access). Σειριακής προσπέλασης καλούνται οι µνήµες, που η αποθηκευµένη πληροφορία µπορεί να προσπελαστεί µόνο µε κάποια προκαθορισµένη σειρά. Σαν παράδειγµα αναφέρουµε τις µνήµες µαγνητικής ταινίας. Μερικές διατάξεις Μνήµης, όπως οι µαγνητικοί δίσκοι, περιέχουν ένα µεγάλο αριθµό οµόκεντρων κύκλων (tracks), κατά µήκος των οποίων γράφεται η πληροφορία. Κάθε οµόκεντρος κύκλος µπορεί να προσπελαστεί άµεσα, ενώ η προσπέλαση της πληροφορίας σ έναν οµόκεντρο κύκλο γίνεται σειριακά. Οι διατάξεις αυτές καλούνται µνήµες κατευθείαν προσπέλασης. Με τις µονάδες µνήµης µαγνητικών δίσκων, οπτικών δίσκων και µαγνητικών ταινιών θα ασχοληθούµε στο κεφάλαιο 4. Ú ÛÙËÚÈfiÙËÙ 1.1 Απευθυνόµενοι σε ένα κατάστηµα πώλησης υπολογιστών, συλλέξτε την απαιτούµενη πληροφορία, ώστε να υπολογίσετε το κόστος ανά ψηφιολέξη της κύριας µνήµης και της µνήµης µαγνητικού δίσκου ενός προσωπικού υπολογιστή. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.10 Α. Αναφέρετε: α. Τρεις βασικές ιδιότητες της κύριας µνήµης. β. Τα µέτρα χαρακτηρισµού της ταχύτητας της κύριας µνήµης. γ. ύο κοινά χαρακτηριστικά και δύο διαφορές µεταξύ των µνηµών τεχνολογίας RAM και ROM. Β. Είναι σωστό ή λάθος ότι σε έναν υπολογιστή γενικού σκοπού όλη η κύρια µνήµη θα µπορούσε να υλοποιηθεί µε µνήµες ROM;

ª, ƒ ø π π Àƒ π À π ø 33 Αναφέρετε τα κύρια πλεονεκτήµατα και µειονεκτήµατα της µνήµης µαγνητικών δίσκων σε σχέση µε την τεχνολογία που χρησιµοποιείται για την υλοποίηση της κύριας µνήµης. ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.11 Είναι σωστό ή λάθος ότι η µονάδα µνήµης µαγνητικών δίσκων και µαγνητικής ταινίας είναι σειριακής προσπέλασης; ÕÛÎËÛË ÙÔ ÍÈÔÏfiÁËÛË 1.12 1.3.4 Ú Ê ÌÓ ÌË (Cache memory) Η κύρια µνήµη είναι σχετικά αργή, για το λόγο αυτό, όταν η ΚΜΕ χρειάζεται να διαβάσει κάτι από την κύρια µνήµη αναγκάζεται να περιµένει. Η κατάσταση γίνεται ακόµη χειρότερη όταν πληροφορία πρέπει να µεταφερθεί στην κύρια µνήµη από τη βοηθητική µνήµη, για παράδειγµα από µία µονάδα δίσκων. Η τεχνική που έχει προταθεί για τη βελτίωση της κατάστασης, είναι η χρησιµοποίηση κρυφής µνήµης (cache memory). Η κρυφή µνήµη είναι µία σχετικά µικρής χωρητικότητας µνήµη, που χρησιµοποιείται για την αποθήκευση πληροφορίας, που αναµένεται ότι θα χρησιµοποιηθεί άµεσα ή µε µεγάλη συχνότητα στο µέλλον. Η επιτυχία της βασίζεται στην τοπικότητα των αναφορών (principle of locality) που χαρακτηρίζει την πλειονότητα των προγραµµάτων. Σύµφωνα µε την τοπικότητα των αναφορών η πληροφορία (εντολές ή δεδοµένα) που χρησιµοποιήθηκε πρόσφατα είναι πιθανόν να ξαναχρησιµοποιηθεί στο άµεσο µέλλον και η πληροφορία που βρίσκεται κοντά στην πληροφορία που χρησιµοποιείται τώρα, είναι πιθανό να χρησιµοποιηθεί στο άµεσο µέλλον. Κρυφή µνήµη χρησιµοποιείται συνήθως µεταξύ ΚΜΕ και κύριας µνήµης, καθώς και µεταξύ κύριας µνήµης και της βοηθητικής µνήµης, της µονάδας δίσκων. ƒàº ª ª ª À ª π Àƒπ ª ª Η κρυφή µνήµη µεταξύ ΚΜΕ και κύριας µνήµης υλοποιείται µε SRAM, που είναι πιο γρήγορη από τη DRAM, που χρησιµοποιείται για την υλοποίηση της κύριας µνήµης. Επίσης, το γεγονός ότι η κρυφή µνήµη είναι σηµαντικά µικρότερης χωρητικότητας από την κύρια µνήµη συµβάλλει, ώστε η προσπέλαση της κρυφής µνήµης να είναι πολύ πιο γρήγορη από της κύριας µνήµης.

34 π ø ª, ƒ ø, π Àƒ π π π ø À π ø Η κρυφή µνήµη µπορεί να βρίσκεται στο ίδιο ολοκληρωµένο κύκλωµα µε την ΚΜΕ ή σε ένα ή περισσότερα άλλα ολοκληρωµένα κυκλώµατα στην ίδια πλακέτα. Στην πρώτη περίπτωση το µέγεθός της είναι σταθερό, ενώ στη δεύτερη περίπτωση ο χρήστης µπορεί να αγοράσει και τοποθετήσει στον υπολογιστή του από καθόλου µέχρι µία µέγιστη χωρητικότητα, που εξαρτάται από το συγκεκριµένο υπολογιστή. Στην κρυφή µνήµη υπάρχουν αντίγραφα µέρους της πληροφορίας, που υπάρχει στην κύρια µνήµη. Όταν η ΚΜΕ χρειάζεται κάποια πληροφορία, εάν η πληροφορία βρίσκεται στην κρυφή µνήµη προσπελαύνεται πολύ γρήγορα, αποφεύγοντας τις καθυστερήσεις που θα συνεπάγονταν η προσπέλαση της κύριας µνήµης. Εάν η ζητούµενη πληροφορία δεν υπάρχει στην κρυφή µνήµη, προσπελαύνεται από την κύρια µνήµη, ενώ ένα τµήµα πληροφορίας που περιέχει και τη ζητούµενη πληροφορία, µεταφέρεται στην κρυφή µνήµη (βλέπε σχήµα 1.5). Το ποσοστό των προσπελάσεων, που ικανοποιούνται από την κρυφή µνήµη χωρίς να γίνεται προσπέλαση στην κύρια µνήµη, καλείται ρυθµός επιτυχίας (hit rate). Η τιµή του ρυθµού επιτυχίας εξαρτάται από τη χωρητικότητα της κρυφής µνήµης και τον τρόπο οργάνωσής της, αλλά και από το είδος του προγράµµατος που εκτελείται. Στο κεφάλαιο 4 θα ασχοληθούµε εκτεταµένα µε τη δοµή, οργάνωση και απόδοση της κρυφής µνήµης. Άλλοι υπολογιστές έχουν µία κρυφή µνήµη που χρησιµοποιείται για την αποθήκευση τόσο δεδοµένων όσο και εντολών (προγραµµάτων) και καλείται ενοποιηµένη (unified cache memory), ενώ άλλοι έχουν άλλη κρυφή µνήµη για την αποθήκευση δεδοµένων (data cache) και άλλη για αποθήκευση εντολών (instruction cache). Επίσης, πρέπει να αναφέρουµε ότι πολλοί υπολογιστές έχουν δύο επίπεδα κρυφής µνήµης. Το πρώτο επίπεδο, συνήθως, αποτελείται από δύο µικρές µνήµες, µία δεδοµένων και µία εντολών, που βρίσκεται στο ίδιο ολοκληρωµένο κύκλωµα µε την ΚΜΕ, ενώ το δεύτερο επίπεδο αποτελείται από µία ενοποιηµένη κρυφή µνήµη. Σε όλες τις ανωτέρω περιπτώσεις ότι αφορά την υλοποίηση της κρυφής µνή- µης γίνεται µε κυκλώµατα και η ύπαρξη ή απουσία της δεν γίνεται αντιληπτή ούτε από τα προγράµµατα εφαρµογών ούτε από το λειτουργικό ή τα άλλα προγράµµατα του συστήµατος. ƒàº ª ª π À Όπως έχουµε αναφέρει στην ενότητα 1.3.3, ο µέσος χρόνος προσπέλασης πληροφορίας που βρίσκεται σε κάποια µονάδα δίσκων, είναι πολύ µεγαλύ-

ª, ƒ ø π π Àƒ π À π ø 35 καταχωρητές της KME εντολή ή δεδοµένα κρυφή µνήµη µπλοκ κύρια µνήµη σελίδα µνήµη µαγνητικών δίσκων Ì 1.5 Μεταφορά πληροφορίας µεταξύ διαδοχικών επιπέδων µνήµης. τερος του χρόνου προσπέλασης της κύριας µνήµης (βλέπε σχήµα 1.4). Το πρόβληµα, που δηµιουργείται, είναι ότι συχνές προσπελάσεις του δίσκου αφήνουν τον επεξεργαστή ανενεργό και αυξάνουν το χρόνο αναµονής των αποτελεσµάτων. Σε υπολογιστές που χρησιµοποιούν την τεχνική του πολυπρογραµµατισµού (multiprogramming) υπάρχουν περισσότερα από ένα προ-

36 π ø ª, ƒ ø, π Àƒ π π π ø À π ø γράµµατα στην κύρια µνήµη του υπολογιστή και, όταν κατά την εκτέλεση κάποιου προγράµµατος απαιτείται προσπέλαση του δίσκου, η διαδικασία εισόδου/εξόδου υλοποιείται από το σύστηµα εισόδου/εξόδου και ο επεξεργαστής ασχολείται µε την εκτέλεση άλλου προγράµµατος. Εάν όµως όλα τα ενεργά προγράµµατα περιµένουν για την ολοκλήρωση διαδικασιών εισόδου/εξόδου, ο επεξεργαστής µένει πάλι ανενεργός. Ο µηχανισµός που έχει προταθεί για να λύσει το πρόβληµα, είναι η κρυφή µνήµη του δίσκου (disk cache). Το ερώτηµα που τίθεται άµεσα είναι πού θα τοποθετηθεί η κρυφή µνήµη. Η απάντηση στο ερώτηµα αυτό καθορίζει και τον τρόπο υλοποίησής της. Μία θέση είναι να τοποθετηθεί στη µονάδα του δίσκου. Όταν η µονάδα ελεγκτή δίσκου ελέγχει περισσότερους από έναν δίσκους, µία άλλη θέση είναι η κρυφή µνήµη να τοποθετηθεί στον ελεγκτή των µονάδων δίσκου. Και στις δύο περιπτώσεις υλοποιείται µε DRAM. Μία ακόµη δυνατότητα είναι ένα τµήµα της κύριας µνήµης να χρησιµοποιείται σαν κρυφή µνήµη του δίσκου. Σε αυτή την περίπτωση χρησιµοποιείται κυρίως ο όρος κρυφή µνήµη αρχείων (file cache). Είναι, επίσης, δυνατόν να χρησιµοποιείται σ έναν υπολογιστή τόσο κρυφή µνήµη στο δίσκο όσο και στην κύρια µνήµη. Σ έναν υπολογιστή που χρησιµοποιεί κρυφή µνήµη στη µονάδα δίσκου, ο χρήστης µπορεί να αντικαταστήσει τη µονάδα δίσκου µε άλλη µονάδα δίσκου που µπορεί να περιλαµβάνει κρυφή µνήµη διαφορετικού µεγέθους ή και οργάνωσης απ ότι η προηγούµενη µονάδα δίσκου ή να µην διαθέτει καθόλου κρυφή µνήµη. Όταν η κρυφή µνήµη υλοποιείται στην κύρια µνήµη, την ευθύνη της διαχείρισής της την έχει το λειτουργικό σύστηµα. Το λειτουργικό σύστηµα φροντίζει να υπάρχουν στην κρυφή µνήµη τα προγράµµατα, δεδοµένα και αρχεία που χρησιµοποιούνται πιο συχνά. Σε κάποια συστήµατα µπορεί ο χρήστης να δηλώσει το ποσοστό της κύριας µνήµης, που θα χρησιµοποιηθεί σαν κρυφή µνήµη. Για παράδειγµα, στους προσωπικούς υπολογιστές µέσα από το λειτουργικό σύστηµα WINDOWS 95 µπορεί να γίνει αυτή η δήλωση. Σε κάποια συστήµατα το µέγεθος της κρυφής µνήµης στην κύρια µνήµη είναι ένα σταθερό ποσοστό, συνήθως 8%~10% του συνολικού µεγέθους της κύριας µνήµης, ενώ σε κάποια άλλα αλλάζει δυναµικά. Για παράδειγµα, στα WINDOWS 95 µπορεί ο χρήστης να ορίσει ένα ελάχιστο και ένα µέγιστο µέγεθος κρυφής µνήµης και το πραγµατικό µέγεθος της κρυφής µνήµης αλλάζει δυναµικά µέσα σ αυτά τα όρια.