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