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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Συστήματα σε Ολοκληρωμένα Κυκλώματα

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

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

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

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

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

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

Κεφάλαιο 4. Ο επεξεργαστής. Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση

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

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

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

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

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

Chapter 6 Αύξηση της απόδοσης με διοχέτευση (pipeline)

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

Τέτοιες λειτουργίες γίνονται διαμέσου του

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

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

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

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

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L. Hennessy

Επεξεργαστής Υλοποίηση ενός κύκλου μηχανής

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΔΕΥΤΕΡΗ ΠΡΟΟΔΟΣ ΣΤΗΝ ΟΡΓΑΝΩΣΗ ΣΤΟΥΣ Η/Y (ΗΥ232)

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

6. Ακολουθίες μικροεντολών 7. Συμβολισμός μικροεντολών (MAL)

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

Διάλεξη 12 Καθυστερήσεις (Stalls)

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

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

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

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

Οργάνωση Η/Υ. Γιώργος ηµητρίου. Μάθηµα 6 ο. Πανεπιστήµιο Θεσσαλίας - Τµήµα Μηχανικών Η/Υ, Τηλεπικοινωνιών και ικτύων

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

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

Κάθε functional unit χρησιμοποιείται μια φορά σε κάθε κύκλο: ανάγκη για πολλαπλό hardware = κόστος υλοποίησης!

Multi Cycle Datapath. Αρχιτεκτονική Υπολογιστών. 5ο εξάμηνο ΣΗΜΜΥ ακ. έτος: Νεκ. Κοζύρης

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

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

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Εργαστήριο 10: Επίδοση Επεξεργαστών, CPI. Μανόλης Γ.Η. Κατεβαίνης

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

30 min κάθε «φάση» Pipeline: Ένα παράδειγµα από.τη καθηµερινή ζωή. 1. Πλυντήριο. 2. Στεγνωτήριο. 3. ίπλωµα. 4. αποθήκευση. προσέγγιση για 4.

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

Chapter 2. Εντολές : Η γλώσσα του υπολογιστή. (συνέχεια) Η διασύνδεση Υλικού και λογισμικού David A. Patterson και John L.

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

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

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

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

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

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 3. Αριθµητική για υπολογιστές

Κεφάλαιο 4. Ο επεξεργαστής

Διάλεξη 12 Καθυστερήσεις (Stalls) Εκκενώσεις Εντολών (Flushing)

Διοχέτευση (Pipeline)

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

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

2. Τεχνολογία επεξεργαστών

Στο σχήμα 3.1 δίνεται μια μονάδα επεξεργασίας δεδομένων σταθερής υποδιαστολής που εκτελεί οποιαδήποτε από τις κάτωθι εντολές σε ένα κύκλο ρολογιού.

Τεχνολογίες ημιαγωγών. Chapter 2 Instructions: Language of the Computer 1

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

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

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

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

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

Εισαγωγή στους Η/Υ και Εφαρμογές

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

Transcript:

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ι Γ. Τσιατούχας 2 ο Κεφάλαιο ιάρθρωση 1. Οργάνωση της 2. εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών 2 1

Οργάνωση Υπολογιστή Κεντρική Επεξεργασίας Central Processing Unit () Αριθµητική Λογική () Συσκευές Εισόδου/Εξόδου Καταχωρητές Κύρια ίσκος Εκτυπωτής Τυπική οργάνωση υπολογιστή βασισµένου σε δίαυλο ή Αρτηρία (Bus) 3 Ο ΕΠΕΞΕΡΓΑΣΤΗΣ 4 2

