When using the cpuid, if the eax is set to some value such as 1, 3, 4, etc, the results (eax,ebx,ecx, edx) have some reserved field, for example, when eax==3, and run the cpuid, the result of eax and ebx are reserved.
But if I run the cpuid with eax==3 or some others, what are the results of the reserved field? Is it time-changing or a undefined constant number that is consistant on every run for a cpu?
I cannot answer for Intel but I can see some instances where the return value might not be constant. Examples might be
CPUID return values may be dependent on BIOS settings
If CPUID is extended to return core temperatures
If CPUID is extended to return core frequencies
If/When CPUID is used on system with hot plug/unplug processors.
If/When CPUID is used on system with hot plug/unplug memory.
Note, I am not claiming nor suggesting thatCPUID is used for any ofthese purposes.
I am simply stating - do not assume values are fixed.