Intel's temperature sensors count down to zero as they heat up. If you knew that the sensor reached zero at exactly 100C then you could work backwards and if that sensor reported 10 then you would know that your CPU was 10 degrees away from the thermal throttling point so it must be at 90C. That's a great theory but now here are some of the problems.
TJ Max is not a fixed value. With Core i processors, Intel writes a value to each core which software like RealTemp can read but they call it TJ Target. 100C might be written to that register for each core but that does not guarantee that thermal throttling will begin right at 100C for each core. Intel does not document their calibration procedure or how much error is in this number but I don't think 10C of error is unreasonable to assume. Your full load delta between cores is 7C which I'm betting is mostly error in how TJMax or TJ Target is set. With the previous Core 2 generation, my theory is that Intel deliberately offsets TJMax from one core to the next so on a quad core processor, all 4 cores wouldn't reach the thermal throttling temperature at the exact same time. This would give a more gradual decrease in performance during a throttling episode. Throttling one core is often times enough to keep the CPU in check so maybe Intel did this for a reason. Maybe they are still doing this deliberately with the Core i CPUs. None of this is documented though so that's just my opinion.
The next problem is slope error. What this means is the sensor changes values at a slightly different rate than the actual temperature is changing. These sensors might be reasonably accurate when you are +/- 10C from the calibration point but the further you get away from this point, the more these sensors can wander. At idle there might be +/- 10C of slope error. Intel also doesn't say what temperature they calibrate at.
When you combine this error with not really knowing how accurate TJMax really is, you're left with a number that is not that useful for 100% accurate core temperatures from idle to TJMax.
The previous 45nm Core 2 sensors also had another problem where they would get stuck as the CPU cooled off. As the CPU went from 70C to 60C to 50C, etc., the sensor might be fine at 70C and 60C but a sensor could simply stop moving if the CPU got cool enough. Many sensors stopped moving at 50C so a CPU at 50C or 40C or 30C would report the same thing. You can't calibrate a stuck sensor.
The calibration features I added to RealTemp were a good idea at the time but it was based on a very tiny sample of processors that I owned. Without some hard engineering data from Intel and some decent quality sensors, trying to design a calibration formula is impossible. Without more information from Intel, you end up having to make so many assumptions that the final number might look nice but it might not be any more accurate than the original random numbers that some of these sensors put out.
Intel could have spent some more money and used some high quality temperature sensors that are accurate over a wide range but for most of their customers, that would be wasted money. Most users don't care about the exact core temperature of their CPU. As long as their computer runs and doesn't crash too often, that's good enough for the average Joe.
If you were able to perfectly calibrate your CPU temperature, what would you do with that data? No one else in the world has 100% accurate temperatures so you still wouldn't be able to compare your results to other users.
After a long time I finally had to agree with Intel. It's just not that important. As long as your CPU is running below the throttling temperature then it is running within the Intel spec. It is designed to run a long time at that temperature and most enthusiasts lose interest in a CPU long before it ever craps out.
As an extreme overclocker, it is important to run your CPU as cool as possible but whether it is actually running at 60C or 70C doesn't make any difference as long as your computer is stable. If it is not stable, you need to overclock less or improve your cooling. The sensors are good enough to determine that but they are not good enough to provide 100% accurate temperatures. There is so much error from core to core that you can't compare one core to the next in the same CPU and trying to compare your temps to another user becomes pointless.