Κεφάλαιο 7. Αρχιτεκτονική υπολογιστών βασικές έννοιες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

i Όλες οι σύγχρονες ΚΜΕ είναι πολυπλοκότερες!

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

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

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

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

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

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

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

; Τι περιέχεται στη συσκευασία ενός μικροεπεξεργαστή σήμερα;

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

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

Κεφάλαιο 8. Αριθμητική Λογική μονάδα

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

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

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

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

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

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

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

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

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

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

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

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

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

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

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

Μνήμη και Προγραμματίσιμη Λογική

Λίγα λόγια από το συγγραφέα Εισαγωγή στους υπολογιστές Μονάδες µέτρησης χωρητικότητας Συσκευές εισόδου...

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

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

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

Ο Εσωτερικός Κόσμος Του Υπολογιστή

Παραλληλισµός Εντολών (Pipelining)

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

ε. Ένα κύκλωμα το οποίο παράγει τετραγωνικούς παλμούς και απαιτείται εξωτερική διέγερση ονομάζεται ασταθής πολυδονητής Λ

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

Transcript:

Κεφάλαιο 7 Αρχιτεκτονική υπολογιστών βασικές έννοιες

7.1 Εισαγωγή Η αρχιτεκτονική υπολογιστών, ή οργάνωση υπολογιστών, είναι το γνωστικό πεδίο της μηχανικής υπολογιστών το οποίο πραγματεύεται τον λογικό σχεδιασμό, τη δομή και τη λειτουργία του υλικού ενός υπολογιστικού συστήματος, συνήθως ηλεκτρονικού και ψηφιακού. Ως επιστημονικός τομέας εστιάζει στη συστηματική έρευνα και σχεδίαση των τεχνολογικών δομών υλικού που επιτρέπουν την αποδοτική εκτέλεση αλγορίθμων και υπολογισμών, με βάση τις διαθέσιμες τεχνολογίες κατασκευής ολοκληρωμένων κυκλωμάτων. Συνήθως, η αρχιτεκτονική υπολογιστών δίνει έμφαση στη δομή και λειτουργία του επεξεργαστή και στους τρόπους προσπέλασής του στη μνήμη. Ένας υπολογιστής δομείται σε μία ιεραρχία αφηρημένων επιπέδων οργάνωσης τα οποία οικοδομούνται το ένα πάνω στο άλλο: κάθε υπερκείμενο επίπεδο αξιοποιεί το υποκείμενό του. Η τακτική αυτή ονομάζεται «δομημένη οργάνωση υπολογιστών» και επιτρέπει τη συστηματική και εύκολη ανάλυση, σχεδίαση και κατανόηση των υπολογιστικών συστημάτων. Το σύνολο των εννοιών, λειτουργιών και λεπτομερειών ενός επιπέδου ονομάζεται «αρχιτεκτονική» αυτού του επιπέδου. 7.2 Επισκόπηση της οργάνωσης υπολογιστικών συστημάτων Μια μητρική κάρτα (motherboard), επίσης γνωστή και σαν μητρική ή κάρτα συστήματος είναι το κεντρικό και βασικό τυπωμένο ηλεκτρικό κύκλωμα ενός σημερινού υπολογιστή. Ένας τυπικός υπολογιστής αποτελείται από τον μικροεπεξεργαστή, την κεντρική μνήμη και άλλα βασικά υποσυστήματα που βρίσκονται και αυτά στην μητρική. Άλλα

μέρη του υπολογιστή, όπως εξωτερικά μέσα αποθήκευσης, κάρτες επέκτασης γραφικών, ήχου κτλ και διάφορα περιφερειακά όπως εκτυπωτής, πληκτρολόγια κτλ, είναι όλα τμήματα που ενσωματώνονται στην μητρική μέσω καλωδίων και υποδοχών διάφορων τύπων. Συνήθως, όλα τα κύρια εξαρτήματα του υπολογιστή - ο επεξεργαστής, η μνήμη ROM, η μνήμη RAM, ο δίαυλος (Bus), το ρολόι - είναι τοποθετημένα πάνω στη μητρική κάρτα. Κάθε τέτοια μητρική κάρτα έχει κατασκευαστεί για ένα συγκεκριμένο τύπο επεξεργαστή που λειτουργεί σε καθορισμένη συχνότητα. 7.2.1 Κεντρική Μονάδα Επεξεργασίας (CPU) Όταν στον υπολογιστή εισάγονται δεδομένα (γράμματα, αριθμοί, εικόνες), η μορφή τους είναι τέτοια ώστε να γίνεται κατανοητή από το χρήστη. Ο υπολογιστής δεν καταλαβαίνει τις μορφές αυτές και πρέπει πρώτα να τα μετατρέψει σε μορφή που να τα αντιλαμβάνεται, ώστε να μπορεί να τα χειριστεί. Αφού γίνει αυτό, τα αποθηκεύει προσωρινά και στη συνέχεια εκτελεί την αριθμητική ή λογική επεξεργασία τους. Για να γίνουν αυτά πράξη, η Κ.Μ.Ε. απαρτίζεται από τις εξής επιμέρους μονάδες: Μονάδα αποκωδικοποίησης (Decoding Unit): Μετατρέπει τα "φυσικά" δεδομένα από τη μορφή υπό την οποία εισάγονται στον υπολογιστή στη "γλώσσα" που η Κ.Μ.Ε. μπορεί να "καταλάβει" και ονομάζεται "κώδικας μηχανής" (machine code). Μονάδα Αριθμητικής και Λογικής (Arithmetic and Logical Unit, ALU): Η υπομονάδα στην οποία εκτελούνται μία προς μία οι αριθμητικές ή λογικές πράξεις, όπως υπαγορεύονται από τις εντολές που έχουν δοθεί στον υπολογιστή.

