On 04/17/2011 01:35 PM, Βασιλης Παπαιωαννου wrote:
Στην διαφάνεια 29 της διάλεξης Lec3-branch_prediction-10.pdf μετά από την διαφάνεια με τίτλο "Δυναμικές Τεχνικές Πρόβλεψης" έχετε ένα παράδειγμα. Στο παράδειγμα αυτό γράφεται οτι "αν b1 και b2 ΝΤ τότε b3 Τ". Αυτό πώς συμβαίνει; Αν τα b1,b2 είναι ΝΤ τότε σίγουρα aa != 2 και bb != 2, δεν αποκλείεται aa = bb = 3. Επίσης αυτό που καταλαβαίνω είναι οτι αν τα b1,b2 Τ τότε σίγουρα το b3 ΝΤ.
Ποιά είναι η γνώμη σας; _______________________________________________ Advcomparch mailing list Advcomparch@lists.cslab.ece.ntua.gr http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
Τα b1, b2, b3 αναφέρονται στα branches της assembly και όχι του C κώδικα, όπου στην ουσία οι συνθήκες είναι συμπληρωματικές. Από εκεί καταλαβαίνεις ότι αν το BNEZ R3, L1 είναι NT τότε γίνεται η ανάθεση aa=0, και αντίστοιχα για το b2, bb=0. Συνεπώς aa==bb και άρα το b3 θα είναι Τ.
Ν.