<div dir="ltr">Καλημέρα,<div><br></div><div style>γιατί να κάνεις flush τις caches; Όταν έχεις ένα branch misprediction πρέπει να κάνεις τα εξής:</div><div style><br></div><div style>1. Να γυρίσεις στο σωστό architectural state. Αν χρησιμοποιείς ROB όπως είδαμε και στο μάθημα δε χρειάζεται να κάνεις απολύτως τίποτα, μιας και το in order commit σου εγγυάται το state σου είναι οκ.</div>
<div style><br></div><div style>2. Να σταματήσεις να εκτελείς αχρείαστες εντολές. Για αυτό το λόγο και κάνεις flush το pipeline, προκειμένου να απελευθερωθούν τα διάφορα components και να χρησιμοποιηθούν από τις σωστές εντολές χωρίς καθυστέρηση. Τις caches γιατί όμως να τις κάνεις flush? Κατά την εκτέλεση του  mispredicted path, έχεις φέρει στην χειρότερη περίπτωση κάποια &quot;αχρείαστα&quot; loads, τα οποία σίγουρα είναι πολύ λιγότερα από τον συνολικό αριθμό των blocks που θα χάσεις κάνοντας flush. </div>
<div><div class="gmail_extra"><br>Κ.</div><div class="gmail_extra"><br><div class="gmail_quote">2013/5/23 Spyridon Mastorakis <span dir="ltr">&lt;<a href="mailto:el09195@mail.ntua.gr" target="_blank">el09195@mail.ntua.gr</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Καλησπέρα σας.<br>
<br>
Έχω μια ερώτηση που αφορά την περίπτωση που κάνουμε λάθος στο branch prediction, οπότε και<br>
χρειάζεται να κάνουμε flush το pipeline.<br>
<br>
Στην περίπτωση αυτή , εκτός από το pipeline , θα κάνουμε flush και τις caches. Σωστά?<br>
Υπάρχει, κάποιο άλλο unit που θα πρέπει να γίνει flush στην περίπτωση αυτή?<br>
<br>
Σας ευχαριστώ πολύ εκ&#39; των προτέρων για την απάντηση.<br>
Σπύρος Μαστοράκης.<br>
<br>_______________________________________________<br>
Advcomparch mailing list<br>
<a href="mailto:Advcomparch@lists.cslab.ece.ntua.gr">Advcomparch@lists.cslab.ece.ntua.gr</a><br>
<a href="http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch" target="_blank">http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Dr. Konstantinos Nikas<br>Computing Systems Laboratory<br>School of Electrical and Computer Engineering<br>National Technical University of Athens<br><br>Tel: +30-210-7724159<br>
e-mail: <a href="mailto:knikas@cslab.ece.ntua.gr" target="_blank">knikas@cslab.ece.ntua.gr</a><br><a href="http://www.cslab.ece.ntua.gr/~knikas" target="_blank">http://www.cslab.ece.ntua.gr/~knikas</a>
</div></div></div>