The "two counter registers on each tile" means the same register - Sensor register, but for different parts in the register.
The Sensor register has 26 valid bits, the lower 13 bits [12:0] is for the sensor near the core, the upper 13 bits [25:13] is for the sensor near the router.
You can find these information in your document and section 126.96.36.199 in SCC External Architecture Specification which can be downloaded in this community.
Thanks for your useful information.
I have another question about the sensor register.
From this register, I can get the value sensitive to the temperature, but I don't know well what it means that the value is sensitive to the temperature.
In the SCC board, there are no temperature sensors. Then how the value of the counter registers are changed?
I have a question about the sensor control register.
I know that lower 13 bits of the sensor control register indicate how long to sample the sensor for.
Is it right that when I type the command 'sccTherm -read', I can see the average count value of the values measrued during the time expressed as number of tile clocks?
There is a temperature sensor on the SCC board. There is not a temperature sensor on the chip. If you issue the command
sccBmc -c "status"
you'll see temperature readings such as
Board: 30 °C
FPGA: 33 °C
Please refer to http://communities.intel.com/message/122838#122838
When we measure the temperature of the chip, we must calibrate the counter values. Calibrating is not something you can reliably do remotely. But we can say that the count value is lower when the temperature is lower. If the voltage remains constant the relationship between count value and temperature is linear with a negative slope.
I think it's the actual value not the average value. There are two counter registers. Each counter register reports a subtract count of two counters. So there are actually four counters, two for each counter register.
Thanks for your help.
I used the term "average count value" because I think it is possible that the counter value is changed during the measuring time.
(Expressed as number of clocks by lower 13bits of Sensor control register)
So I am wondering what is the final count value when the sensor value is changed during the measuring time.
In the document "Using the Sensor Registers", there is a calibration method.
I know (sensor output) = a + bT, a,b are coefficient and b is a negative value.
I should put the chip into a quiescent state and get a base value by runnig sccTherm. Assume the temperature of this state is the ambient room temperature.
Then increase the frequency and run a compute-intensive application and get a count value at this point.
From this process, I can know the sensor output and the value T of a quiescent state and the sensor output after running the program, but not temperature.
How can I get the values of coefficients a,b and find the relationship between the sensor output and the temperature?
I don't know what you mean by "the counter value changed during the measuring time." I must be misinterpreting what you said. It's a counter; why wouldn't it change? The baseline doesn't change.
About the temperature calibration ... it's not really possible to calibrate the temperature remotely. Yes, you can set the chip to run at 100 MHz and call that ambient temperataure. But as you pointed out that gives you only one data point. Here in our lab we removed the heat sink and replaced it with a Peltier that allowed us to set the temperature of the chip. Our device had a LED display that showed temperature.
We do believe that the counters have value for remote users. You can see the counter value decrease from the quiescent (100 MHz) state when you run an application. You can see it decrease different amounts for different applications or for the same application run with different scheduling. These measurements remain relative.
We also measured the power with the OS in idle, in reset, and running an intensive application. The power in idle is less than the power in reset which is less than the power when running an intensive application. We interpreted this as meaning that when the OS was idle some clocks were gated that were not when the chip was in reset.
I understand that the SENSOR_GATE_PULSE_CNT_RANGE indicates how long to sample the sensor for.
I think the value of sensor register can be changed during the sampling time expressed as number of tile clocks according to the temperature . Then what is the output when several register values are observed?
When you change the count range, the counter shoud reset to zero and start counting again.