Hi everyone,

I am currently doing some experiments with packet timings in the Memory Controller( gem5 version 20.1.0.2., SE mode). As I understood it, writes accesses are serviced instantly by the controller and their actual timing is only calculated later when the corresponding nextReqEvent is processed and the packet is removed from the write queue. This works fine, however, with default parameters set, there are still a lot of write packets left in the queue, when the simulation exits. So, in my understanding, these are never correctly timed.

As I was experimenting I set the write threshold parameters of MemCtrl in a way to force the controller to process all writes. Naturally the run time increases by a large amount of ticks.

My question: How does gem5 perform a correct timing simulation while leaving untimed writes in the queue at the end of simulation? Or doesn't it? Have I misunderstood something?

Test system is a simple example configuration without caches.


Thank you for your help.
Vincent
_______________________________________________
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

Reply via email to