Οργάνωση της Καταχωρητές Α Β Καταχωρητές Εισόδου Εισόδου Εξόδου Τυπική οργάνωση του τµήµατος διαδροµής δεδοµένων (data path) µιας κατά von Neumann 5 Προγραµµάτων 1. Ο υπολογιστής εκτελεί προγράµµατα που συνθέτονται από εντολές σε γλώσσα µηχανής. 2. Ένα πρόγραµµα προς εκτέλεση είναι αποθηκευµένο στην κύρια µνήµησεσυνεχόµενες θέσεις. 3. Η έχει έναν καταχωρητή ειδικού σκοπού που µας λέει σε ποια θέση µνήµης βρίσκεται η επόµενη εντολή. Ονοµάζεται µετρητής προγράµµατος (program counter ). 4. Υπάρχει επίσης και ένας δεύτερος καταχωρητής ειδικού σκοπού στον οποίο κρατείται η τρέχουσα ρχ εντολή που εκτελείται. Ονοµάζεταιµ καταχωρητής (instruction register ). 5. Άλλοι πιθανοί καταχωρητές ειδικού σκοπού: α) καταχωρητής δεδοµένων (data register ), β) καταχωρητής διευθύνσεων (address register ), γ) συσσωρευτής (accumulator ). 6 3

Εντολών Ο υπολογιστής ακολουθεί την επόµενη ατέρµονη διαδικασία: 1. Προσκόµιση (fetch) της από τη µνήµη (τη διεύθυνση µνήµης την οποία υποδεικνύει ο µετρητής προγράµµατος ) στον καταχωρητή εντολών. 2. Μεταβολή του ώστε να δείχνει στην επόµενη θέση στη µνήµη. 3. Αποκωδικοποίηση (decode) της ώστε να προσδιοριστεί ο τύπος της. 4. Προσκόµιση δεδοµένων (τελούµενων operands) που ενδεχόµενα χρειάζεται η εντολή από την κύρια µνήµη ή τους καταχωρητές. 5. (execute) της. 6. Αποθήκευση (store) αποτελέσµατος. 7. Επιστροφή στο 1 ο βήµα για την εκτέλεση της επόµενης. 7 Έλεγχος Μια Απλή Σή ήµατα Υπολογισµός Συσσωρευτής ιευθύνσεων (Address Bus) ή 8192 (2 13 ) (Data Bus) εδοµένων Κωδικός (Opcode) Εντολή εδοµένα ιεύθυνση ς 8 4

Start Ακολουθία Μικρολειτουργιών Active? READ M +1 (OP) Fetch Cycle Stop = Accumulator = Memory address register = Memory data register (OP) = Opcode field of (A) = Address field of = Instruction register = Program Counter M = Main memory SHIFT RSHIFT 111 Execute Cycle COMP? 110 LOAD? STORE? ADD? AND? JUMP? JUMPZ? 000 001 010 011 100 101 (A) (A) (A) (A) = 0? READ M READ M READ M WRITE M + ^ (A) (A) 9 Απλό Πρόγραµµα προς Συµβολική Γλώσσα Γλώσσα Μηχανής Λειτουργία 000 010 Κωδικός Εντολής (Opcode) 16 bits ιεύθυνση ς (Memory Address) Φόρτωση του πρώτου τελούµενου από τη θέση µνήµης Α στον. Φόρτωση του δεύτερου τελούµενου από τη θέση µνήµης Β στον. Πρόσθεσή του µε το τελούµενο στον και εγγραφή του αποτελέσµατος στον. 001 Μεταφορά και αποθήκευση του αποτελέσµατος από τον στη θέση µνήµης C. 10 5

Προσκόµιση και LOAD Start Active? Stop SHIFT RSHIFT READ M +1 (OP) Fetch Cycle READ M M 111 Execute Cycle COMP? 110 LOAD? STORE? ADD? AND? JUMP? JUMPZ? 000 001 010 011 100 101 (A) (A) (A) (A) = 0? READ M READ M READ M WRITE M + ^ (A) (A) 11 Προσκόµιση-Αποκωδικοποίηση LOAD Έλεγχος 000 Σή ήµατα 000 8192 12 6

Έλεγχος LOAD 1/2 000 Σή ήµατα 000 8192 13 Έλεγχος LOAD 2/2 000 Σή ήµατα 0000001000001011 0000001000001011 8192 14 7

