Hi Jun, What CPU model are you using? If you're using SimpleCPU, that's a blocking CPU model, so you won't get any more accesses from that CPU until you satisfy the current request. In order to see multiple outstanding memory references you have to use multiple CPUs and/or a non-blocking CPU such as O3.
I'm not sure about your second question... if you call the two-argument version of sendTiming() (the one that takes a tick value as the second argument) then all it does is schedule an event to call the regular sendTiming() later at the specified tick. (Actually it maintains a list of all the pending sendTiming() calls and uses a single event that's timed to handle the first pending call.) I don't see any reason why that wouldn't work when called from MemoryPort. FYI, in our current internal tree we've renamed the two-argument version of sendTiming() to schedSendTiming() just to make the distinction clearer. And we are supposedly getting closer to resolving the issues that are keeping us from making that tree public... Steve On 10/9/07, Jun Pang <[EMAIL PROTECTED]> wrote: > > Hi Steve, > > > > Thank you very much for your soon answer ! > > > > I am still confused with the use of sendTiming in > SimpleTimingPort::recvTIming. > > > > I don't want to send the packet from the recvTiming(pkt) immediately, for > example, I want to buffer a lot of packets, schedule them, then select > one of them to send to implement out-of-order memory access. However, > when I add some operation in SimpleTimingPort:recvTiming() to control the > execution of sendTimng, I find that if sendTiming is not executed, then > there is no new packet coming from bus. If that is true, how to implement > the out-of-order scheduling? > > > > Another question is that I find the sendTiming function can only be called > in the SimpleTimingPort::recvTiming other than a class devrived from > SimpleTimingPort, such as MemoryPort. If it is called from a member function > of MemoryPort, there is no new packet either and the simulation stops. Could > you also explain that? > > > > Thank you very much! > > > > Jun Pang > > > On 10/9/07, Steve Reinhardt <[EMAIL PROTECTED]> wrote: > > > > Hi Jun, > > > > Hard to know what's going wrong from your description. What happens if > > you take your new code but keep the same fixed latency as the old code? In > > that case the execution path should be identical. Check out the > > util/tracediff script for a good way to track down differences between two > > runs that should be doing the same thing but aren't (see the comments at the > > top of the script for usage info). > > > > Also it might be easier to debug an SE-mode program first and make sure > > that works before trying it under FS mode. You can use the regression tests > > for example. > > > > Steve > > > > > > On 10/8/07, Jun Pang < [EMAIL PROTECTED]> wrote: > > > > > Hi, > > > > > > > > > > > > I want to implement an out-of-order memory access scheduling with M5 > > > simulator 2.0.3 edition. First, I will put some packets in a buffer > > > and schedule it, then as soon as a latency of one packet is obtained > > > through > > > my algorithm, it will be sent by calling SimpleTimngPort::sendTiming. > > > So, instead of called by SimpleTimingPort::recvTiming in the tport.cc, > > > the sendTiming is called in my function and get a latency calculated by > > > the > > > function as an argument of sendTiming However, when I recompile the source > > > and run the simulator in full system mode, the m5term cannot connect the > > > host and shows information as follows: > > > > > > > > > > > > ==== m5 slave console: Console 0 ==== > > > > > > > > > > > > What causes m5 to stop here? What's wrong with my implementation? I > > > wonder if I could put the sendTiming in somewhere else instead of its > > > original SimpleTimingPort::recvTiming. Thank you very much! > > > > > > > > > > > > Jun Pang > > > > > > _______________________________________________ > > > m5-users mailing list > > > m5-users@m5sim.org > > > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users > > > > > > > > > _______________________________________________ > > m5-users mailing list > > m5-users@m5sim.org > > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users > > > > > _______________________________________________ > m5-users mailing list > m5-users@m5sim.org > http://m5sim.org/cgi-bin/mailman/listinfo/m5-users >
_______________________________________________ m5-users mailing list m5-users@m5sim.org http://m5sim.org/cgi-bin/mailman/listinfo/m5-users