Καταχωρητές (Registers): Μικρά στοιχεία μνήμης, που χρησιμοποιούνται για την προσωρινή αποθήκευση (καταχώρηση) των δεδομένων, καθώς αυτά υφίστανται επεξεργασία. Οι καταχωρητές διαφέρουν ανάλογα με τον τύπο της Κ.Μ.Ε. και τον κατασκευαστή της, τόσο ως προς την οργάνωση όσο και ως προς τη χωρητικότητά τους. Μονάδα ελέγχου (Control Unit): Ελέγχει τη ροή δεδομένων από και προς την ALU, τους καταχωρητές, τη μνήμη και τις περιφερειακές μονάδες εισόδου/εξόδου. Μονάδα προσκόμισης (Fetch Unit): Μεταφέρει τις εντολές από τη μνήμη στην Κ.Μ.Ε. πριν αυτές χρειαστούν, ώστε να είναι άμεσα διαθέσιμες προς χρήση. Μονάδα προστασίας (Protection Unit): Εξασφαλίζει το αποδεκτό της κάθε διεργασίας που εκτελεί η Κ.Μ.Ε., ώστε να μη τροποποιούνται δεδομένα που δεν πρέπει ή να μην εκτελούνται μη αποδεκτές εντολές, όπως, π.χ., διαίρεση αριθμού με το μηδέν. Τα πιο πάνω επιμέρους στοιχεία μιας Κ.Μ.Ε. αποτελούν τον πυρήνα της. Οι επεξεργαστές δεν σχετίζονται αποκλειστικά με τους ηλεκτρονικούς υπολογιστές καθώς πλέον ενσωματώνονται και σε πολλές ηλεκτρονικές συσκευές όπως κινητά τηλέφωνα, ψηφιακές φωτογραφικές μηχανές, βιντεοκάμερες, κονσόλες ηλεκτρονικών παιχνιδιών και άλλα. Για την ακρίβεια, επεξεργαστές ενσωματώνονται σε κάθε είδους συσκευή στην οποία απαιτείται ύπαρξη υπολογιστικής ικανότητας

7.2.2 Ιστορική αναδρομή των ΚΜΕ Η διάκριση μεταξύ ΚΜΕ και υπολογιστών ως σύνολο είναι πολύ δυσδιάκριτη στα πρώτα στάδια ανάπτυξης των υπολογιστών. Αρχικά δεν υπήρχε η έννοια της ΚΜΕ καθώς ο υπολογιστής ήταν στην ουσία μια μονάδα επεξεργασίας. Ο διαχωρισμός συνέβη αργότερα, όταν προστέθηκαν στους υπολογιστές επιπλέον εξαρτήματα όπως μνήμες, μονάδες εισόδου/εξόδου, δίαυλοι κ.α. 7.2.2.1 Λυχνίες κενού Η πρώτη γενιά ηλεκτρονικών υπολογιστών κατασκευαζόταν με λυχνίες κενού. Οι ηλεκτρονικοί υπολογιστές υπερτερούσαν σε ταχύτητα υπολογισμών έναντι της προηγούμενης γενιάς μηχανικών υπολογιστών, αλλά υστερούσαν σε αξιοπιστία. Κύρια αιτία της χαμηλής αξιοπιστίας ήταν οι λυχνίες, που παρουσίαζαν μεγάλο πρόβλημα υπερθέρμανσης με αποτέλεσμα οι υπολογιστές να καταρρέουν πολύ συχνά. Ο υπολογιστής λυχνιών ENIAC, που ολοκληρώθηκε το 1946, σηματοδοτεί την αρχή της πρώτης γενιάς υπολογιστών. Ο ENIAC προγραμματιζόταν από τον χρήστη (operator), αλλά η διαδικασία του προγραμματισμού ήταν εξαιρετικά δύσκολη, επίπονη και χρονοβόρα διαδικασία καθώς γινόταν σε φυσικό επίπεδο, ανοιγοκλείνοντας διακόπτες ή μετακινώντας καλώδια. Για να διευκολυνθεί η διαδικασία του προγραμματισμού, διατυπώθηκε από τον μαθηματικό Τζον φον Νόιμαν η ιδέα του αποθηκευμένου προγράμματος. Ο φον Νόιμαν δημοσίευσε την μελέτη του το 1945, προτείνοντας την κατασκευή ενός νέου υπολογιστή, του EDVAC, που θα εκτελούσε αποθηκευμένα προγράμματα. Με αυτόν τον

τρόπο η δημιουργία και η τροποποίηση ενός προγράμματος θα ήταν πιο εύκολη, μεταβάλλοντας απλώς τα περιεχόμενα της μνήμης. Ο EDVAC, που ολοκληρώθηκε τον Αύγουστο του 1949, μπορούσε να εκτελέσει ένα συγκεκριμένο σύνολο εντολών (instruction set). Συνδυάζοντας τις εντολές ο χρήστης δημιουργούσε ένα πρόγραμμα και το αποθήκευε στη μνήμη, περιμένοντας τον υπολογιστή να το εκτελέσει. Η πρότυπη σχεδίαση του EDVAC, που μείωσε δραματικά τον απαιτούμενο χρόνο προγραμματισμού, ονομάστηκε αρχιτεκτονική φον Νόιμαν, προς τιμήν του εμπνευστή και σχεδιαστή της. Παρόμοιες προσεγγίσεις, ανέπτυξαν και άλλοι επιστήμονες, όπως ο Άλαν Τούρινγκ και ο Κόνραντ Τσούζε. Αξιοσημείωτος είναι ο υπολογιστής Mark I του πανεπιστημίου Χάρβαρντ, που ολοκληρώθηκε πριν τον EDVAC και χρησιμοποιούσε επίσης ένα σχέδιο αποθήκευσης προγραμμάτων σε διάτρητη ταινία αντί για ηλεκτρονική μνήμη. Η σχεδίαση που προέκυψε από τον Mark I ονομάστηκε αρχιτεκτονική Χάρβαρντ και η βασική της διαφορά με την αρχιτεκτονική φον Νόιμαν είναι ότι διαχωρίζει τον χώρο αποθήκευσης εντολών και δεδομένων 7.2.2.2 Τρανζίστορ Εξ αρχής, οι υπολογιστές ήταν πεδίο έρευνας σε πανεπιστήμια και η ανάπτυξη χρηματοδοτούνταν από τις κυβερνήσεις. Η πρώτη σημαντική βελτίωση επιτεύχθηκε με την έλευση του τρανζίστορ, που δεν παρουσίαζε κανένα από τα μειονεκτήματα των λυχνιών. Οι υπολογιστές με τρανζίστορ ήταν πολύ μικρότεροι σε μέγεθος, δεν υπερθερμαίνονταν εύκολα και πραγματοποιούσαν υπολογισμούς πολύ πιο γρήγορα απ' ό,τι οι υπολογιστές με λυχνίες. Με την χρήση των τρανζίστορ μειώθηκε επίσης σημαντικά και η ηλεκτρική κατανάλωση των υπολογιστών. Οι νέοι

υπολογιστές υπερτερούσαν σε όλα τα επίπεδα και μέχρι τις αρχές του '60 είχαν αντικαταστήσει πλήρως την προηγούμενη γενιά. Η δεύτερη γενιά κατασκευαζόταν αποκλειστικά με τρανζίστορ ενώ ορισμένοι υπολογιστές ήταν δυνατό να προγραμματιστούν με συμβολική γλώσσα. Τα νέα θετικά στοιχεία προκάλεσαν το ενδιαφέρον ιδιωτικών εταιριών για τους υπολογιστές και τους επεξεργαστές. Με προσανατολισμό την κατασκευή υπολογιστών για εμπορικούς σκοπούς, επενδύθηκαν μεγάλα κεφάλαια για αυτοματοποίηση των εργασιών στις επιχειρήσεις. Σχεδιάστηκαν και κατασκευάστηκαν υπολογιστές με ταχύτερη μνήμη και καλύτερες μονάδες εισόδου και εξόδου δεδομένων. Λόγω των αυξανόμενων απαιτήσεων για περισσότερη υπολογιστική κατασκευάστηκαν τόσο μικροσκοπικά τρανζίστορ που δύσκολα γινόταν ορατά δια γυμνού οφθαλμού, ενώ σταδιακά άρχισαν να τα ενσωματώνουν σε πλακέτες. Οι πλακέτες, που κάθε μια επιτελούσε μια λειτουργία, κατασκευάζονταν αυτόνομα και έπειτα συναρμολογούνταν όλες μαζί. Η επιμέρους ανάπτυξη τμημάτων, που με την συναρμολόγηση τους παραγόταν ένας υπολογιστής, διέκρινε και την ΚΜΕ ως ξεχωριστή οντότητα από το σύνολο του υπολογιστή. 7.2.2.3 Ολοκληρωμένα κυκλώματα Το ολοκληρωμένο κύκλωμα (integrated circuit, IC), ή "τσιπ" (chip) όπως συχνά αναφέρεται, επιτελεί μια ολοκληρωμένη διαδικασία, με την έννοια ότι δέχεται δεδομένα και επιστρέφει αποτελέσματα. Κατασκευάζεται πάνω σε ένα μικροσκοπικό κομμάτι πυριτίου, που ως ημιαγωγός, μπορεί να ενθυλακώσει την λειτουργία των τρανζίστορ, των αντιστάσεων και των αγωγών ώστε αυτά να μην κατασκευάζονται πλέον ξεχωριστά. Πολλά τρανζίστορ κατασκευάζονται με ευκολία πάνω σε μια

