[Advcomparch] Απορίες σχετικά με το prefetching

Konstantinos Nikas knikas at cslab.ece.ntua.gr
Thu Mar 30 11:19:17 EEST 2017


Καλημέρα,

1) Θα πρέπει. Αν το block υπάρχει ήδη στη cache, δεν έχει νόημα
προφανώς να το φέρεις ξανά.

2) Ναι, αυτή είναι και η λογική του ιδανικού/πετυχημένου prefetching,
δηλ. ότι όταν ζητήσει κάτι ο επεξεργαστής αυτό βρίσκεται ήδη στην
cache. Για να επιτευχθεί αυτό, ο prefetcher δουλεύει ανεξάρτητα από
τον επεξεργαστή και δεν τον μπλοκάρει.

Προφανώς στην πράξη παρατηρούνται διάφορα φαινόμενα, όπως π.χ. το να
ζητήσει κάτι ο επεξεργαστής που το έχει ήδη ζητήσει ο prefetcher αλλά
δεν έχει φτάσει ακόμα στη cache. Στην περίπτωση αυτή, ο επεξεργαστής
θα υποστεί cache miss, αλλά το κόστος σε κύκλους θα είναι προφανώς
μικρότερο.

Στο πλαίσιο της άσκησης δεν ασχολούμαστε με αυτές τις περιπτώσεις,
παρά μόνο με το ιδανικό σενάριο.

3) Έχετε δίκιο. Όπως εξηγούμε και στην εκφώνηση, ο prefetcher γίνεται
triggered σε κάθε L2 miss. Θα διορθωθεί άμεσα το cache.h.

Κ.

2017-03-29 22:29 GMT+03:00 Fotis Xenakis <foxen at windowslive.com>:
> Καλησπέρα,
>
> Έχω τις εξής απορίες σχετικά με το prefetching (γενικά αλλά και σχετικά με
> την άσκηση):
>
> 1) Προτού γίνει prefetch κάποιο block στην cache, ελέγχουμε πρώτα αν είναι
> ήδη παρόν σε αυτήν;
> 2) Ισχύει ότι δεν επιφέρει κάποια χρονική επιβάρυνση; (δηλαδή αφότου έρθει
> το πρώτο block στην cache, ο επεξεργαστής συνεχίζει την εκτέλεση ενόσω
> έρχονται και τα επόμενα)
> 3) Στο αρχείο cache.h, ο κώδικας του prefetching δεν θα έπρεπε να βρίσκεται
> εντός του if (!l2Hit) {...}, αφού κάνουμε prefetch μόνο σε περίπτωση L2
> miss;
>
>
> Ευχαριστώ πολύ
>
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>



-- 
Dr. Konstantinos Nikas
Computing Systems Laboratory
School of Electrical and Computer Engineering
National Technical University of Athens

Tel: +30-210-7724159
e-mail: knikas at cslab.ece.ntua.gr
http://www.cslab.ece.ntua.gr/~knikas


More information about the Advcomparch mailing list