Hello all, 
I want to figure out the effects of prefetchers on CPU performance.
So I run gem5 in SE mode and choose O3_ARM_v7a as the CPU type. 
I config the stride prefetcher in l2cache in the CPU configuration script named 
O3_ARM_v7a.py.

The problem is that the prefetcher is only enabled when I add "--l2-hwp-type 
StridePrefetcher" in the command line.
I check out the config.ini file and find that the stride prefetcher 
configuration is not the same as what I did in O3_ARM_v7a.py.
For example, the prefetch degree of prefetchers I config is 8, but the actual 
prefetch degree when running is 4, and 4 is the 
initial value of this prefetcher option.  
Besides, I change other options in O3_ARM_v7a.py, such as MSHR number in 
l2cache, these options work normally when gem5 is running.

So I have two questions about this :
1. why the prefetcher is only enabled when we add the "--l2-hwp-type" options 
in the command line?
2. when adding "--l2-hwp type", why the configuration of prefetchers is not 
enabled?

The prefetcher in L2cache is configured as follows:
class O3_ARM_v7aL2(Cache):
    tag_latency = 12
    data_latency = 12
    response_latency = 12
    mshrs = 16
    tgts_per_mshr = 8
    size = '1MB'
    assoc = 16
    write_buffers = 8
    prefetch_on_access = True
    clusivity = 'mostly_incl'
    # Simple stride prefetcher
    prefetcher = StridePrefetcher(degree=8, latency = 1)
    tags = BaseSetAssoc()
    replacement_policy = RandomRP()

The version of gem5 I am using is 21.2.1.0.

Best Regards, Gelin
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to