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

Σχετικά έγγραφα
Οργάνωση Υπολογιστών (Ι)

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

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

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

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

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

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

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

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

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

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

Κεντρική Μονάδα Επεξεργασίας. Επανάληψη: Απόδοση ΚΜΕ. ΚΜΕ ενός κύκλου (single-cycle) Παραλληλισμός σε επίπεδο εντολών. Υπολογιστικό σύστημα

Παραλληλισμός σε επίπεδο εντολών

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

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

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

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

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

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

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

Αρχιτεκτονικη υπολογιστων

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Διασύνδεση Εισόδου-Εξόδου

Το μάθημα συνοπτικά (1) Το μάθημα συνοπτικά (2) Τι είναι ένα υπολογιστικό σύστημα ;

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

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

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

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

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

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

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

Πληροφορική Ι. Μάθημα 6 ο Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας

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

Στοιχεία από Assembly Γιώργος Μανής

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

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

Μικροαρχιτεκτονική του LC3

Οργάνωση Η/Υ. Γλώσσα Assembly. Τμήμα Εφαρμσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας Α. Χατζηγεωργίου-Η. Σακελλαρίου

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

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

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

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

Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου. Ενδέκατη (11 η ) δίωρη διάλεξη.

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

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


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

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

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

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

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

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

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

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

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

ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών. Intel x86 ISA. Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών ΗΥ

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

Εικονική Μνήμη (1/2)

Οργάνωση Η/Υ. Γιώργος Δημητρίου. Μάθημα 2 ο Σύντομη Επανάληψη. Πανεπιστήμιο Θεσσαλίας - Τμήμα Πληροφορικής

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ. A. Μετατροπή αριθμών 1. Μετατροπή αριθμών από δεκαδικό σε δυαδικό σύστημα αρίθμησης

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

Αρχιτεκτονική Επεξεργαστών Ψ.Ε.Σ

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKO MHXANIK I O I Η/ Η Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Γ. Τσιατούχας ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ

ΠΛΕ- 027 Μικροεπεξεργαστές 7ο μάθημα: Αρχιτεκτονική πυρήνα: Πρόβλεψη διακλάδωσης, Εξαιρέσεις

Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy. Chapter 5. Ο επεξεργαστής: διαδρομή δεδομένων και μονάδα ελέγχου

Transcript:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Ένα τυπικό υπολογιστικό σύστημα σήμερα Στα σημερινά συστήματα ο όρος Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) αντιστοιχεί (περίπου) σε έναν επεξεργαστικό πυρήνα (CPU core). Οι σύγχρονοι επεξεργαστές διαθέτουν πολλούς επεξεργαστικούς πυρήνες. συχνά και το σύστημα γραφικών μέσα στον επεξεργαστή οθόνη σύστημα γραφικών ποντίκι, πληκτρολόγιο, εκτυπωτές, σαρωτές... διασυνδετικός δίαυλος PCIe (x16) έως 8GB/s USB έως 5Gbit/s CPU core north bridge south bridge έως 5ΜB/s CPU core > 90GB/s κρυφή μνήμη (3 ου επιπέδου) M-bus (mem bus) 25+ GB/s (multi-channel) SATA 6ΜB/s DRAM σκληροί δίσκοι, CD/DVD, δικτυακή σύνδεση οι ρυθμοί μεταφοράς που δίνονται είναι οι θεωρητικά μέγιστοι! Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 2... Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Central Processing Unit (CPU) Ή απλά πυρήνας ( core ) Εκτέλεση πράξεων στα Κύριες κατηγορίες πράξεων Αριθμητικές-λογικές Μεταφορές δεδομένων από-προς τη μνήμη Συγκρίσεις και διακλάδωση υπό συνθήκη Επιλογή επιθυμητής πράξης Εντολές μηχανής (σειρές από bits) Πρόγραμμα: ακολουθία εντολών μηχανής ρολόι (clock) ΚΜΕ μονάδα ελέγχου επεξεργασία δεδομένων μηχανής εισόδου εξόδου από -προς σύστημα μνήμης Επεξεργασία δεδομένων Καθοδήγηση από τη μονάδα ελέγχου μονάδα ελέγχου Βάσει του προγράμματος εκτέλεσης (εντολών) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 3 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 4

