Zrealizowano dezasemblację mikrokodu i386 i stworzono otwarty CPU z386

Entuzjaści udało się z powodzeniem wydobyć i zdisasembrować mikrokod procesora Intel 80386, który z powodu braku dokumentacji był uważany za "czarną skrzynkę". Obraz binarny mikrokodu został odtworzony z użyciem AI na podstawie zdjęć kryształów w wysokiej rozdzielczości, a logika działania została zbadana poprzez śledzenie połączeń na kryształach. Stopniowo określono strukturę mikrokomend (μ-ops), pola, kolejność wykonania i znaczniki końca instrukcji. Wyniki projektu zostały opublikowane na GitHubie jako własność publiczna.

Zrealizowano dezasemblację mikrokodu i386 i stworzono otwarty CPU z386

Stwierdzono, że w CPU 80386 każda instrukcja jest całkowicie realizowana przez mikrokod, podczas gdy w 8086 i nowoczesnych procesorach część instrukcji jest przetwarzana bezpośrednio. Ponadto, w przeciwieństwie do procesorów 8086, w 80386 mikrokod nie implementuje algorytmów bezpośrednio, lecz głównie konfiguruje akceleratory sprzętowe (mnożnik, dzielnik, szybki przesunięcie, PTU (Protection Test Unit)).

W trakcie badania odkryto również możliwy problem z bezpieczeństwem podczas przetwarzania bitmapy uprawnień dostępu do wejścia/wyjścia (IO permission bitmap): przy 4-bajtowych odwołaniach do portów sprawdzano bity uprawnień tylko dla pierwszych 3 bajtów, a dostęp do 4. bajtu nie był weryfikowany, co teoretycznie pozwalało na dostęp do rejestrów sprzętowych, do których dostęp powinien być zablokowany.

Na podstawie opublikowanego mikrokodu opracowano otwarty CPU z386, realizowany w języku SystemVerilog i działający na FPGA. Zamiast realizować każdą instrukcję w formie oddzielnego RTL (Register-transfer level), w z386 wdrożono struktury sprzętowe, którymi zarządza oryginalny mikrokod. Wydajność przygotowanej realizacji odpowiada szybkiemu 386 PC (~70MHz). Pod kontrolą z386 udało się z powodzeniem uruchomić DOS 6/7, DOS/4GW, DOS/32A oraz takie gry, jak Doom i Cannon Fodder.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster