Извършено дизасемблиране на микрокода i386 и създаден отворен CPU z386

Ентусиастите успяха успешно да извлекат и дизасемблират микрокода на процесора Intel 80386, който поради липсата на документация беше считан за "черна кутия". Бинарният образ на микрокода беше възстановен с помощта на AI чрез високо резолюционни снимки на кристала, а логиката на работа беше разкрива чрез трасировка на свързването на кристала. Постепенно бяха определени структурата на микрокомандите (μ-ops), полетата, реда на изпълнение и маркерите за край на инструкциите. Направените разработки по проекта са публикувани на GitHub като обществено достояние.

Извършено дизасемблиране на микрокода i386 и създаден отворен CPU z386

Установено е, че в CPU 80386 всяка инструкция се изпълнява изцяло чрез микрокод, докато в 8086 и съвременни процесори част от инструкциите се обработват директно. Освен това, за разлика от процесорите 8086, в 80386 микрокодът не реализира алгоритми директно, а основно конфигурира хардуерните ускорители (умножител, делител, бърз шифър, PTU (Protection Test Unit)).

По време на изследването също така беше открит потенциален проблем с безопасността при обработката на битовата карта с права за достъп до вход/изход (IO permission bitmap): при 4-байтов достъп до портовете проверяваха битовете на правата само за първите 3 байта, а достъпът до 4-ия байт не се проверяваше, което теоретично допускаше достъп до хардуерни регистри, достъпът до които трябваше да бъде забранен.

На базата на публикувания микрокод беше разработен отворен CPU z386, реализиран на езика SystemVerilog и работещ с използването на FPGA. Вместо да реализира всяка инструкция във форма на отделен RTL (Register-transfer level), в z386 са реализирани хардуерни структури, управлявани от оригиналния микрокод. Производителността на подготвената реализация отговаря на бърз 386 ПК (~70MHz). Под управлението на z386 беше успешно стартиран DOS 6/7, DOS/4GW, DOS/32A и игри като Doom и Cannon Fodder.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster