A friend of mine says that a process always jumps between cores even if you pin a process to a specific core within operating system. He says that the processor manufacturers do this so that the processors won't burn due to hotspots (burning of cores actually happening or not is besides the point).
He also says, for example windows task manager is not correct as it can't follow what processor does internally. Therefore untrustworthy... He swears that he saw some Intel documentation which explains it. (well he could not find it)
I tried to tell him that this is illogical as doing so would invalidate caches and pipelines etc. but as there is also no documentation saying otherwise it is kind of difficult to prove.
Does anybody know documentation or can make a bulletproof explanation which proves either theory?
Thanks!