Skip to content

What do the different access_type enum values defined in inc/channel.h represent? #425

Answered by ngober
Setu-Gupta asked this question in Q&A
Discussion options

You must be logged in to vote

Yea, if we examine src/cache.cc, we see that there are two calls to update_replacement_state(): one in CACHE::try_hit() with hit=1, and the other in CACHE::handle_fill() with hit=0. So misses do not become visible to the replacement policy until they are filled. This is retained because it was an older behavior of ChampSim. The interface should probably be modified to match the prefetcher: having a cache_operate() function called after the tag check whether it hits or misses, and having a cache_fill() function that is called when a miss is filled. Or, perhaps, we should just make update_replacement_state() the operate function and rely on find_victim() to act as the fill hook.

Replies: 1 comment 3 replies

Comment options

You must be logged in to vote
3 replies
@Setu-Gupta
Comment options

@Setu-Gupta
Comment options

@ngober
Comment options

Answer selected by Setu-Gupta
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants