Hi Andreas,

        I changed the configuration file to use CoherentBus now. But another 
error  happened as follows:
gem5.opt: build/ALPHA/mem/coherent_bus.cc:315: void 
CoherentBus::recvTimingSnoopReq(PacketPtr, PortID): Assertion `master_port_id 
== findPort(pkt->getAddr())' failed.
        In CacheConfig.py I added the following lines to configure the desired 
structure:
 if options.sharedl1icache or options.sharedl1icachewithl0:
        system.sharedl1icache0 = icache_class(#clock = options.clock,
                                        size = options.l1i_size,
                                        assoc = options.l1i_assoc,
                                        addr_ranges = AddrRange(0, 268435455))
        system.sharedl1icache1 = icache_class(#clock = options.clock,
                                        size = options.l1i_size,
                                        assoc = options.l1i_assoc,
                                        addr_ranges = 
AddrRange(268435456,536870911))
        system.tol1icachebus = CoherentBus(clk_domain = system.cpu_clk_domain,
                                                width = 32) #clock = 
options.clock, width = 32)
        system.sharedl1icache0.cpu_side = system.tol1icachebus.master
        system.sharedl1icache1.cpu_side = system.tol1icachebus.master
        if options.l2cache != True:
            print "sharedL1Icache requires a l2 cache, please configue it"
            sys.exit(1)
        system.sharedl1icache0.mem_side = system.tol2bus.slave
        system.sharedl1icache1.mem_side = system.tol2bus.slave
        I turned the debug flags on and found the assertion failing was caused 
by a snooping message for address 0x13081c0( in addrRange(0, 256MB)) on master 
port[1] of tol1icachebus. However, the master port[1] of tol1cachebus was 
configured to connected with sharedl1icache1 which has address range(256MB to 
512MB). Therefore, the assertion failed.
        Thanks for your reply!


在 2014年1月20日,下午4:31,Andreas Hansson <[email protected]> 写道:

> Hi Kunta,
> 
> Did you manage to resolve this? Could you verify that you are using a 
> CoherentBus?
> 
> From your diagram I do not see why it would not work, but there are some 
> hidden assumptions around the port interactions between the o3 cpu/caches/bus 
> that you might have stumbled upon.
> 
> If you’re still stuck on this I’d suggest running with the Bus and Cache 
> debug flags to get some more insight.
> 
> Andreas
> 
> From: kunta Zhang <[email protected]>
> Reply-To: gem5 users mailing list <[email protected]>
> Date: Saturday, 21 December 2013 03:57
> To: gem5 users mailing list <[email protected]>
> Subject: [gem5-users] multi-port shared cache
> 
> I’m trying to configure a multi-port shared L1 cache among 4 cpus. The 
> structure should look like this:
> 
> cpu0 cpu1
> cpu2 cpu3
>    |    |
>    |     
>    |
>    |    |
>    |     
>    | slave port of shared l1 bus
> ————————————————
> shared l1 bus
> ————————————————
> |
> |
> |
> |master port of shared l1 bus
>      shared l1C0  shared l1C1
> 
> I modified the python file to achieve this (assign each shared l1C with a 
> different address range). However, the simulation ended with a message:
> panic: system.tol1icachebus.master[0] was not expecting a timing snoop request
> 
> It seems that the snooping protocol do not approve two master ports.
> 
> Is there any convenient way to implement my structure?
> 
> Best,
> Kunta Zhang
> [email protected]
> 
> 
> 
> -- IMPORTANT NOTICE: The contents of this email and any attachments are 
> confidential and may also be privileged. If you are not the intended 
> recipient, please notify the sender immediately and do not disclose the 
> contents to any other person, use it for any purpose, or store or copy the 
> information in any medium. Thank you.
> 
> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
> Registered in England & Wales, Company No: 2557590
> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, 
> Registered in England & Wales, Company No: 2548782
> _______________________________________________
> gem5-users mailing list
> [email protected]
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to