Date: | Sat, 8 May 2010 10:27:55 +0800 |
---|---|
From: | "张轶" <zhangyi@xxxxxxxxxxxxxx> |
Subject: | [Gems-users] 回复: 回复: Latency and number of memory request |
Hi Dan,
I haven't well understood how to record time in Ruby.
In the file "rubyconfig.defaults", the comments of the MEM_BUS_CYCLE_MULTIPLIER says this parameter is the "Basic cycle time of the memory controller. This defines the period which is used as the memory channel clock period, the address bus bit time, and the memory controller cycle time. Assuming a 200 MHz memory channel (DDR-400, which has 400 bits/sec data), and a 2 GHz Ruby clock." It seems to me the MEM_BUS_CYCLE_MULTIPLIER is a multiplier of an absolute time. Where is the definition of this absolute time? What is the relation between memory cycle and cache cycle in Ruby?
I am also confused that in the same file there is a parameter SIMICS_RUBY_MULTIPLIER "determines how many Simics cycles advance for every Ruby cycle". My understanding is Ruby cycle would refer to Simics cycle, and cache and memory time recorded in Ruby are used with Ruby cycle, right?
But in your last letter you wrote Simics cycle would not affect Ruby. So how does Simics use the time recorded in Ruby?
Besides, I have checked that by far Simics's X86 mode still doesn't stall instruction fetch.
Regards,
Zhang Yi
------------------ 原始邮件 ------------------
发送时间: 2010年5月5日(星期三) 晚上8:54
收件人: "Gems Users"<gems-users@xxxxxxxxxxx>;
主题: Re: [Gems-users]回复: Latency and number of memory request Zhang, 2010/5/5 张轶 <zhangyi@xxxxxxxxxxxxxx>
By this, I meant that there is a clock rate configured in the script used to initially create the Simics checkpoint (e.g., I believe 20MHz is the default, to make I/O rather fast). This number then appears in various simulated registers and devices, so eventually the target Solaris instance thinks it is running at 20MHz. This clock rate in no way affects Ruby's performance, but when target software attempts to determine the clock rate from the OS, that is the number provided.
A demand access is an access directly servicing a load or store. Writebacks and prefetches are examples of non-demand accesses.
Regards,
Dan
-- http://www.cs.wisc.edu/~gibson [esc]:wq! |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [Gems-users] Direct cache-to-cache transfer, Byn Choi |
---|---|
Next by Date: | [Gems-users] Banking of L1 and L2 in Opal /WATTCH, ubaid001 |
Previous by Thread: | Re: [Gems-users] 回复: Latency and number of memory request, Dan Gibson |
Next by Thread: | Re: [Gems-users] 回复: 回复: Latency and number of memory request, Dan Gibson |
Indexes: | [Date] [Thread] |