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

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 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 Το διάγραμμα χρονισμού του pipeline για την περίπτωση όπου η εντολή beq είναι ΤΑΚΕΝ (x[i]≥a) είναι το...
View Full Document

This note was uploaded on 10/02/2009 for the course G 001 taught by Professor Shmmygr during the Spring '07 term at National Technical University of Athens, Athens.

Page1 / 6

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

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online