λεπτή επιφάνεια πυριτίου ενώ τα κυκλώματα δημιουργούνται με την μέθοδο της επιμετάλλωσης. Αρχικά μόνο βασικά κυκλώματα, όπως οι πύλες NOR, κατασκευάζονταν σε ολοκληρωμένα κυκλώματα. Οι επεξεργαστές που κατασκευάστηκαν με απλά ολοκληρωμένα κυκλώματα κατατάσσονται ως συσκευές με μικρή κλίμακα ολοκλήρωσης. Μεταγενέστερα, τα κυκλώματα τυπώνονταν με πανομοιότυπο τρόπο σε μεγαλύτερες επιφάνειες και έπειτα κόβονταν σε ξεχωριστά τσιπς. Κάθε τσιπ, είχε λογικές πύλες, κύτταρα μνήμης και σημεία εισόδου και εξόδου δεδομένων. Μετά την κοπή τοποθετούνταν σε κάθε τσιπ ακροδέκτες (pins) ώστε να μπορεί να συνδέεται με άλλες συσκευές. Πολλά τσιπ που διασυνδέονταν πάνω σε μια πλακέτα δημιουργούσαν μεγαλύτερα και πιο πολύπλοκα κυκλώματα. Με αυτόν τον τρόπο κατασκευάστηκαν επεξεργαστές από κυκλώματα μεσαίας και μεγάλης κλίμακας ολοκλήρωσης. Με την εξέλιξη της μικροηλεκτρονικής, αυξήθηκε και ο αριθμός των τρανζίστορ που τοποθετούνταν σε ένα ολοκληρωμένο κύκλωμα, μειώνοντας παράλληλα και τον συνολικό αριθμό των ολοκληρωμένων που απαιτούνταν για την κατασκευή ενός επεξεργαστή. Χαρακτηριστικός αντιπρόσωπος της τρίτης γενιάς επεξεργαστών είναι οι υπολογιστές της αρχιτεκτονικής System/360 από την ΙΒΜ. Η εταιρεία προσπάθησε να ξεπεράσει την ασυμβατότητα που υπήρχε μεταξύ των υπολογιστών, ακόμη και κοινού κατασκευαστή, ώστε να εκτελείται ένα πρόγραμμα, χωρίς τροποποιήσεις, και από άλλους υπολογιστές με διαφορετική ταχύτητα και επιδόσεις. Για να το πετύχει αυτό, η IBM εισήγαγε την έννοια του μικροπρογράμματος (microprogram). Το σύνολο της αρχιτεκτονικής System/360 έγινε τόσο δημοφιλής που κυριάρχησε

στα συστήματα μεγάλης υπολογιστικής ισχύς (mainframes) για πολλές δεκαετίες και συνεχίζει να εφαρμόζεται με παρόμοιο τρόπο στους σύγχρονους 7.2.3 Μικροεπεξεργαστές Ο τρόπος κατασκευής των ΚΜΕ άλλαξε σημαντικά στην δεκαετία του 70, όταν κατασκευάστηκαν οι πρώτοι επεξεργαστές από ένα μόνο ολοκληρωμένο κύκλωμα μεγάλης ολοκλήρωσης. Επειδή μειώθηκε εκ νέου το μέγεθος, οι νέοι επεξεργαστές ονομάστηκαν μικροεπεξεργαστές, ενώ σήμερα ο όρος "ΚΜΕ" αναφέρεται αποκλειστικά σε αυτούς. Το μικρότερο μέγεθος μείωσε επίσης και τον χρόνο μεταγωγής λόγω των φυσικών παραγόντων. Έτσι οι σύγχρονοι μικροεπεξεργαστές έχουν συχνότητα ρολογιού που κυμαίνεται από εκατοντάδες megahertz έως αρκετά gigahertz. Παράλληλα, αυξήθηκε η πολυπλοκότητα και ο αριθμός των τρανζίστορ που αποτελούσαν ένα ολοκληρωμένο κύκλωμα. Ο ρυθμός αύξησης των τρανζίστορ περιγράφεται από τον νόμο του Μουρ, που ισχύει μέχρι σήμερα και προβλέπει τον διπλασιασμό του αριθμού των τρανζίστορ, που ενσωματώνονται σε ένα ολοκληρωμένο κύκλωμα, κάθε 18 μήνες.

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

Ινστιτούτο Προηγμένων Επιστημών στο Πανεπιστήμιο του Πρίνστον. Αυτές οι θεμελιώδεις αρχές, οι οποίες αναφέρονται παρακάτω, συνιστούν την αρχιτεκτονική φον Νόιμαν. Τα δεδομένα και οι εντολές των εκτελούμενων προγραμμάτων αποθηκεύονται σε μια μοναδική μνήμη εγγραφής-ανάγνωσης. Τα περιεχόμενα της μνήμης αυτής μπορούν να διευθυνσιοδοτηθούν κατά κελί, χωρίς να μας ενδιαφέρει ο τύπος των δεδομένων που περιέχεται εκεί. Η εκτέλεση των εντολών του προγράμματος πραγματοποιείται σειριακά (εκτός και αν υπάρχει ρητή διακλάδωση), από μια εντολή στην επόμενη.

