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 -- 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