Amd64cpuid_leaf code leaf is the CPUID instruction with input code(eax) and leaf(ecx), return is the tuple (eax * ebx * ecx * edx)
register_to_bytes register is the 4 byte representation of register in bytes
decompose_apic apicid is the smt * core * package id of apicid. Can throw invalid_argument if cpu_vendor is unknown or apicid is invalid