Re: [Gems-users] modules


Date: Wed, 18 Oct 2006 13:25:31 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] modules


Dave Z. wrote:
Hello,

I'm working on a new instruction decoder module in
Simics. The new instructions will basically send
special CacheMsg to the cache controller.
As Mike has said before, the CacheMsg types are defined in $GEMS/protocols/RubySlicc_Exports.sm. Modify that file to add a new CacheMsg type.
 I'm
wondering if it is possible to establish such
interaction with the cache controller from another
Simics module.
Yes.
For example, one of the instructions will take
destination cpu number (stored in a register)
You can use SIM_read_register() from the Simics interface to access this register.
 as an
argument and send some message to the cache
controller. The cache controller will then use the
destination cpu number and take some actions. Since
Ruby is implemented as a module, I'm wondering if it
is possible to access Ruby from another Simics module.
Yes, that is possible.
Does this approach introduce any inefficiency to the
system?
Yes, module-to-module communication is bulky, complicated, and slow. See the Ruby/Opal interface, defined in several files, most of which have already been discussed on this list (see the web archives). OpalInterface.[Ch], hfa.[Ch], opal.c, ruby.c, the two init.[Ch]s are the important files.
Finally, I believe I need to compile the decoder
module together with Ruby as it will use Ruby's
sequencer methods.
You need to decide if you want to couple your functionality INTO Ruby or have it in a separate Simics module. Either approach will work. Making it part of Ruby will be substantially easier.
Where should I put the decoder
module in the Ruby tree? Thank you for your help.
Wherever you like. Organize your code in whichever way seems best to you.
Regards,

Dave

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com _______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/"; to your search.


--
http://www.cs.wisc.edu/~gibson [esc]:wq!

[← Prev in Thread] Current Thread [Next in Thread→]