Επεξεργασία δεδομένων Καταχωρητές (registers) Μονοπάτι δεδομένων (Datapath) καταχωρητές Ποιος εκτελεί τις μεταξύ δεδομένων; Αριθμητικές-λογικές μονάδες () Από πού προέρχονται τα εισόδου στις και πού αποθηκεύεται το αποτέλεσμα της πράξης; Καταχωρητές Μνήμη Καταχωρητές ALU Αριθμητική- Λογική Μονάδα Αυτόνομες θέσεις αποθήκευσης μέσα στην ΚΜΕ Μία λέξη δεδομένων Γρήγορη προσπέλαση Προσωρινή αποθήκευση δεδομένων Δεδομένα εισόδου και εξόδου (ALU)( Καταχωρητές γενικής χρήσης (general purpose) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 5 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 6 Έλεγχος εκτέλεσης εντολών Program Counter (PC) Μονάδα ελέγχου (control( unit) Εκτέλεση εντολών μηχανής Ποια είναι η επόμενη προς εκτέλεση εντολή; Μετρητής προγράμματος (Program Counter PC ή Instruction Pointer IP) Πώς επιλέγεται η πράξη της και τα εισόδου εξόδου της; Αποκωδικοποίηση εντολών Με βάση τα bits κάθε εντολής δημιουργούνται σήματα ελέγχου λειτουργίας όλης της ΚΜΕ Καταχωρητής διεύθυνσης Ονομάζεται επίσης Instruction Pointer (IP) Διεύθυνση της επόμενης εντολής στη μνήμη Ανάκληση εντολής από μνήμη Αυτόματη αύξηση Δείχνει στην επόμενη θέση μνήμης (επόμενη εντολή) μετά την ανάκληση της τρέχουσας εντολής Ειδική περίπτωση: διακλάδωση Μετά από σύγκριση Φόρτωση του PC με διαφορετική τιμή Μεταφορά της ροής εκτέλεσης σε άλλο σημείο Υλοποίηση δομών if then else Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 7 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 8

Η σύγχρονη Κεντρική Μονάδα Επεξεργασίας διεύθυνση μνήμης loadstore σήματα ελέγχου δεδομέν α εγγαφής μνήμη δεδομένων ανάγνωσης λογική μνήμη διεύθυνση επόμενης εντολής εντολών PC επόμενης εντολής καταχωρητές αποκωδικοποίηση άλλες κινητής υποδιαστολής εισόδου πράξεων αποτελέσματα πράξεων ακέραιες Αρχιτεκτονική συνόλου εντολών Τι πρέπει να ξέρουμε για να προγραμματίσουμε έναν επεξεργαστή (instruction( set architecture ISA) Ποιες είναι οι διαθέσιμες Τύποι και προέλευση δεδομένων Ποιους καταχωρητές χρησιμοποιούμε Ποιο το μοντέλο της διαθέσιμης μνήμης Σήμερα: επίπεδο μοντέλο, ενιαίος χώρος μνήμης ανά πρόγραμμα, από τη διεύθυνση 0 έως τη μέγιστη δυνατή Πώς σχηματίζεται μια διεύθυνση μνήμης Πώς αντιδρά ο επεξεργαστής σε εξωτερικές διακοπές και καταστάσεις σφάλματος Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 9 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 10 Αρχιτεκτονικές συνόλου εντολών Η γλώσσα assembly Υπολογιστές σύνθετου συνόλου εντολών Complex Instruction Set Computer (CISC) Μεγάλο σετ εντολών (σύνθετες λειτουργίες) Εύκολη συγγραφή προγραμμάτων Πολύπλοκη ΚΜΕ Υπολογιστές περιορισμένου σετ εντολών Reduced Instruction Set Computer (RISC) Μικρό σύνολο απλών εντολών (απλές λειτουργίες) Μεγαλύτερα προγράμματα Απλούστερη KME Μεγαλύτερη χρησιμοποίηση (παραλληλία) Μνημονική αναπαράσταση των εντολών μηχανής Αντί να γράφουμε σειρές από 0 και 1... Κάθε εντολή assembly αντιστοιχεί σε μία συγκεκριμένη εντολή μηχανής Συγγραφή προγραμμάτων σε χαμηλό επίπεδο Π.χ. κώδικας αρχικοποίησης του υπολογιστή Ο κώδικας assembly είναι διαφορετικός ανά επεξεργαστή! Άλλο σετ εντολών, άλλα ονόματα καταχωρητών... Δεν μεταφέρεται το ίδιο πρόγραμμα assembly σε διαφορετικό επεξεργαστή (non-portable) Στα παραδείγματά μας: assembly x86-32bit (στα PCs) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 11 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 12

Τι περιγράφουν τα bits μιας εντολής μηχανής; Πηγές και προορισμός δεδομένων εντολών opcode operand1 operand2.. operandn Περιγράφει το είδος της πράξης που θα εκτελεστεί Περιγράφουν την προέλευση των δεδομένων εισόδου (αριθμό καταχωρητή, διεύθυνση μνήμης κλπ) και τον προορισμό των δεδομένων εξόδου (αποτελέσματος πράξης) Το είδος της πράξης προσδιορίζει τον τύπο, των δεδομένων (π.χ. ακέραιοι ή δεκαδικοί) την προέλευση των δεδομένων (π.χ. από καταχωρητή ή από τη μνήμη) και τον αριθμό των δεδομένων που συμμετέχουν στην πράξη Από-προς καταχωρητές mov eax,ebx ebx ; μετακίνησε το περιεχόμενο του ; καταχωρητή ebx στον eax Από-προς θέσεις μνήμης cmp eax,[intlist+,[intlist+edi*4] ; σύγκρινε το περιεχόμενο ;του eax με θέση μνήμης διεύθυνση = σταθερά + τιμή καταχωρητή*σταθερά εκτός από το προηγούμενο παράδειγμα, η διεύθυνση μνήμης μπορεί να προκύψει και με άλλους συνδυασμούς! Από σταθερές μέσα στην εντολή add edi,33 ; αύξησε το περιεχόμενο του ; καταχωρητή edi κατά 33 ο αριθμός 33 βρίσκεται μέσα στα bits της εντολής Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 13 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 14 48 44 40 Η στοίβα (stack) διεύθυνση μνήμης 48 44 40 SP (=36) 36 32 A B SP SP (=32) (=28) push A, push B pop B 48 44 40 36 Η ΚΜΕ παρέχει ειδικό καταχωρητή (stack pointer SP) και push και pop Η στοίβα δεν είναι ειδική μνήμη αλλά ένα εναλλακτικό μοντέλο προσπέλασης της κανονικής μνήμης Αποθήκευση διεύθυνσης επιστροφής από συναρτήσεις Αποθήκευση τοπικών μεταβλητών δομημένων γλωσσών A Εκτέλεση εντολών: ο κύκλος μηχανής για πάντα! Fetch: Φέρε την επόμενη εντολή προς εκτέλεση από τη μνήμη Decode: Αποκωδικοποίησε την εντολή (προετοίμασε τα σήματα ελέγχου και τις πηγές των δεδομένων) Execute: Εκτέλεσε την απαιτούμενη πράξη/λειτουργία Store: Αποθήκευσε τα αποτελέσματα (εάν απαιτείται) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 15 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 16

διεύθυνση μνήμης loadstore Τα στάδια του κύκλου μηχανής 4. Αποθήκευση λογική αποτελέσματος (store) 1. Ανάκληση μνήμη διεύθυνση επόμενης εντολής εντολής (fetch) εντολών PC επόμενης εντολής καταχωρητές αποκωδικοποίηση 2. Αποκωδικοποίηση σήματα ελέγχου εντολής (decode) δεδομέν α άλλες κινητής υποδιαστολής εγγαφής μνήμη 3. Εκτέλεση αποτελέσματα πράξεων δεδομένων εντολής (execute) ανάγνωσης εισόδου πράξεων ακέραιες Διακοπές και Σφάλματα Ο κύκλος μηχανής επαναλαμβάνεται ντετερμινιστικά και συνεχώς Είτε με την επόμενη εντολή είτε με την εντολή μετά από διακλάδωση Εκτός αν συμβεί μια διακοπή ή ένα σφάλμα Διακοπή (interrupt): προκαλείται από εξωτερική συσκευή, οδηγώντας έναν ακροδέκτη εισόδου του επεξεργαστή από 0 σε 1 (ή ανάποδα). Σφάλμα (exception): κατά την εκτέλεση, λόγω π.χ. διαίρεσης δια 0, προσπέλασης άκυρης διεύθυνσης μνήμης κ.ά. Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 17 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 18 Αντίδραση σε διακοπές Σημαίες κατάστασης (flags) Διακόπτεται το εκτελούμενο πρόγραμμα Αφού ολοκληρωθεί η τρέχουσα εντολή Αποθηκεύονται στη στοίβα οι τιμές των καταχωρητών και ο Program Counter Δηλαδή, η κατάσταση του προγράμματος Η εκτέλεση μεταβαίνει σε προκαθορισμένη για κάθε είδους διακοπή θέση μνήμης Όπου το λειτουργικό σύστημα έχει τοποθετήσει μια διακλάδωση στη ρουτίνα εξυπηρέτησης της διακοπής (interrupt service routine ISR) Με την ολοκλήρωση της ρουτίνας εξυπηρέτησης, η εκτέλεση επιστρέφει στο πρόγραμμα που διακόπηκε Αφού αποκατασταθούν οι καταχωρητές Μια ομάδα bits που αναφέρουν την κατάσταση της ΚΜΕ μετά την εκτέλεση μιας εντολής Κάθε εντολή επηρεάζει ορισμένα μόνο flags Τα πιο κοινά flags: (Z)ero flag = μηδενικό αποτέλεσμα (της προηγούμενης πράξης) (S)ign flag = αρνητικό αποτέλεσμα (C)arry flag = ύπαρξη τελικού κρατουμένου ο(v)erflow flag = ένδειξη υπερχείλισης Άλλα flags τίθενται από το πρόγραμμα για να ειδοποιήσουν την ΚΜΕ για μια επιλογή Π.χ. το (I)nterrupt flag δηλώνει αν επιτρέπουμε διακοπές ή όχι Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 19 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 20

Διακλάδωση υπό συνθήκη και flags Κάθε εντολή διακλάδωσης υπό συνθήκη εξετάζει ορισμένα flags για να αποφασίσει αν θα εκτελεστεί η διακλάδωση ή όχι Τα flags έχουν τεθεί από την αμέσως προηγούμενη εντολή Παράδειγμα: cmp edi,10 ; σύγκριση του περιεχομένου του ; καταχωρητή edi με το 10 ; η εντολή cmp θέτει ανάλογα τα Ζ, C, S και V flags jne again ; διακλάδωση εάν Ζ flag = 0 Εικονική μνήμη ΚΜΕ (CPU) λογική διεύθυνση MMU φυσική διεύθυνση από -προς σύστημα μνήμης Ένα πρόγραμμα βλέπει λογικές διευθύνσεις Εικονική Μνήμη (virtual memory) Μετάφραση σε φυσικές διευθύνσεις μνήμης Από το σύστημα διαχείρισης μνήμης (memory management unit MMU) που βρίσκεται επίσης μέσα στον επεξεργαστή Ευκολία στη μεταγλώττιση εκτέλεση Προστασία δεδομένων διεργασιών Εικονική μνήμη μεγαλύτερη από τη φυσική Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 21 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 22 Παράδειγμα εντολών: εύρεση μεγίστου intlist+0 0A (10) _start: again: skip: +4 +8 +12 +16 +20 +24 +28 +32 +36 FD 1B (-3) (27) 23 BD (27) (35) (-67) E4 07 (-67) (-28) (7) FD 2Β (7) (-3) (43) (43) (-1) mov eax,[intlist] ; maxint = intlist[0] mov edi,1 ; i = 1 (2nd item of list) cmp eax,[intlist+,[intlist+edi*4] ; compare maxint with intlist[i] jge skip ; if maxint>=intlist[i] continue mov eax,[intlist+,[intlist+edi*4] ; else, maxint = intlist[i] add edi,1 ; i += 1 cmp edi,10 ; compare i with length(intlist) jne again ; if i!=length(intlist), loop again Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 23 Επεξηγήσεις Στην προηγούμενη διαφάνεια: Λίστα 10 ακεραίων (32 bits) Κάθε στοιχείο απέχει 4 bytes από το προηγούμενο Η γλώσσα assembly ανήκει στην αρχιτεκτονική x86 (των PCs μας) eax και edi είναι ονόματα καταχωρητών 32-bit Οι αγκύλες [..] υποδηλώνουν προσπέλαση μνήμης Το πρόγραμμα μπορεί να γραφεί και με πιο αποδοτικό τρόπο Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 24