Η αρχιτεκτονική von Neumann προβλέπει την ύπαρξη ενός επεξεργαστή, ο οποίος επικοινωνεί με τη μνήμη καθώς και με μια σειρά από συσκευές εισόδου/ εξόδου μέσω διαύλων. 7.2.5 Καταχωρητής Στην επιστήμη της αρχιτεκτονικής υπολογιστών, ο καταχωρητής είναι ένας τύπος μικρής αλλά πολύ γρήγορης μνήμης που βρίσκεται μέσα στο τσιπ του επεξεργαστή. Η μνήμη αυτή χρησιμοποιείται για την βελτίωση της ταχύτητας εκτέλεσης των διαφόρων προγραμμάτων, αφού σε αυτήν συνήθως αποθηκεύονται δεδομένα που χρησιμοποιούνται συνέχεια από τα προγράμματα. Στην περίπτωση αυτή ο καταχωρητής παρέχει πολύ γρήγορη πρόσβαση σε αυτά τα δεδομένα και έτσι το πρόγραμμα εκτελείται πιο γρήγορα. Οι περισσότεροι από τους σύγχρονους ηλεκτρονικούς υπολογιστές λειτουργούν σύμφωνα με την εξής λογική: μεταφέρουν δεδομένα από την κεντρική μνήμη στους καταχωρητές, κάνουν τις διάφορες πράξεις πάνω στα δεδομένα και στην συνέχεια μεταφέρουν το αποτέλεσμα από τους καταχωρητές πίσω στην κύρια μνήμη. Η τεχνική αυτή ονομάζεται load-store architecture. Ονομασίες Βασικών Καταχωρητών: Μετρητής Προγράμματος (Program Counter, PC) Καταχωρητής Εντολών (Instruction Register, IR) Καταχωρητής Διευθύνσεων Μνήμης (Memory Address Register, MAR) Καταχωρητής Δεδομένων Μνήμης (Memory Data Register, MDR) Συσσωρευτής (Accumulator, AC) ή Α, Β, C... Δείκτης Στοίβας (Stack Pointer, SP)

Index, Base, Offset Registers Καταχωρητής Κατάστασης (Status Register, SR) 7.2.6 Μνήμη Η μνήμη ενός ηλεκτρονικού υπολογιστή μπορεί να διαταχθεί σε μορφή πυραμίδας. Τα κατώτερα στρώματα της πυραμίδας προσφέρουν μεγαλύτερη αλλά πιο αργή μνήμη. Αντιθέτως, τα ανώτερα στρώματα της πυραμίδας προσφέρουν μικρότερη μνήμη αλλά πολύ πιο γρήγορη. Το κατώτατο στρώμα της πυραμίδας είναι οι μαγνητικές ταινίες και ανεβαίνοντας προς τα πάνω συναντά κανείς τους USB Flash δίσκους, τα CD-ROM ή DVD-ROM, τους σκληρούς δίσκους, την κύρια μνήμη RAM, την μνήμη L3 / L2 / L1 Cache του επεξεργαστή και τέλος τους καταχωρητές. Άρα λοιπόν οι καταχωρητές βρίσκονται στην κορυφή της πυραμίδας και προσφέρουν την πιο γρήγορη μνήμη που υπάρχει. Δυστυχώς όμως το μέγεθος της μνήμης αυτής είναι πολύ μικρό και περιορισμένο. 7.2.7 Κρυφή μνήμη ΚΜΕ Κρυφή μνήμη Κεντρικής Μονάδας Επεξεργασίας (CPU cache) γνωστή και ως ενδιάμεση μνήμη ή λανθάνουσα μνήμη ΚΜΕ ονομάζουμε τη μνήμη που χρησιμοποιείται από την Κεντρική μονάδα επεξεργασίας για να πετύχει ταχύτερη πρόσβαση στην κύρια μνήμη. Αυτή η μνήμη είναι γρηγορότερη, ακριβότερη και μικρότερη σε μέγεθος από την κύρια μνήμη. Είναι υψηλής ταχύτητας SRAM μνήμη, που χρησιμοποιείται μεταξύ της KME και της κύριας μνήμης. Εντολές και προγράμματα μπορούν να λειτουργήσουν σε υψηλότερες ταχύτητες αν βρεθούν στην cache. Εάν δεν βρεθούν, μια νέα σειρά εντολών φορτώνεται από την κύρια μνήμη.

