все же CPUID появился как раз именно на пентиумах (потом перекочевал в поздние 486), и вполне позволяет отличить одно поколение от другого хотя бы тем же степпингом
Все же cpuid не даёт ни одного бита информации ни о множителе, ни о частоте шины, ни тем более о напряжении питания, так что для автодетекта одну только её использовать невозможно. Она позволит только отделить mmx от не-mmx , Интел от экзотики и k5 от k6.
Для определения реальной частоты (т.е. заданной на входах процессора, а не номинальной, которая неизвестна) частоты используется rdtsc (счётчик тактов).
Напряжение - только брать забитое из таблицы