{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

ca-Fall-2007-ask2-solutions - ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr 2η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ Ακ. έτος 2007-2008, 5ο Εξάμηνο Σχολή ΗΜ&ΜΥ Έστω το ακόλουθο τμήμα C κώδικα: for (i = 0; i < 100; i++) if (x[i] < a) x[i] = a; else x[i] += b; Θεωρούμε ότι οι τιμές των μεταβλητών a, b βρίσκονται αποθηκευμένες στους καταχωρητές $r3, $r5. Αρχικά, ο καταχωρητής $r2 περιέχει τη διεύθυνση του πρώτου στοιχείου του x, ενώ ο $r6 δείχνει 800 bytes μπροστά. Ο αντίστοιχος κώδικας σε assembly είναι ο εξής: Loop: lw $r1, 0($r2) ; $r1=x[i] slt $r4, $r1, $r3 ; if(x[i]<a) $r4=1 else $r4=0 beq $r4, $zero, Else sw $r3, 0($r2) ; x[i]=a j Cont Else: add $r1, $r1, $r5 sw $r1, 0($r2) ; x[i]+=b Cont: add $r2, $r2, #8 bne $r2, $r6, Loop Exit: α) Υποθέτουμε ότι έχουμε αρχιτεκτονική σωλήνωσης (pipelining) 5 σταδίων (IF ID EX MEM WB). Αρχικά, υποθέτουμε ότι η αρχιτεκτονική σωλήνωσης δε διαθέτει σχήμα προώθησης (forwarding). Επίσης, η εγγραφή σε κάποιο καταχωρητή γίνεται στο πρώτο μισό ενός κύκλου, ενώ η ανάγνωση από τον ίδιο καταχωρητή στο δεύτερο μισό του ίδιου κύκλου. Επιπλέον, η ενημέρωση του μετρητή προγράμματος κατά την εκτέλεση μιας εντολής διακλάδωσης γίνεται στο στάδιο ΜΕΜ και για να γίνει η διακλάδωση πρέπει να εκκενωθεί (flush) το pipeline. Τέλος, στο 75% των περιπτώσεων ισχύει η ανισότητα x[i]< a. Χρησιμοποιείστε τα κατάλληλα διαγράμματα χρονισμού για να δείξετε την εκτέλεση των εντολών του παραπάνω κώδικα μέσα στην αρχιτεκτονική αγωγού. Υποδείξτε και εξηγείστε τους πιθανούς κινδύνους (hazards) που μπορούν να προκύψουν κατά την εκτέλεση του κώδικα, καθώς και τον τρόπο με τον οποίον αυτοί αντιμετωπίζονται. Πόσοι κύκλοι απαιτούνται για την εκτέλεση του βρόχου; 1
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Το διάγραμμα χρονισμού του pipeline για την περίπτωση όπου η εντολή beq είναι ΤΑΚΕΝ (x[i]≥a) είναι το ακόλουθο.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}