I've got an Intel i7 2700k here, and I'd like to know how I can tell which processors are physical and which are virtual (ie: hyperthreading). I'm currently running a Conky script to display my CPU temps, frequencies, and loads, but I'm not sure that I've done it right:

I've written my own script to get temperatures and frequencies from i7z, but these only correspond to physical cores. I'm currently displaying each core like this:
${cpu cpu1} ${lua display_temp 0} ${lua display_load 0}
${cpu cpu2}
${cpu cpu3} ${lua display_temp 1} ${lua display_load 1}
${cpu cpu4}
# ...
I'm not sure that this is right, because of the loads and temperatures I see sometimes. In /proc/cpuinfo, how are cores sorted? First all physical then all virtual? Each physical core then its virtual core(s)? How are they sorted?