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