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



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

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

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

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

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

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

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

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

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

Καταχωρητές & τμήματα μνήμης του Ματθές Δημήτριος Καθηγητής Πληροφορικής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 3

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

Σημειώσεις για τον 80x86

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

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

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

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

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

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

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

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

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

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

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

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

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

και η µονάδα ελέγχου (control) O επεξεργαστής: Η δίοδος δεδοµένων (datapath) Εντολές διακλάδωσης (branch beq, bne) I Type Σχεδίαση datapath

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Πρόσθεση Πολλαπλασιασμός 4. Πρόσθεση στο πρότυπο ΙΕΕΕ Πολλαπλασιασμός στο πρότυπο ΙΕΕΕ

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

Θ. Ζαχαριάδης Αν. Καθηγητής. Λ. Σαράκης Καθ. Εφαρμογών

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

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

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

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

Ας ξεκινήσουμε. Macro-instructions. (Assembly level) Micro-instructions Main memory. (micro-code)

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

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

ΠΛΕ- 027 Μικροεπεξεργαστές 6ο μάθημα: Αρχιτεκτονική πυρήνα: υλοποίηση με διοχέτευση

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

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

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

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

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

Ο 8086 µπορεί να θεωρηθεί ότι αποτελείται από δύο τµήµατα επεξεργαστές, όπως φαίνεται και στο σχήµα 1, οι οποίοι είναι:

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

Εφαρμογές μικροελεγκτών

O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control)

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

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

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

σύνθεση και απλοποίησή τους θεωρήµατα της άλγεβρας Boole, αξιώµατα του Huntington, κλπ.

Υ- 01 Αρχιτεκτονική Υπολογιστών Υπόβαθρο: Διοχέτευση

Εντολές γλώσσας μηχανής

Transcript:

Εισαγωγή Εργαστήριο 3 ΟΡΓΑΝΩΣΗ ΤΗΣ ΚΜΕ Σκοπός του εργαστηρίου είναι να γνωρίσουµε την εσωτερική δοµή και αρχιτεκτονική της κεντρικής µονάδας επεξεργασίας, να κατανοήσουµε τον τρόπο µε τον οποίο λειτουργεί σε ένα υπολογιστικό σύστηµα, και συγκεκριµένα τον τρόπο µε τον οποίο εκτελεί τα προγράµµατα. Ο Επεξεργαστής 1 Ψηφιακή Λογική 2 Λογικά Κυκλώµατα 3 Οργάνωση της ΚΜΕ 4 ιαχείριση Μνήµης 5 Προγραµµατισµός σε Συµβολική Γλώσσα 6 Η Γλώσσα Assembly των Επεξεργαστών της Intel 7 Intel Assembly Λογικές Πράξεις 8 Intel Assembly Έλεγχος Ροής 9 Intel Assembly ιευθυνσιοδότηση Μνήµης 10 Intel Assembly Υπορουτίνες & Μακροεντολές 11 Χρήση της Assembly µε την C/C++ 12 Ολοκληρωµένα Συστήµατα - Εφαρµογές Όπως γνωρίζουµε ο επεξεργαστής (ΚΜΕ) είναι η βασικότερη µονάδα σε ένα υπολογιστικό σύστηµα, και αυτό διότι αυτή είναι η µονάδα η οποία επεξεργάζεται άµεσα ή έµµεσα σχεδόν όλα τα δεδοµένα που εισάγονται ή εξάγονται από το υπολογιστικό σύστηµα. Αυτό που χαρακτηρίζει αυτή την µονάδα είναι η µεγάλη ταχύτητα (ή συχνότητα) µε την οποία επεξεργάζεται τα διάφορα δεδοµένα και εκτελεί τις εντολές. Μια τυπική δοµή επεξεργαστή δίνεται στο παρακάτω σχήµα: 1

Βασικές µονάδες του επεξεργαστή Ορισµένες από τις βασικές µονάδες εσωτερικά της ΚΜΕ είναι οι ακόλουθες: Αριθµητική Λογική Μονάδα (Arithmetic Logic Unit ALU): -εκτελεί τις βασικές αριθµητικές και λογικές πράξεις Μονάδα ελέγχου (Control Unit CU): -πραγµατοποιεί τον έλεγχο και συντονισµό των εσωτερικών µονάδων της ΚΜΕ Μονάδα εισόδου/εξόδου (Input/Output Unit): -πραγµατοποιεί την µεταφορά δεδοµένων/εντολών και αποτελεσµάτων µεταξύ των µονάδων της ΚΜΕ και της µνήµης Καταχωρητές (Registers): -µονάδες ταχείας αποθήκευσης δεδοµένων Συσσωρευτές (Accumulators): -µονάδες µνήµης για την αποθήκευση δεδοµένων και ενδιάµεσων αποτελεσµάτων Απαριθµητής Προγράµµατος (Program Counter PC): -απαριθµεί τις εντολές του προγράµµατος προς εκτέλεση Καταχωρητής διεύθυνσης µνήµης (Memory address register -MAR): -περιέχει τη διεύθυνση δεδοµένων/εντολών στη µνήµη Καταχωρητής δεδοµένων µνήµης (Memory data register MDR/Latch): - περιέχει τα δεδοµένα/εντολές από/προς τη µνήµη Καταχωρητής (τρέχουσας) εντολής (Instruction Register IR): - περιέχει την τρέχουσα εντολή που εκτελείται τη δεδοµένη χρονική στιγµή Καταχωρητές δείκτη (index registers): -χρησιµοποιούνται στον έλεγχο των βρόχων των προγραµµάτων και στις µεθόδους προσπέλασης της µνήµης Καταχωρητές βάσης και τµήµατος (base and segment registers): - χρησιµοποιούνται στις µεθόδους προσπέλασης της µνήµης Καταχωρητές γενικής χρήσης (general purpose registers): - µπορούν να χρησιµοποιηθούν ως συσσωρευτές, καταχωρητές δείκτη, κλπ. Καταχωρητής κατάστασης (status register): -το κάθε bit αντιστοιχεί σε µια σηµαία (flag) η οποία περιγράφει κάποια κατάσταση που έχει προκύψει. Εάν θέλαµε για παράδειγµα να παρακολουθήσουµε σε κάποιο βαθµό τη ροή των δεδοµένων/εντολών σε ένα τυπικό σύστηµα επεξεργαστή (µε βάση το παραπάνω σχήµα), θα µπορούσαµε να εκτελέσουµε ένα µικρό παράδειγµα πρόσθεσης των περιεχοµένων ενός καταχωρητή (π.χ. RegD) στα περιεχόµενα ενός συσσωρευτή (AccA), το οποίο σε συµβολική µορφή θα µπορούσε να έχει ως εξής: ADD AccA, RegD. Ξεκινάµε λοιπόν υποθέτοντας ότι ο καταχωρητής εντολών (IR -Instructions Register) ήδη περιέχει την παραπάνω εντολή ADD, όπως και η µονάδα του συσσωρευτή και καταχωρητή τα δεδοµένα. Στη συνέχεια τα περιεχόµενα του συσσωρευτή και καταχωρητή αντίστοιχα, αφού τοποθετηθούν (τα αντίγραφά τους) στον εσωτερικό δίαυλο δεδοµένων, µεταφέρονται στους προσωρινούς καταχωρητές (Temp1 και Temp2) της αριθµητικής λογικής µονάδας (ALU). Στη συνέχεια η ALU παίρνει την εντολή να προσθέσει τα δεδοµένα στις θύρες εισόδου της, και το αποτέλεσµα που 2

προκύπτει αποθηκεύεται στον συσσωρευτή AccA. Το αποτέλεσµα της πρόσθεσης είναι τώρα στον συσσωρευτή. Μια σχηµατική απεικόνιση των παραπάνω (το µοντέλο προγραµµατισµού µε την οµάδα καταχωρητών) σε επεξεργαστές των 16 και 32 bit της Intel (8088, 8086, 80286, 80386, 80486 και Pentium) δίνεται στο παρακάτω σχήµα: Καταχωρητές γενικής χρήσης 15 AH BH CH DH 8 7 SI DI BP SP AL BL CL DL 0 Καταχωρητής πηγής Καταχωρητής προορισµού είκτης βάσης είκτης σωρού 31 EAX 16 15 AH 8 7 AL 0 EBX BH BL ECX CH CL EDX DH DL ESI SI EDI DI EBP BP ESP SP Καταχωρητές τµηµάτων CS SS DS ES Τµήµα κώδικα Τµήµα σωρού Τµήµατα δεδοµένων CS SS DS ES FS GS IP Οµάδα καταχωρητών βάσης 8088, 8086 και 286 είκτης εντολής Καταχωρητής flag 31 16 15 0 IP Flags E Flags H Flags L Οµάδα καταχωρητών βάσης 386, 486 και Pentium Περισσότερα σχετικά µε την ροή των δεδοµένων και την εκτέλεση των εντολών στο εσωτερικό του επεξεργαστή θα δούµε και αργότερα στα εργαστήρια συµβολικού προγραµµατισµού. Κύκλος ανάκλησης και εκτέλεσης εντολής Οι εντολές µηχανής που εκτελούνται σε έναν επεξεργαστή ολοκληρώνονται σε µια σειρά φάσεων που αποτελούν τον κύκλο εντολής: Ξεκινώντας (α) µε τη φάση ανάκλησης που φέρνει την εντολή από τη µνήµη, συνεχίζοντας (β) µε τη φάση αποκωδικοποίησης που µεταφράζει τη λέξη εντολής σε µια σειρά από σήµατα ελέγχου, (γ) µε τη φάση ανάγνωσης τελούµενων που φέρνει τα τελούµενα εισόδου αν υπάρχουν από το φάκελο καταχωρητών ή από τη µνήµη, (δ) µε τη φάση εκτέλεσης, που έχοντας ολοκληρώσει την προσκόµιση των τελούµενων εισόδου, προχωρά στην εκτέλεση της εντολής, και τελειώνοντας (ε) µε τη φάση αποθήκευσης που αποθηκεύει το αποτέλεσµα αν υπάρχει στο φάκελο καταχωρητών ή στη µνήµη. Υπενθυµίζουµε ότι κάθε επεξεργαστής έχει το δικό του κύκλο εντολής, και η σειρά φάσεων που περιγράψαµε στο µάθηµα και επαναλάβαµε πιο πάνω είναι µια βασική σειρά, της οποίας παραλλαγές υλοποιούν οι περισσότεροι επεξεργαστές. Παρακάτω δίνονται συνοπτικά τα βήµατα ανάκλησης και εκτέλεσης εντολών: 3

