Поскольку прошла почти неделя, и никто не смог ответить на этот вопрос (возможно, из-за выходных), я все равно попытаюсь ответить на него.
Я думаю, что ответ - да. Возможно, вам потребуется позвонить CPUID
на каждое ядро.Одна из причин этого заключается в том, что не все (даже x86) системы сегодня являются однородными.
Например, я читал на форуме по разгону (не могу найти ссылку), что можно смешивать две разных моделей процессоров на некоторых серверных платах с двумя сокетами.У человека была двухконтактная система 1366 с двумя разными скоростными процессорами.(и различные модели #)
Таким образом, в этом случае вызов CPUID
будет зависеть от того, на каком процессоре был поток - поэтому вам нужно будет вызывать его один раз для каждого процессора, чтобы получить всю информацию.
В руководствах одной из моих серверных материнских плат также говорится, что вам разрешено смешивать процессоры разных моделей (с некоторыми ограничениями).И, конечно, можно смешивать два разных степпинга одной и той же модели процессора.
Одна только эта причина (гетерогенная топология) уже является причиной необходимости вызова CPUID
накаждое ядро.