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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 6 : Εκτέλεση πράξεων, Αρχιτεκτονική Η/Υ. Δρ.

Transcript:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Οργάνωση Υπολογιστών (Ι) (η κεντρική μονάδα επεξεργασίας) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης

Ένα τυπικό υπολογιστικό σύστημα σήμερα Στα σημερινά συστήματα ο όρος Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) αντιστοιχεί (περίπου) σε έναν επεξεργαστικό πυρήνα (CPU core). Οι σύγχρονοι επεξεργαστές διαθέτουν πολλούς επεξεργαστικούς πυρήνες. η νέα τάση: [2011] και το σύστημα γραφικών μέσα στον επεξεργαστή! οθόνη σύστημα γραφικών ποντίκι, πληκτρολόγιο, εκτυπωτές, σαρωτές... διασυνδετικός δίαυλος 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) έως 21 GB/s (dual-channel) 6ΜB/s DRAM οι ρυθμοί μεταφοράς που δίνονται είναι οι θεωρητικά μέγιστοι! Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 2... SATA σκληροί δίσκοι, CD/DVD, δικτυακή σύνδεση

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Central Processing Unit (CPU) Ή απλά πυρήνας ( core ) Εκτέλεση πράξεων στα δεδομένα Κύριες κατηγορίες πράξεων Αριθμητικές-λογικές πράξεις Μεταφορές δεδομένων από-προς τη μνήμη Συγκρίσεις και διακλάδωση υπό συνθήκη Επιλογή επιθυμητής πράξης Εντολές μηχανής (σειρές από bits) Πρόγραμμα: ακολουθία εντολών μηχανής Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 3

Τμήματα ΚΜΕ (CPU) ρολόι (clock) ΚΜΕ μονάδα ελέγχου επεξεργασία δεδομένων εντολές μηχανής δεδομένα εισόδου δεδομένα εξόδου από -προς σύστημα μνήμης Επεξεργασία δεδομένων Καθοδήγηση από τη μονάδα ελέγχου Βάσει του προγράμματος εκτέλεσης (εντολών) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 4

Επεξεργασία δεδομένων Μονοπάτι δεδομένων (Datapath) Ποιος εκτελεί τις πράξεις μεταξύ δεδομένων; Αριθμητικές-λογικές μονάδες (ΑΛΜ) Από πού προέρχονται τα δεδομένα εισόδου στις ΑΛΜ και πού αποθηκεύεται το αποτέλεσμα της πράξης; Καταχωρητές Μνήμη Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 5

