[Advcomparch] Απορίες

George Matikas g_matikas at hotmail.com
Thu Apr 3 02:46:07 EEST 2014


Γεια σας!

Καθώς προετοιμάζομαι για την ερχόμενη εξέταση της Παρασκευής μου γεννήθηκαν
κάποιες απορίες. Θα μπορούσατε να με βοηθήσετε να τις λύσω;

1) Στις διαφάνειες "Lec1-overview-13" στη σελίδα 41, αναφέρει ότι υπάρχει το ενδεχόμενο  
να εμφανιστεί structural hazard λόγω ταυτόχρονης εγγραφής του register file στο στάδιο WB.
Ωστόσο, πιστεύω ότι αυτό δεν είναι εφικτό, αφού πάντα πριν το στάδιο WB βρίσκεται στο
pipeline του παραδείγματος το στάδιο MEM. Άρα θα έχουμε εκεί structural hazard και
επομένως stall και δεν θα συμπέσουν ποτέ 2 WB στάδια. Μία σκέψη που μου πέρασε από το

μυαλλό είναι ότι δεν μας πειράζει που θα πέσουν δύο ή περισσότερα στάδια MEM μαζί από
τη στιγμή που οι εντολές αυτές δεν κάνουν τίποτα στα στάδια αυτά (δηλαδή δεν διαβάζουν
ή γράφουν τη μνήμη), οπότε και γι’ αυτό επιτρέπουμε να πέσουν μαζί και δεν έχουμε stall
όπως ανέφερα παραπάνω. Ωστόσο, η σκέψη αυτή αναιρείται από την προηγούμενη σελίδα
των διαφανειών (σελ. 40) όπου τοποθετείται ένα επιπλέον stall ανάμεσα στις 2 τελευταίες
εντολές για να μην συμπέσουν τα στάδια MEM τους, παρόλο που η μία δεν κάνει τίποτα σε
αυτό το στάδιο.

2) Στις διαφάνειες αναφέρετε συχνά σε ένα συγκεκριμένο slide (πχ "Lec5-dynamic-13.pps”
σελ. 3) ότι το loop unrolling βοηθάει στα Data Hazard Stalls, αλλά δεν μπορώ να καταλάβω

γιατί αυτό συμβαίνει. Μήπως το βελάκι προοριζόταν να δείχνει ότι το loop unrolling βοηθάει
στα Control Stalls;

3) Όταν αναφέρετε ότι μας δίνεται “ένας” global history predictor, όπως πχ στο θέμα 3 της  
εξέτασης Ιουλίου 2010, εννοείται ότι κάθε εντολή άλματος έχει τις δικιές της εγγραφές
στον PHT με βάση τα τελευταία bits του PC ή ότι όλες έχουν το ίδιο σετ εγγραφών και
όλες χρησιμοποιούν αυτό;


Ευχαριστώ εκ των προτέρων,
Ματίκας Γεώργιος




More information about the Advcomparch mailing list