Προσκόµιση και ADD Start Active? Stop SHIFT RSHIFT READ M +1 (OP) Fetch Cycle 111 Execute Cycle COMP? 110 LOAD? STORE? ADD? AND? JUMP? JUMPZ? 000 001 010 011 100 101 (A) (A) (A) (A) = 0? READ M READ M READ M WRITE M + ^ (A) (A) 15 Προσκόµιση-Αποκωδικοποίηση ADD Έλεγχος 010 Σή ήµατα 0000001000001011 010 8192 16 8

Έλεγχος ADD 1/3 010 Σή ήµατα 0000001000001011 010 8192 17 Έλεγχος ADD 2/3 010 Σή ήµατα 0000001000001011 0000001000000100 8192 18 9

Έλεγχος ADD 3/3 010 Σή ήµατα 0000010000001111 0000001000000100 8192 19 Προσκόµιση και STORE Start Active? Stop SHIFT RSHIFT READ M +1 (OP) Fetch Cycle WRITE M M 111 Execute Cycle COMP? 110 LOAD? STORE? ADD? AND? JUMP? JUMPZ? 000 001 010 011 100 101 (A) (A) (A) (A) = 0? READ M READ M READ M WRITE M + ^ (A) (A) 20 10

Προσκόµιση-Αποκωδικοποίηση STORE Έλεγχος 001 Σή ήµατα 0000010000001111 001 8192 21 Έλεγχος 0000000000100 STORE 1/2 001 Σή ήµατα 0000010000001111 001 8192 22 11

Έλεγχος 0000000000100 STORE 2/2 001 Σή ήµατα 0000010000001111 0000010000001111 8192 RESULT C 23 Σύνολο Εντολών Αρχικά οι εντολές της γλώσσας µηχανής ήταν σχετικά λίγες και η επίβλεψη των λειτουργιών του επεξεργαστή γίνονταν κατ ευθείαν από το υλικό µε κατάλληλη µονάδα ελέγχου. Στην πορεία προστέθηκαν νέες, πιο πολύπλοκες εντολές µε αποτέλεσµα ναυπάρχουνεκατοντάδεςεντολές! Επακόλουθο, η υψηλή πολυπλοκότητα (κόστος) του υλικού που θα αναλάµβανε την απευθείας εκτέλεση αυτών των εντολών. Λύση, ηχρήσηερµηνευτή (interpreter) Wilkes (1951) - που εκτελείται από το υλικό, µικροπρογραµµατισµός: οερµηνευτής αποθηκεύεται µόνιµα σεrom µνήµες ελέγχου µέσα στον επεξεργαστή λαµβάνει τις εντολές της γλώσσας µηχανής και τις µετατρέπει σε απλές εντολές (µικροεντολές) που εκτελούνται απευθείας από το υλικό. 24 12

Αρχιτεκτονικές CISC και RISC Υπολογιστές µε εκτεταµένα σύνολα εντολών ονοµάστηκαν CISC (Complex Instruction Set Computers υπολογιστές σύνθετου συνόλου εντολών). Ενσωµάτωναν εξαιρετικά πολύπλοκες/σύνθετες εντολές, οι οποίες στην πράξη δεν αξιοποιούνταν από τους compilers. Ως εναλλακτική παρουσιάστηκαν (1980) υπολογιστές µε περιορισµένο σύνολο εντολών (RISC Reduced Instruction Set Computers): χρήση µερικών δεκάδων εντολών πολύ απλές εντολές υλοποίηση απευθείας από το υλικό (χωρίς µικροπρόγραµµα) υψηλή ταχύτητα 1 εντολή σε έναν CISC εκτελούνταν από πολλές αλλά γρήγορες εντολές σε έναν RISC Εµφάνιση υβριδικών σχηµάτων κυρίως για την υποστήριξη της προς τα πίσω συµβατότητας. David Patterson 25 Αρχές Σχεδιασµού Υπολογιστών Οι συχνότερες σε χρήση εντολές πρέπει να εκτελούνται απευθείας από το υλικό χωρίς µικροπρογραµµατισµό. Ζητούµενο η αύξηση της απόδοσης ενός υπολογιστή. Χρησιµοποιούµενη µετρική για την εκτίµηση της απόδοσης είναι ο αριθµός των υποβαλλόµενων εντολών ανά δευτερόλεπτο (Million Instructions per Second - MIPS). Αποτελεσµατική λύση η παραλληλία! Εύκολη αποκωδικοποίηση των εντολών. Μόνοδύοεντολές, αυτές της φόρτωσης (LOAD) και της αποθήκευσης (STORE), χρησιµοποιούνται για την προσπέλαση της µνήµης (καθώς η καθυστέρηση στην προσπέλαση της µνήµης είναι µεγάλη και απρόβλεπτη). Ενσωµάτωση πολλών καταχωρητών στον επεξεργαστή. 26 13

