Програма для роботи з мікрокоді процесорів Intel.
Як відомо, мікропроцесори Intel мають оновлюваний мікрокод, що дозволяє виправити деякі помилки, допущені на етапі розробки мікропроцесора. Деякий час назад довелося зіткнутися з переробкою материнської плати Socket 370 під tualatin, відповідно, довелося оновлювати BIOS на предмет нових мікрокодів. Ідея мене зацікавила, і, хоча, новий мікрокод вже давно був доданий в BIOS було вирішено написати невелику програмку для модифікації файлу cpucode.bin, присутнього в більшості BIOS'ов від AWARD.
Довжина (10cc.) Або формат
Номер версії формату (не зустрічав відмінне від 1)
Номер версії пристрою знаходиться у CPUID
Дата виходу даної версії блоку
День виходу (0x12 - 12-е число)
CPUID процесора, для якого призначений блок
Не використовується (заповнене нулями)
Можливо, - контрольна сума
Номер версії формату (. Не зустрічав відмінне від 1)
PKG (Package) процесора
Не використовується (заповнене нулями)
Не використовується (заповнене нулями)
Змістовна частина (власне виправлення микрокода)
Те ж саме на мові Delphi:
microcode. array [$ 31 .. $ 800] of byte;
В Відповідно до цього формату був написана програма a-la плагін для Far Manager Multiarc, який дозволяє працювати з файлом cpucode.bin як з архівом, формат імен файлів на «виході» програми частково збігається з базою all_microcodes.rar з сайту www.rom. by.
Дальше більше. Вивчаючи мікрокоди, зашиті в файл update.sys операційної системи Windows XP SP3 і BIOS 'и материнських плат з LGA 775, в яких, до речі, cpucode.bin відсутня, і мікрокоди представлені в стислому вигляді (я так і не знайшов «правильного» способу витягувати їх, доводиться ручками знаходити початок блоку даних у файлі та «вирізати»).
reserved3. array [1..16] of byte;
microcode. array [$ 31 .. $ 400] of byte;
Програма була переписана з урахуванням цих змін.
Публікація статті на диску (або іншому електронному носії) або папері дозволяється тільки за згодою mehFK.