gem5简单配置脚本上的“连续SC故障”

时间:2018-12-03 09:52:57

标签: cpu-architecture gem5

我是gem5的新手,尝试编写一个简单的多核系统配置脚本时遇到问题。我的脚本基于以下示例脚本:http://learning.gem5.org/book/part1/cache_config.html

当我尝试向系统(对于每个不同的内核)添加多个dcache时,我得到了该警告消息的无限循环:

  

警告:186707000:上下文0:10000次连续SC故障。

每次增加10000。

我尝试查看gem5的给定配置脚本se.py和CacheConfig.py,但我仍然不明白这里缺少什么。我知道我可以使用se.py模拟此配置,但是我尝试自己练习以使其更深入地了解gem5模拟器。

一些其他信息:我在se模式下运行gem5并尝试使用riscv内核模拟一个简单的多核系统。

这是我的代码:

import m5
from m5.objects import *
from Caches import *


#system config
system = System(cpu = [TimingSimpleCPU(cpu_id=i) for i in xrange(4)])

system.clk_domain = SrcClockDomain()
system.clk_domain.clock = '1GHz'
system.clk_domain.voltage_domain = VoltageDomain()

system.mem_mode = 'timing'
system.mem_ranges = [AddrRange('512MB')]

system.cpu_voltage_domain = VoltageDomain()
system.cpu_clk_domain = SrcClockDomain(clock = '1GHz',voltage_domain= system.cpu_voltage_domain)

system.membus = SystemXBar()
system.l2bus = L2XBar()
multiprocess =[Process(cmd = 'tests/test-progs/hello/bin/riscv/linux/hello', pid = 100 + i) for i in xrange(4)]

#cpu config
for i in xrange(4):    
    system.cpu[i].icache = L1ICache()
    system.cpu[i].dcache = L1DCache()
    system.cpu[i].icache_port = system.cpu[i].icache.cpu_side
    system.cpu[i].dcache_port = system.cpu[i].dcache.cpu_side
    system.cpu[i].icache.mem_side = system.l2bus.slave
    system.cpu[i].dcache.mem_side = system.l2bus.slave
    system.cpu[i].createInterruptController()
    system.cpu[i].workload = multiprocess[i] 
    system.cpu[i].createThreads()

system.l2cache = L2Cache()
system.l2cache.cpu_side = system.l2bus.master
system.l2cache.mem_side = system.membus.slave
system.system_port = system.membus.slave

system.mem_ctrl = DDR3_1600_8x8()
system.mem_ctrl.range = system.mem_ranges[0]
system.mem_ctrl.port = system.membus.master

root = Root(full_system = False , system = system)
m5.instantiate()

print ("Begining Simulation!")
exit_event = m5.simulate()
print ('Exiting @ tick {} because {}' .format(m5.curTick() , exit_event.getCause()))

0 个答案:

没有答案