7.2.8 Δίαυλοι υπολογιστή Η επικοινωνία μεταξύ των διαφόρων τμημάτων του υπολογιστή εκτελείται από ομάδες καλωδίων που ονομάζονται δίαυλοι (buses): Δίαυλος ελέγχου (control bus), Δίαυλος διευθύνσεων (address bus), Δίαυλος δεδομένων (data bus). Οι δίαυλοι είναι αγωγοί που ομαδοποιούνται σύμφωνα με την λειτουργία τους. Αν για παράδειγμα ένας δίαυλος είναι 32-bit σημαίνει ότι έχει 32 ξεχωριστούς αγωγούς, καθένας από τους οποίους μεταφέρει ένα bit δεδομένου. Υπό αυτήν την έννοια, ο δίαυλος συστήματος αποτελείται από ένα σύνολο ξεχωριστών διαύλων, ταξινομημένους σύμφωνα με την λειτουργία τους. Οι δίαυλοι αυτοί είναι ο δίαυλος διευθύνσεων, ο δίαυλος δεδομένων και ο δίαυλος ελέγχου. Ο δίαυλος δεδομένων μεταφέρει δεδομένα μεταξύ των μονάδων του υπολογιστικού συστήματος. Το μέγεθός του καθορίζει πόσα bit μπορεί να μεταφέρει ταυτόχρονα αλλά και το εύρος των αριθμών που μπορεί να χειριστεί ο επεξεργαστής. Ο επεξεργαστής Intel 8088, με δίαυλο δεδομένων των 8 bit, κατηγοριοποιείται ως οκτάμπιτος επεξεργαστής και μπορεί να χειριστεί 28 = 256 αριθμούς.

κόκκινο: δίαυλος διευθύνσεων μπλε: δίαυλος δεδομένων πράσινο: δίαυλος ελέγχου Στην περίπτωση εγγραφής δεδομένων στη μνήμη, ο δίαυλος διευθύνσεων περιέχει την διεύθυνση της θέσης μνήμης στην οποία θα αποθηκευτούν τα δεδομένα. Το μέγεθος του διαύλου διευθύνσεων καθορίζει και το μέγεθος της μνήμης που μπορεί να διευθυνσιοδοτήσει ο επεξεργαστής, δηλαδή την μνήμη που μπορεί να αντιληφθεί και να χρησιμοποιήσει. Για παράδειγμα στον 8088, που ο δίαυλος διευθύνσεων ήταν 20 bits, ο επεξεργαστής μπορούσε να προσπελάσει μέχρι 220 = 1.048.576 θέσεις μνήμης (1ΜΒ). Ο δίαυλος ελέγχου αποτελείται από αγωγούς με ξεχωριστή λειτουργία ο καθένας, οι οποίοι ελέγχουν τον τρόπο που επικοινωνεί ο επεξεργαστής με τα υπόλοιπα υποσυστήματα. Για παράδειγμα, όταν ο επεξεργαστής επικοινωνεί με την μνήμη ο δίαυλος ελέγχου προσδιορίζει την κατεύθυνση των δεδομένων με τα σήματα read ή write. 7.2.9 Χώρος διευθύνσεων

Χώρο διευθύνσεων ονομάζουμε ένα σύνολο διευθύνσεων κάποιον οντοτήτων. Αυτές οι οντότητες μπορεί να είναι κελιά της κύριας μνήμης, της εικονικής μνήμης, θύρες εισόδου/εξόδου, οι υπολογιστές ενός δικτύου. Έτσι για παράδειγμα δεδομένου μιας ΚΜΕ και τους εύρους του διαύλου διευθύνσεων της, πχ έστω 8 μπιτς, λέμε ότι ο χώρος διευθύνσεων μνήμης της ΚΜΕ είναι 2 8 = 256. Δηλαδή η ΚΜΕ μπορεί να 'δει' να απευθυνθεί σε 256 ξεχωριστά κελιά μνήμης. 7.2.10 Χρονισμός ρολογιού Οι περισσότερες κεντρικές μονάδες επεξεργασίας είναι σύγχρονες συσκευές. Είναι δηλαδή σχεδιασμένες να λειτουργούν σύμφωνα με ένα ηλεκτρικό σήμα συγχρονισμού, που ονομάζεται σήμα ρολογιού. Το ρολόι είναι ένας ηλεκτρικός τετραγωνικός παλμός που εκπέμπεται από τον δίαυλο ελέγχου και εναλλάσσεται περιοδικά μεταξύ μηδέν και ένα. Ο χρόνος που χρειάζεται το ρολόι για να μεταπηδήσει από το μηδέν στο ένα και πίσω στο μηδέν, ονομάζεται περίοδος ή κύκλος του ρολογιού. Η συχνότητα με την οποία γίνεται αυτή η εναλλαγή ονομάζεται συχνότητα ρολογιού. Η συχνότητα μετριέται σε Hertz (Hz) ενώ ο κύκλος, που είναι αντίστροφο μέγεθος της συχνότητας, μετριέται σε δευτερόλεπτα. Ο κύκλος ρολογιού είναι το μικρότερο χρονικό διάστημα στο οποίο μπορεί να συμβεί μια λειτουργία. Κάποιες λειτουργίες εκτελούνται σ' έναν κύκλο ρολογιού ενώ κάποιες άλλες χρειάζονται περισσότερους κύκλους. Το ρολόι δεν δουλεύει με την ίδια συχνότητα για όλες τις συσκευές ενός υπολογιστικού συστήματος. Συνήθως το ρολόι που απευθύνεται στον επεξεργαστή είναι χρονισμένο σε υψηλότερες συχνότητες από ότι για παράδειγμα το ρολόι της μνήμης. Αυτό συμβαίνει γιατί ο επεξεργαστής λειτουργεί ταχύτερα από ότι η μνήμη. Ωστόσο, υπάρχει το μειονέκτημα