Παραλληλία Για τη βελτίωση της απόδοσης µια κλασσική τακτική είναι η αύξηση της συχνότητας του ρολογιού. Υπάρχουν όµως σηµαντικοί περιορισµοί προς αυτή την κατεύθυνση (κυρίως από την πλευρά της τεχνολογίας). Η παραλληλία είναι η τεχνική που έχει κερδίσει έδαφος στην προσπάθεια αύξησης της απόδοσης. Με την παραλληλία πολλαπλές ενέργειες γίνονται ταυτόχρονα. Υπάρχουν δύο γενικές µορφές παραλληλίας: παραλληλία σε επίπεδο (εκτέλεση πολλών εντολών ταυτόχρονα, π.χ. διοχέτευση) παραλληλία σε επίπεδο επεξεργαστών (χρήση πολλαπλών επεξεργαστών) 27 CLK Τυπική Λειτουργία χωρίς ιοχέτευση IF ID OF EX WB D 0 Q 0 D 1 D 2 D D 4 D 5 Q αποκωδικοποίησης 3 5 προσκόµισης προσκόµισης εκτέλεσης εγγραφής τελεστέων αποτελέσµα- τος Καταχω ωρητής Καταχω ωρητής Εν ντολές 1η 2η 3η 1ος IF ID OF EX WB 2ος IF ID OF EX WB IF Κύκλοι Ρολογιού CLK Η διάρκεια του κύκλου ρολογιού καθορίζεται από τη συχνότητα λειτουργίας (σχέση αντίστροφης αναλογίας). 28 14

CLK ιοχέτευση 1/2 Παραλληλία στο επίπεδο IF ID OF EX WB Καταχω ωρητής Καταχω ωρητής D 0 Q 0 D 1 Q 1 D 2 Q Q 3 D 4 Q 4 D 5 Q αποκωδικοποίησης 2 D 3 5 προσκόµισης προσκόµισης εκτέλεσης εγγραφής τελεστέων αποτελέσµα- τος Καταχω ωρητής Καταχω ωρητής Καταχω ωρητής Καταχω ωρητής Εν ντολές 1η 2η 3η 4η 1ος 2ος 3ος 4ος 5ος 6ος 7ος 8ος IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB Κύκλοι Ρολογιού CLK 5η IF ID OF EX Υποδιαίρεση των εντολών σε πολλαπλά µέρη έτσι ώστε κάθε µέρος να το χειρίζεται ένα αφιερωµένο για αυτό το σκοπό τµήµα του υλικού (στάδιο stage), ενώ τα µέρη αυτά µπορούν να εκτελούνται ταυτόχρονα (γραµµή διοχέτευσης pipeline). 29 ιοχέτευση 2/2 Παραλληλία στο επίπεδο Π.χ.: Έστω µηχανή µε χρόνο κύκλου ρολογιού 2ns και γραµµή διοχέτευσης 5 σταδίων. Για να εκτελεστεί µια εντολή απαιτούνται 5 2ns = 10ns (λανθάνων χρόνος latency). Η απόδοση της µηχανής δεν είναι 100 MIPS αλλά 500 MIPS καθώς µετά τα πρώτα 10ns θα έχουµε την ολοκλήρωση µιας κάθε 2ns. Εν ντολές 1η 2η 3η 4η 1ος 2ος 3ος 4ος 5ος 6ος 7ος 8ος IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB IF ID OF EX WB Κύκλοι Ρολογιού 5η IF ID OF EX Γενικά, σε µηχανή µε χρόνο κύκλου ρολογιού Τ ns και γραµµή διοχέτευσης k σταδίων, ο λανθάνων χρόνος είναι kt ns και η απόδοση 1000/Τ MIPS (εύρος ζώνης επεξεργαστή). 30 15

