Hello,
I am studying the Mesi two level protocol. This is related to the buffers that
serve as an interface between the Ruby protocol and the interconnection network.
I want to know the exact place where a message gets enqueued to the proper
queue based on Requestor and Destination machines
For example, below code is from Mesi_two_level-L2cache.sm
// L1 Request
in_port(L1RequestL2Network_in, RequestMsg, L1RequestToL2Cache, rank = 0) {
if(L1RequestL2Network_in.isReady(clockEdge())) {
peek(L1RequestL2Network_in, RequestMsg) {
I understand that L1RequestL2Network_in serves as a queue from which L2 gets
requests sent by L1s through the network.
But there are many such queues, my question is where is it decided that a
message should be put in L1RequestL2Network_in ?
I am aware that NetworkInterface calls the enqueue() function, which enqueues
messages in m_prio_heap as per MessageBuffer.cc,
this seems to be common to all queues.
Thanks in advance,
Vedika.
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s