πως όταν η ΚΜΕ αλληλεπιδρά με τις υπόλοιπες συσκευές περιμένει την απάντησή τους και τίθεται σε αδράνεια, χάνοντας έτσι επεξεργαστικούς κύκλους. Η συχνότητα του ρολογιού δεν είναι πλέον καθοριστικός παράγοντας για την υπολογιστή ισχύ ενός συστήματος. Οι σημερινοί επεξεργαστές επιτυγχάνουν συχνότητες της τάξης των τριών με τεσσάρων GigaHertz όμως η πραγματική αύξηση της υπολογιστικής ισχύς επιτεύχθηκε με εφαρμογή της παράλληλης επεξεργασίας. Τοποθετώντας σε ένα υπολογιστικό σύστημα δύο ΚΜΕ, οι κατασκευαστές κατάφεραν να αυξήσουν τις επιδόσεις ενώ ταυτόχρονα μείωσαν την συχνότητα του ρολογιού. 7.3 Αρχιτεκτονική Συνόλου Εντολών Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture, ISA), είναι η λογική αφαίρεση ενός υπολογιστικού συστήματος στο επίπεδο της Γλώσσας Μηχανής (ή της Γλώσσας Assembly χωρίς τις κλήσεις του Λειτουργικού Συστήματος). Είναι το προγραμματιστικό μοντέλο (η εικονική μηχανή) που αντιλαμβάνεται ο προγραμματιστής που προγραμματίζει σε αυτό το (χαμηλότερο δυνατό) επίπεδο. Περιλαμβάνει το σύνολο εντολών, τις μεθόδους διευθυνσιοδότησης (προσπέλασης μνήμης), τη διαχείριση καταχωρητών, τη κωδικοποίηση διευθύνσεων και δεδομένων, το μηχανισμό κλήσης ρουτινών, τη διαχείριση εισόδου/εξόδου, τη διαχείριση των καταστάσεων και σημάτων διακοπής του επεξεργαστή. Πρόκειται ουσιαστικά για το σύνορο μεταξύ

περιγραφής ενός υπολογιστικού συστήματος από πλευράς υλικού ή λογισμικού. Η βασική λειτουργία των περισσότερων επεξεργαστών, ανεξάρτητα από τη φυσική μορφή τους, είναι να εκτελούν ακολουθίες αποθηκευμένων εντολών. Η εντολή, στην πραγματικότητα, είναι ένας αριθμός ή μια ακολουθία αριθμών που αντιστοιχεί σε μια ενέργεια. 7.4 Μορφή και κωδικοποίηση Μια εντολή μπορεί να επεξεργαστεί δεδομένα ή να μεταβάλλει καταστάσεις στο εσωτερικό της ΚΜΕ. Αν είναι εντολή επεξεργασίας μπορεί να μεταφέρει, να προσθέσει, ή να συγκρίνει δεδομένα, ενώ αν είναι εντολή μεταβολής μπορεί να τροποποιήσει τον απαριθμητή προγράμματος και τον καταχωρητή ενδείξεων. Μεταβάλλοντας τον απαριθμητή προγράμματος μπορεί να αλλάξει η ροή εκτέλεσης του προγράμματος. Τέτοιες εντολές είναι γνωστές ως "άλματα" (jumps) και είναι ο βασικός τρόπος υλοποίησης των βρόχων επιλογής και επανάληψης. Ο καταχωρητής ενδείξεων περιέχει διακριτές καταστάσεις ελέγχου, όπως ο ενδείκτης υπερχείλισης. Οι ενδείκτες επηρεάζουν τον τρόπο με τον οποίο συμπεριφέρεται ένα πρόγραμμα, δεδομένου ότι συχνά αποτελούν αναφορά στα αποτελέσματα διαφόρων εργασιών. Κάθε εντολή περιλαμβάνει την λειτουργία που θα εκτελέσει, την πηγή των δεδομένων και την διεύθυνση της επόμενης εντολής. Όλες αυτές οι πληροφορίες κωδικοποιούνται σε ένα ή περισσότερα bytes ανάλογα με τον τύπο της εντολής. Για να προκύψουν όσο το δυνατόν λιγότερα bytes δεχόμαστε ότι η επόμενη εντολή ακολουθεί αμέσως μετά την τρέχουσα

