Re: [Gems-users] Simics-Ruby wakeup interface


Date: Sat, 23 Feb 2008 16:45:15 -0600
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Simics-Ruby wakeup interface
The Simics/Ruby interface operates as follows.

Simics Issues a Request to Ruby
Case 1: Fast-Path Hit: Ruby return a stall time of zero.
Case 2: Fast-Path disabled: Ruby enqueues one or more events, depending on the protocol, to handle the access. Ruby returns a stall time of two billion cycles.

As simulation continues, the Simics processor is stalled. For (approximately) each SIMICS_RUBY_MULTIPLIER cycles /observed by Simics/, Simics makes one call into Ruby's event queue, nominally RunEventQueue().

Each run of the event queue increments the local time (Ruby_cycles), and processes events for the current Ruby_cycle. Eventually, the processing of these events handles the request, and Ruby un-stalls the affected Simics processor with an explicit API call.

Lastly, Simics re-issues the request to Ruby, a peculiarity of the interface. This re-issue is captured in SimicsDriver as I recall, and is not observed by higher levels of Ruby in normal operation.

Regards,
Dan


divya ramakrishnan wrote:
Hi,

I have a very basic question about the flow of control in the interface between Simics and Ruby. I understand that for every memory access, Simics wakes up Ruby and adds the transaction to the event queue. How exactly is this event queue triggered [using triggerevents(time)] after the Simics processor is stalled?

Is Ruby triggered for every cycle after that till it returns a latency and unstalls the processor? Is this triggering done by Simics by waking up Ruby every cycle?

It would be great if I could understand this basic flow because I am really confused about the network simulation.

Thank you,
Divya
University of Cincinnati

------------------------------------------------------------------------
Meet people who discuss and share your passions. Join them now. <http://in.rd.yahoo.com/tagline_groups_7/*http://in.promos.yahoo.com/groups>
------------------------------------------------------------------------

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

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