Καταχωρ ρητής Πολλαπλές Γραµµές ιοχέτευσης Παραλληλία στο επίπεδο S1 S2 S3 S4 S5 προσκόµισης εντολών Κ αποκωδικοποίησης αποκωδικοποίησης Κ προσκόµισης τελεστέων προσκόµισης τελεστέων Κ εκτέλεσης εκτέλεσης Κ εγγραφής αποτελέσµατος εγγραφής αποτελέσµατος Κ Ο επεξεργαστής Pentium είχε 2 γραµµές διοχέτευσης των 5 σταδίων. την u που εκτελούσε οποιαδήποτε εντολή την v που εκτελούσε µόνο απλές εντολές ακεραίων Αν έρχονταν προς εκτέλεση ζεύγος από συµβατές εντολές, τότε διοχετεύονται και οι δύο σε διαφορετικές γραµµές διοχέτευσης αλλιώς εκτελούνταν µόνο η εντολή στη u γραµµή διοχέτευσης. Ουσιαστικά, µόνο κατάλληλοι µεταφραστές µπορούσαν να αξιοποιήσουν αποδοτικά την αρχιτεκτονική! Μειονεκτήµατα: 1)Κόστος υλικού. 2)Προβλήµατα από τις συγκρούσεις µεταξύ των σταδίων και τις εξαρτήσεις µεταξύ των εντολών. 31 Υπερβαθµωτοί Επεξεργαστές Παραλληλία στο επίπεδο προσκόµισης Εντολής αποκωδικοποίησης προσκόµισης τελεστέων εγγραφής αποτελέσµατος κινητής Υποδιαστολής Οι υπερβαθµωτοί (superscalar) επεξεργαστές χρησιµοποιούν µία γραµµή διοχέτευσης αλλά ενσωµατώνουν πολλές λειτουργικές µονάδες (π.χ. Pentium II). 32 16

Παραλληλία: Επίπεδο Επεξεργαστών Παραδοσιακά η επίτευξη υψηλών επιδόσεων στηρίζονταν σε µεγάλο βαθµό στην αύξηση της συχνότητας λειτουργίας, ηοποίαµε τησειρά της τροφοδοτούνταν από την εξέλιξη της τεχνολογίας (µείωση των διαστάσεων των τρανζίστορ). Ταυτόχρονα αυτή η εξέλιξη επέτρεψε την τοποθέτηση (ολοκλήρωση) µερικών δις τρανζίστορ σε ένα τσιπ. Οσυνδυασµός υψηλών συχνοτήτων και υψηλής ολοκλήρωσης αύξησε δραµατικά την κατανάλωση ισχύος µε αποτέλεσµα να προκύψουν σοβαρά προβλήµατα µε τηθερµότητα. Ως λύση επιλέχθηκε η παραλληλία µε τη χρήση πολλών επεξεργαστών και ταυτόχρονη αναστολή κλιµάκωσης της συχνότητας λειτουργίας. 33 Επεξεργαστές Πίνακα ροµολόγηση εντολών Επεξεργαστής 8 8 πλέγµα επεξεργαστών Οι επεξεργαστές πινάκων (array processors) αποτελούνται από µεγάλο αριθµό παρόµοιων επεξεργαστών οι οποίοι εκτελούν την ίδια ακολουθία εντολών σε διαφορετικά σύνολα δεδοµένων. 34 17

Πολυεπεξεργαστές Τοπικές Μνήµες ιαµοιραζόµενη ιαµοιραζόµενη Αρτηρία Αρτηρία Πολυεπεξεργαστική µονάδα µε διαµοιραζόµενη µνήµη Πολυεπεξεργαστική µονάδα µε τοπική µνήµη ανά επεξεργαστή 35 18