1. Προσκοµίζεται (fetch) η επόµενη εντολή από τη µνήµη στον καταχωρητή εντολών (instruction -> IR). 2. Μεταβάλλεται ο µετρητής προγράµµατος, ώστε να δείχνει στην επόµενη εντολή (increment PC). 3. Προσδιορίζεται ο τύπος της εντολής που προσκοµίστηκε (decode). 4. Εάν η εντολή ακολουθείτε από ορίσµατα προσδιορίζεται η θέση τους στη µνήµη (PC -> MAR) και προσκοµίζονται από τη µνήµη σε ένα καταχωρητή της ΚΜΕ (MBR -> accumulator). 5. Εκτελείται η εντολή (execute). Μια σχηµατική απεικόνιση των παραπάνω δίνεται στο παρακάτω σχήµα: Ανάκληση από τη µνήµη Αποκωδικοποίηση Ανάγνωση τελούµενων (προαιρετικά) Εκτέλεση Αποθήκευση αποτελέσµατος (προαιρετικά) ΠΑΡΑ ΕΙΓΜΑ 1 Αριθµείστε τις παρακάτω φάσεις του κύκλου εντολής µιας αρχιτεκτονικής RISC µε τη λογική σειρά που διαδέχεται η µία την άλλη, σε µια εντολή αποθήκευσης στη µνήµη (σηµειώστε αν η φάση δεν περιλαµβάνεται στη συγκεκριµένη εντολή): Ανάγνωση τελούµενων από Καταχωρητή/τές 3 Ανάκληση από τη µνήµη εντολών 1 Εκτέλεση/Υπολογισµός τελικής διεύθυνσης 4 Προσπέλαση µνήµης δεδοµένων 5 Αποθήκευση αποτελέσµατος σε Καταχωρητή/τές - Αποκωδικοποίηση 2 ΠΑΡΑ ΕΙΓΜΑ 2 Έστω η παράσταση SUM = NUM1 + NUM2 (υποτίθεται σε δυαδική µορφή προς εκτέλεση) η οποία σε συµβολική µορφή θα µπορούσε να έχει ως εξής στη µνήµη: διεύθυνση περιεχόµενα 100: Load -φόρτωσε δεδοµένα 101: 1A16 4

