Core temps are calibrated at the factory by intel and are read directly from the cpu by programs like real temp, and are the only temps that matter (especially on core i7's where they are more accuate), as they are the temps that intel calibrated to protect the cpu.
CPU temps are calibrated by the bios (from intel specs) as a best guess/compromise of IHS temp, but it will neither be accurate of core nor accurate of IHS temp, because the sensor is located between the cores and the gradient to the IHS or core varies based on load. Add in all the other errors, electrical interference, etc and then you know why intel abandoned cpu temps in favor of core temps for prochot. A future bios update may correct your obviously incorrect cpu temp (cant be higher than core temps) to a just as inaccurate but more plausible one (makes the end user happy), but gives just as useless information on core i7. I personally would just ignore the cpu temp and go by core temps, like intel does.
Bookmarks