Значение номера версии обновления микрокода Intel

Мне нужно иметь две версии микрокода для одного и того же процессора, чтобы понять, какая из них новее (включает исправления из другого). Версия микрокода не однообразна, поэтому с обновлением может уменьшаться.

Основываясь на том, что я видел, версия микрокода - это число меньше 0x1000, но в некоторых случаях у него также установлены более высокие биты, например 0x2000064

По моим наблюдениям, версия микрокода уменьшается с обновлением только за счет обнуления этой верхней части, а низкая часть всегда увеличивается.

У кого-нибудь есть понимание, как формируется номер версии: что закодировано в верхней части и действительно ли младшая часть всегда растет?

Спасибо.

1 ответ

Решение

У каждого обновления микрокода есть ревизия. Версия может быть только увеличена (обеспечивается операционной системой), но сам процессор этого не требует.

(В других процессорах Intel существуют некоторые ограничения, запрещающие переход на более раннюю версию, но это не основано на номере версии обновления микрокода. Он смотрит на некоторые недокументированные поля внутри самого обновления микрокода).

Номер версии микрокода - 32-битное число со знаком. В нем нет структуры с усилением процессора. По-видимому, некоторые команды разработчиков микрокода Intel, работающие с определенными микроархитектурами, немного структурировали его, чтобы облегчить свою работу.

Для справки в будущем:https://manpages.debian.org/unstable/iucode-tool/iucode_tool.8.en.htmlhttps://github.com/platomav/MCExtractor/wiki/Intel-Microcode-Extra-Undocumented-Header

Другие вопросы по тегам