102: Add -πρόσθεσε δεδοµένα 103: 1B16 104: Store -αποθήκευσε δεδοµένα 105: 1C16 Ο αριθµός NUM1 είναι στη διεύθυνση 1A16 Ο αριθµός NUM2 είναι στη διεύθυνση 1B16 Το αποτέλεσµα SUM θα αποθηκευτεί στη διεύθυνση 1C16 Υποθέτουµε ότι κάθε εντολή έχει εύρος 2 bytes (κώδικας λειτουργίας και τελεστέος) Περιγράψτε τα βήµατα του κύκλου ανάκλησης-εκτέλεσης εντολών. Τα βήµατα εκτέλεσης των εντολών του παραπάνω προγράµµατος θα µπορούσαν να έχουν ως εξής: 1. Fetch τα περιεχόµενα της διεύθυνσης100 που είναι η εντολή Load => IR. 2. Αυξάνει τον PC -> $101. 3. Αποκωδικοποιείται η εντολή Load, συνεπώς στο επόµενο βήµα προσκοµίζεται και ο τελεστέος (ο αριθµός NUM1 που είναι στην 1A16). 4. i) PC ($101) => MAR, ii) Μνήµη (περιεχόµενο της $101) => MBR, iii) MBR (1A16) => MAR, iii) Μνήµη (περιεχόµενο της 1A16) => MBR iv) MBR (NUM1) => Accumulator A. 5. Εκτελείται η εντολή. 1. Fetch τα περιεχόµενα της διεύθυνσης102 που είναι η εντολή Add => IR. 2. Αυξάνει τον PC -> $103. 3. Αποκωδικοποιείται η εντολή Add, συνεπώς στο επόµενο βήµα προσκοµίζεται και ο τελεστέος (ο αριθµός NUM2 που είναι στην 1B16). 4. i) PC ($103) => MAR, ii) Μνήµη (περιεχόµενο της $103) => MBR, iii) MBR (1B16) => MAR, iii) Μνήµη (περιεχόµενο της 1B16) => MBR iv) MBR (NUM2) => Accumulator 5. Εκτελείται η εντολή (πρόσθεση των δεδοµένων NUM1 + NUM2 στον Acc). 1. Fetch τα περιεχόµενα της διεύθυνσης104 που είναι η εντολή Store => IR. 2. Αυξάνει τον PC -> $105. 3. Αποκωδικοποιείται η εντολή Store, συνεπώς στο επόµενο βήµα προσκοµίζεται και ο τελεστέος (η διεύθυνση αποθήκευσης στη µνήµη 1C16). 4. i) PC ($105) => MAR, ii) Μνήµη (περιεχόµενο της $105) => MBR, iii) MBR (1C16) => MAR, iii) Acc (περιεχόµενο του Acc) => MBR, iv) MBR (το περιεχόµενο του Acc) => Μνήµη 5. Εκτελείται η εντολή. ΠΑΡΑ ΕΙΓΜΑ 3 Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών συµβολικής γλώσσας σε σχέση µε τις φάσεις ανάκλησης και εκτέλεσης της εντολής: 1. LOADW $2, 100($7) : όπου LOADW (Load Word) και $2 = MEM[$7 + 100] 2. ADD $3, $2, 200 : όπου ADD (εντολή πρόσθεσης) και $3 = $2 + 200 5

Με βάση τις παραπάνω φάσεις του κύκλου εντολής, και για τη δεδοµένη ακολουθία εντολών, ο επεξεργαστής ξεκινά µε την ανάκληση της πρώτης εντολής (1) από τη µνήµη. Στη συνέχεια αποκωδικοποιεί την εντολή που µόλις διάβασε, αναγνωρίζοντας την εντολή φόρτωσης µιας λέξης δεδοµένων από τη µνήµη. Με τη φάση ανάγνωσης τελούµενων διαβάζει τον καταχωρητή $7, ενώ µε την επόµενη φάση προσθέτει το περιεχόµενο του καταχωρητή αυτού µε τη σταθερά 100, για να υπολογίσει την τελική διεύθυνση προσπέλασης και να τη στείλει στη µονάδα διαχείρισης µνήµης για ανάγνωση. Η µονάδα διαχείρισης µνήµης επιστρέφει το ζητούµενο δεδοµένο, ώστε ο επεξεργαστής να το αποθηκεύσει στον καταχωρητή $2 µε την τελευταία φάση του κύκλου εντολής. Η δεύτερη εντολή (2) ξεκινά µε την ανάκλησή της από τη µνήµη. Με την αποκωδικοποίησή της αναγνωρίζεται η εντολή πρόσθεσης µε µια σταθερά. Στη συνέχεια διαβάζεται ο καταχωρητής $2, ο οποίος µόλις έχει πάρει νέα τιµή µε την ολοκλήρωση της προηγούµενης εντολής. Στην επόµενη φάση προστίθεται η σταθερά 200 στο περιεχόµενο του $2, και µε την φάση αποθήκευσης αποτελέσµατος το αποτέλεσµα της πρόσθεσης εγγράφεται στον καταχωρητή $3. Μπορούµε να υποθέσουµε ότι η αποκωδικοποίηση κάθε εντολής, η προσπέλαση των καταχωρητών και η εκτέλεση πράξεων στην ALU απαιτούν µια στοιχειώδη χρονική µονάδα (ή αλλιώς έναν κύκλο µηχανής). Ακόµα, µπορούµε να υποθέσουµε για απλούστευση ότι η προσπέλαση µνήµης ολοκληρώνεται επίσης σε έναν κύκλο µηχανής. Παρατηρούµε ότι από τις παραπάνω εντολές οι εντολές προσπέλασης µνήµης απαιτούν δύο κύκλους στην εκτέλεσή τους, έναν για τον υπολογισµό της τελικής διεύθυνσης κι έναν για την προσπέλαση της µνήµης. Ειδικότερα, η εντολή αποθήκευσης στη µνήµη δεν έχει αποτέλεσµα και δεν έχει εποµένως φάση αποθήκευσης αποτελέσµατος, καθώς η αποθήκευση στη µνήµη θεωρείται εκτέλεση της εντολής και όχι αποθήκευση κάποιου αποτελέσµατος αυτής. 6