εντολή. Έτσι συνήθως οι εντολές αποτελούνται από δύο τμήματα, το πρώτο τμήμα περιέχει τον κωδικό εντολής (operation code) και υποδηλώνει τη λειτουργία προς εκτέλεση, και το δεύτερο τμήμα περιέχει πληροφορίες που απαιτούνται για την εν λόγω εντολή, για παράδειγμα οι τελεστές για την λειτουργία της πρόσθεσης ή η διεύθυνση της επόμενης εντολής αν είναι εντολή διακλάδωσης. Για κάθε εντολή υπάρχει διαφορετική κωδικοποίηση. Ακόμη και στην ίδια εντολή, ανάλογα με τον τύπο τελεστών που χρησιμοποιεί, δηλαδή αν είναι καταχωρητές, θέσεις μνήμης ή απευθείας δεδομένα, υπάρχει διαφορετική κωδικοποίηση. Στην πραγματικότητα όλες οι εντολές είναι δυαδικοί αριθμοί που έχουν αντιστοιχηθεί σε μια λειτουργία. Για να γίνονται πιο κατανοητές οι εντολές συνήθως αναπαρίστανται είτε σε δεκαεξαδική μορφή είτε σε συμβολική γλώσσα. Για παράδειγμα η εντολή ADD C δηλώνει ότι θα προστεθεί το περιεχόμενο του καταχωρητή C με το περιεχόμενο του συσσωρευτή και το αποτέλεσμα θα αποθηκευτεί στον συσσωρευτή. Η αντίστοιχη δεκαεξαδική αναπαράσταση της εντολής αυτής είναι 81h, σε αρχιτεκτονικές x86. 7.5 Κύκλος εντολής Κύκλος εντολής είναι το διάστημα που απαιτείται για την ολοκλήρωση μιας εντολής και την έναρξη της επόμενης. Υπάρχουν τέσσερα στάδια για την ολοκλήρωση ενός κύκλου: η ανάκληση (fetch), η αποκωδικοποίηση (decode), η εκτέλεση (execute) και αποθήκευση του αποτελέσματος (store/writeback).

Κατά την ανάκληση, ανακτάται η εντολή από την θέση μνήμης που είναι αποθηκευμένη. Η θέση της εντολής στην μνήμη περιέχεται στον απαριθμητή προγράμματος. Όταν η εντολή μεταφερθεί από την μνήμη στον επεξεργαστή αποθηκεύεται στον καταχωρητή εντολών. Έπειτα αυξάνεται η τιμή του απαριθμητή προγράμματος, όσο είναι και το μήκος της εντολής σε μονάδες μνήμης, ώστε να υποδεικνύει την θέση της επόμενης εντολής ή την διεύθυνση των τελεστών σε περίπτωση που η τρέχουσα εντολή έχει τελεστές. Συχνά η εντολή προς ανάκληση καθυστερεί να μεταφερθεί από την μνήμη στον επεξεργαστή, λόγω ασύγχρονης λειτουργίας των δύο συσκευών, προκαλώντας παύση στην λειτουργία της ΚΜΕ. Για την αντιμετώπιση αυτού του προβλήματος, στους σύγχρονους επεξεργαστές γίνεται χρήση ενδιάμεσης μνήμης προσωρινής αποθήκευσης (cache) αλλά και τεχνικές σωλήνωσης (pipelining). Στο στάδιο της αποκωδικοποίησης, η εντολή διασπάται και ερμηνεύεται από τον επεξεργαστή. Ανάλογα με τον κωδικό εντολής, κατά την αποκωδικοποίηση, ανακαλούνται και τυχόν τελεστές. Η τιμή των τελεστών ανακαλείται είτε άμεσα ως σταθερά, είτε έμμεσα ως μια διεύθυνση στην οποία βρίσκεται αποθηκευμένη η τιμή, σε κάποιο καταχωρητή ή μνήμη, όπως ορίζει το εκάστοτε πρότυπο διευθυνσιοδότησης. Σε παλιότερα σχέδια επεξεργαστών, η αποκωδικοποίηση της εντολής ήταν μια αμετάβλητη διαδικασία που πραγματοποιούσε το υλικό. Ωστόσο, σε πιο περίπλοκες αρχιτεκτονικές

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

αποτελεσμάτων που προέκυψαν, ο κύκλος εντολής ολοκληρώνεται και επαναλαμβάνεται με την επόμενη εντολή, αφού αυξήθηκε ο απαριθμητής προγράμματος. Σε επεξεργαστές με πιο περίπλοκη αρχιτεκτονική, περισσότερες εντολές μπορεί να ανακαλούνται, να αποκωδικοποιούνται και να εκτελούνται ταυτόχρονα. 7.6 Μικροαρχιτεκτονική Μικροαρχιτεκτονική (Microarchitecture), είναι το αμέσως χαμηλότερο επίπεδο, πιο συγκεκριμένο και λεπτομερές από το επίπεδο Αρχιτεκτονικής Συνόλου Εντολών. Περιλαμβάνει τη λεπτομερή περιγραφή του τρόπου σύνδεσης, λειτουργίας και χρονισμού των συστατικών μερών (του υλικού), έτσι ώστε αυτά να υλοποιούν (εκτελούν στη κυριολεξία) το σύνολο των εντολών. Δηλαδή τη πλήρη περιγραφή του κύκλου Ανάκλησης Εκτέλεσης όλων των εντολών που υποστηρίζει ο υπολογιστής. Επίσης περιλαμβάνονται και θέματα Παραλληλισμού Επιπέδου Εντολής (Instruction Level Parallelism, ILP), δηλαδή αρχιτεκτονικές βελτιώσεις με στόχο την αύξηση της απόδοσης του επεξεργαστή.