----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/1683/#review3956 -----------------------------------------------------------
This patch is going in a good direction, but at the moment I find the naming and typing rather confusing. (it also highlights that perhaps we should make Tick a class just like Cycles to enable us to specify an explicit constructor and avoid gcc being helpful with implicit casting) src/mem/ruby/buffers/MessageBuffer.cc <http://reviews.gem5.org/r/1683/#comment3818> This looks odd to me. Get Cycles and then turn ticks to cycles? src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc <http://reviews.gem5.org/r/1683/#comment3819> Is getTime not in Cycles? src/mem/ruby/slicc_interface/Message.hh <http://reviews.gem5.org/r/1683/#comment3820> Naming should change if the type is now Ticks src/mem/ruby/slicc_interface/Message.hh <http://reviews.gem5.org/r/1683/#comment3821> Change to getTick? src/mem/ruby/slicc_interface/Message.hh <http://reviews.gem5.org/r/1683/#comment3822> Confusing :-) src/mem/ruby/slicc_interface/RubyRequest.hh <http://reviews.gem5.org/r/1683/#comment3823> Seems unrelated. - Andreas Hansson On Jan. 29, 2013, 8:31 p.m., Nilay Vaish wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/1683/ > ----------------------------------------------------------- > > (Updated Jan. 29, 2013, 8:31 p.m.) > > > Review request for Default. > > > Description > ------- > > Changeset 9500:5dbd52da6716 > --------------------------- > ruby: enable multiple clock domanins > This patch allows ruby to have multiple clock domains. As I understand > with this patch, controllers can have different frequencies. The entire > network needs to run at a single frequency. > > The idea is that with in an object, time is treated in terms of cycles. > But the messages that are passed from one entity to another should contain > the time in cycles. As of now, this is only true for the message buffers, > but not for the links in the network. As I understand the code, all the > entities in different networks (simple, garnet-fixed, garnet-flexible) should > be clocked at the same frequency. > > Another problem is that the directory controller has to operate at the same > frequency as the ruby system. This is because the memory controller does > not make use of the Message Buffer, and instead implements a buffer of its > own. So, it has no idea of the frequency at which the directory controller > is operating and uses ruby system's frequency for scheduling events. > > > Diffs > ----- > > src/mem/ruby/buffers/MessageBuffer.cc 5dca39cc7641 > src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc > 5dca39cc7641 > src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc > 5dca39cc7641 > src/mem/ruby/network/simple/Throttle.cc 5dca39cc7641 > src/mem/ruby/profiler/Profiler.cc 5dca39cc7641 > src/mem/ruby/slicc_interface/Message.hh 5dca39cc7641 > src/mem/ruby/slicc_interface/NetworkMessage.hh 5dca39cc7641 > src/mem/ruby/slicc_interface/RubyRequest.hh 5dca39cc7641 > src/mem/ruby/system/DMASequencer.cc 5dca39cc7641 > src/mem/ruby/system/RubyMemoryControl.cc 5dca39cc7641 > src/mem/ruby/system/Sequencer.cc 5dca39cc7641 > src/mem/ruby/system/System.hh 5dca39cc7641 > src/mem/ruby/system/WireBuffer.cc 5dca39cc7641 > src/mem/slicc/ast/EnqueueStatementAST.py 5dca39cc7641 > src/mem/slicc/symbols/Type.py 5dca39cc7641 > > Diff: http://reviews.gem5.org/r/1683/diff/ > > > Testing > ------- > > Regressions pass. Patch has been tested very lightly using the ruby random > tester. > > > Thanks, > > Nilay Vaish > > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