Καταχωρητές (registers) καταχωρητές ALU Αριθμητική- Λογική Μονάδα Καταχωρητές Αυτόνομες θέσεις αποθήκευσης μέσα στην ΚΜΕ Μία λέξη δεδομένων Γρήγορη προσπέλαση Προσωρινή αποθήκευση δεδομένων Δεδομένα εισόδου και εξόδου ΑΛΜ (ALU)( Καταχωρητές γενικής χρήσης (general purpose) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 6

Έλεγχος εκτέλεσης εντολών Μονάδα ελέγχου (control( unit) Εκτέλεση εντολών μηχανής Ποια είναι η επόμενη προς εκτέλεση εντολή; Μετρητής προγράμματος (Program Counter PC ή Instruction Pointer IP) Πώς επιλέγεται η πράξη της και τα δεδομένα εισόδου εξόδου της; Αποκωδικοποίηση εντολών Με βάση τα bits κάθε εντολής δημιουργούνται σήματα ελέγχου λειτουργίας όλης της ΚΜΕ Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 7

Program Counter (PC) Καταχωρητής διεύθυνσης Ονομάζεται επίσης Instruction Pointer (IP) Διεύθυνση της επόμενης εντολής στη μνήμη Ανάκληση εντολής από μνήμη Αυτόματη αύξηση Δείχνει στην επόμενη θέση μνήμης (επόμενη εντολή) μετά την ανάκληση της τρέχουσας εντολής Ειδική περίπτωση: διακλάδωση Μετά από σύγκριση Φόρτωση του PC με διαφορετική τιμή Μεταφορά της ροής εκτέλεσης σε άλλο σημείο Υλοποίηση δομών if then else Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 8

Η σύγχρονη Κεντρική Μονάδα Επεξεργασίας μνήμη διεύθυνση εντολών επόμενης εντολές εντολής αποκωδικοποίηση λογική επόμενης εντολής PC καταχωρητές σήματα ελέγχου δεδομένα εισόδου πράξεων διεύθυνση μνήμης εντολές loadstore μνήμη δεδομένων δεδομέν α εγγαφής δεδομένα ανάγνωσης άλλες πράξεις ΑΛΜ πράξεις κινητής υποδιαστολής αποτελέσματα πράξεων ΑΛΜ ακέραιες πράξεις Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 9

Αρχιτεκτονική συνόλου εντολών Τι πρέπει να ξέρουμε για να προγραμματίσουμε έναν επεξεργαστή (instruction( set architecture ISA) Ποιες είναι οι διαθέσιμες εντολές Τύποι και προέλευση δεδομένων Ποιους καταχωρητές χρησιμοποιούμε Ποιο το μοντέλο της διαθέσιμης μνήμης Σήμερα: επίπεδο μοντέλο, ενιαίος χώρος μνήμης ανά πρόγραμμα, από τη διεύθυνση 0 έως τη μέγιστη δυνατή Πώς σχηματίζεται μια διεύθυνση μνήμης Πώς αντιδρά ο επεξεργαστής σε εξωτερικές διακοπές και καταστάσεις σφάλματος Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 10

Αρχιτεκτονικές συνόλου εντολών Υπολογιστές σύνθετου συνόλου εντολών Complex Instruction Set Computer (CISC) Μεγάλο σετ εντολών (σύνθετες λειτουργίες) Εύκολη συγγραφή προγραμμάτων Πολύπλοκη ΚΜΕ Υπολογιστές περιορισμένου σετ εντολών Reduced Instruction Set Computer (RISC) Μικρό σύνολο απλών εντολών (απλές λειτουργίες) Μεγαλύτερα προγράμματα Απλούστερη KME Μεγαλύτερη χρησιμοποίηση (παραλληλία) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 11

Η γλώσσα assembly Μνημονική αναπαράσταση των εντολών μηχανής Αντί να γράφουμε σειρές από 0 και 1... Κάθε εντολή assembly αντιστοιχεί σε μία συγκεκριμένη εντολή μηχανής Συγγραφή προγραμμάτων σε χαμηλό επίπεδο Π.χ. κώδικας αρχικοποίησης του υπολογιστή Ο κώδικας assembly είναι διαφορετικός ανά επεξεργαστή! Άλλο σετ εντολών, άλλα ονόματα καταχωρητών... Δεν μεταφέρεται το ίδιο πρόγραμμα assembly σε διαφορετικό επεξεργαστή (non-portable) Στα παραδείγματά μας: assembly x86-32bit (στα PCs) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 12

Τι περιγράφουν τα bits μιας εντολής μηχανής; opcode operand1 operand2.. operandn Περιγράφει το είδος της πράξης που θα εκτελεστεί Περιγράφουν την προέλευση των δεδομένων εισόδου (αριθμό καταχωρητή, διεύθυνση μνήμης κλπ) και τον προορισμό των δεδομένων εξόδου (αποτελέσματος πράξης) Το είδος της πράξης προσδιορίζει τον τύπο, των δεδομένων (π.χ. ακέραιοι ή δεκαδικοί) την προέλευση των δεδομένων (π.χ. από καταχωρητή ή από τη μνήμη) και τον αριθμό των δεδομένων που συμμετέχουν στην πράξη Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 13

Πηγές και προορισμός δεδομένων εντολών Από-προς καταχωρητές mov eax,ebx ebx Από-προς θέσεις μνήμης ; μετακίνησε το περιεχόμενο του ; καταχωρητή ebx στον eax cmp eax,[intlist+,[intlist+edi*4] ; σύγκρινε το περιεχόμενο ;του eax με θέση μνήμης διεύθυνση = σταθερά + τιμή καταχωρητή*σταθερά εκτός από το προηγούμενο παράδειγμα, η διεύθυνση μνήμης μπορεί να προκύψει και με άλλους συνδυασμούς! Από σταθερές μέσα στην εντολή add edi,33 ; αύξησε το περιεχόμενο του ; καταχωρητή edi κατά 33 ο αριθμός 33 βρίσκεται μέσα στα bits της εντολής Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 14

48 44 40 Η στοίβα (stack) διεύθυνση μνήμης 48 44 40 SP (=36) 36 32 A B SP SP (=32) (=28) 48 44 40 36 A push A, push B pop B Η ΚΜΕ παρέχει ειδικό καταχωρητή (stack pointer SP) και εντολές push και pop Η στοίβα δεν είναι ειδική μνήμη αλλά ένα εναλλακτικό μοντέλο προσπέλασης της κανονικής μνήμης Αποθήκευση διεύθυνσης επιστροφής από συναρτήσεις Αποθήκευση τοπικών μεταβλητών δομημένων γλωσσών Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 15

Εκτέλεση εντολών: ο κύκλος μηχανής Fetch: Φέρε την επόμενη εντολή προς εκτέλεση από τη μνήμη για πάντα! Decode: Αποκωδικοποίησε την εντολή (προετοίμασε τα σήματα ελέγχου και τις πηγές των δεδομένων) Execute: Εκτέλεσε την απαιτούμενη πράξη/λειτουργία Store: Αποθήκευσε τα αποτελέσματα (εάν απαιτείται) Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 16

Τα στάδια του κύκλου μηχανής 1. Ανάκληση εντολής (fetch) 2. Αποκωδικοποίηση σήματα ελέγχου εντολής (decode) μνήμη διεύθυνση εντολών επόμενης εντολές εντολής αποκωδικοποίηση 4. Αποθήκευση λογική αποτελέσματος (store) επόμενης εντολής PC καταχωρητές δεδομένα εισόδου πράξεων διεύθυνση μνήμης εντολές loadstore μνήμη δεδομένων δεδομέν α εγγαφής δεδομένα ανάγνωσης άλλες πράξεις ΑΛΜ πράξεις κινητής υποδιαστολής 3. Εκτέλεση αποτελέσματα πράξεων εντολής (execute) ΑΛΜ ακέραιες πράξεις Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 17

Διακοπές και Σφάλματα Ο κύκλος μηχανής επαναλαμβάνεται ντετερμινιστικά και συνεχώς Είτε με την επόμενη εντολή είτε με την εντολή μετά από διακλάδωση Εκτός αν συμβεί μια διακοπή ή ένα σφάλμα Διακοπή (interrupt): προκαλείται από εξωτερική συσκευή, οδηγώντας έναν ακροδέκτη εισόδου του επεξεργαστή από 0 σε 1 (ή ανάποδα). Σφάλμα (exception): κατά την εκτέλεση, λόγω π.χ. διαίρεσης δια 0, προσπέλασης άκυρης διεύθυνσης μνήμης κ.ά. Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 18

Αντίδραση σε διακοπές Διακόπτεται το εκτελούμενο πρόγραμμα Αφού ολοκληρωθεί η τρέχουσα εντολή Αποθηκεύονται στη στοίβα οι τιμές των καταχωρητών και ο Program Counter Δηλαδή, η κατάσταση του προγράμματος Η εκτέλεση μεταβαίνει σε προκαθορισμένη για κάθε είδους διακοπή θέση μνήμης Όπου το λειτουργικό σύστημα έχει τοποθετήσει μια διακλάδωση στη ρουτίνα εξυπηρέτησης της διακοπής (interrupt service routine ISR) Με την ολοκλήρωση της ρουτίνας εξυπηρέτησης, η εκτέλεση επιστρέφει στο πρόγραμμα που διακόπηκε Αφού αποκατασταθούν οι καταχωρητές Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 19

Σημαίες κατάστασης (flags) Μια ομάδα bits που αναφέρουν την κατάσταση της ΚΜΕ μετά την εκτέλεση μιας εντολής Κάθε εντολή επηρεάζει ορισμένα μόνο flags Τα πιο κοινά flags: (Z)ero flag = μηδενικό αποτέλεσμα (της προηγούμενης πράξης) (S)ign flag = αρνητικό αποτέλεσμα (C)arry flag = ύπαρξη τελικού κρατουμένου ο(v)erflow flag = ένδειξη υπερχείλισης Άλλα flags τίθενται από το πρόγραμμα για να ειδοποιήσουν την ΚΜΕ για μια επιλογή Π.χ. το (I)nterrupt flag δηλώνει αν επιτρέπουμε διακοπές ή όχι Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 20

Διακλάδωση υπό συνθήκη και flags Κάθε εντολή διακλάδωσης υπό συνθήκη εξετάζει ορισμένα flags για να αποφασίσει αν θα εκτελεστεί η διακλάδωση ή όχι Τα flags έχουν τεθεί από την αμέσως προηγούμενη εντολή Παράδειγμα: cmp edi,10 ; σύγκριση του περιεχομένου του ; καταχωρητή edi με το 10 ; η εντολή cmp θέτει ανάλογα τα Ζ, C, S και V flags jne again ; διακλάδωση εάν Ζ flag = 0 Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 21

Εικονική μνήμη ΚΜΕ (CPU) λογική διεύθυνση εντολές δεδομένα MMU φυσική διεύθυνση από -προς σύστημα μνήμης Ένα πρόγραμμα βλέπει λογικές διευθύνσεις Εικονική Μνήμη (virtual memory) Μετάφραση σε φυσικές διευθύνσεις μνήμης Από το σύστημα διαχείρισης μνήμης (memory management unit MMU) που βρίσκεται επίσης μέσα στον επεξεργαστή Ευκολία στη μεταγλώττιση εκτέλεση Προστασία δεδομένων διεργασιών Εικονική μνήμη μεγαλύτερη από τη φυσική Εισαγωγή στην Επιστήμη των Υπολογιστών Οργάνωση Υπολογιστών (Ι) 22

Παράδειγμα εντολών: εύρεση μεγίστου intlist+0 0A (10) +4 +8 +12 +16 +20 +24 +28 +32 +36 FD 1B 23 BD E4 07 FD 2Β (-3) (27) (35) (-67) (-28) (7) (-3) (43) (-1) _start: again: skip: 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