Hi,
I added a debug message in Cache<TagStore>::getTimingPacket()

pkt = getBusPacket(tgt_pkt, blk, mshr->needsExclusive());
if ( pkt ) {
     DPRINTF(Cache, "getting bus pkt=%s \n", pkt);
}
mshr->isForward = (pkt == NULL);


Then in the verbose messages I see:
1254053000: system.cpu.dcache-pf: Requesting a hw_pf to issue
1254053000: system.cpu.dcache-pf: returning 0xbc000
1254053000: system.switch_cpus.iew.lsq-dport: received pkt for
addr:0xbc000 HardPFReq
1254053000: system.cpu.dcache: getting bus pkt=0x2a31410
1254053000: system.toL2bus: recvTiming: src 2 dst -1 ReadReq 0xbc000
1254053000: system.switch_cpus.fetch-iport: Received timing to Icache in fetch
1254053000: system.l2: ReadReq bc000
1254053000: system.toL2bus: The bus is now occupied from tick
1254053000 to 1254054000


Later I see:

1254062000: system.switch_cpus: Scheduling next tick!
1254063000: system.l2: getting bus pkt=0x2a31aa0
1254063000: system.membus: recvTiming: src 1 dst -1 ReadReq 0xbc000
1254063000: system.membus: The bus is now occupied from tick
1254063000 to 1254064000

As you can see for one ReadReq  0xbc000, there are two packets: 1) for
dcache and 2) for l2.

What I can not figure out is how packets are sent from dcache to l2.
Which function do the job?

Thanks for any hint.

--
// Naderan *Mahmood;
_______________________________________________
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to