Həvəskarlar sənəd çatışmazlığı səbəbindən "qara qutu" hesab edilən Intel 80386 prosessorunun mikrokodunu uğurla çıxarıb söküblər. Mikrokodun ikili təsviri matrisanın yüksək qətnaməli fotoşəkillərindən süni intellekt istifadə edilərək yenidən yaradılıb və məntiq matris üzərindəki naqillərdən istifadə edilərək deşifr edilib. Mikro əməliyyatların strukturu, sahələri, icra qaydası və təlimatın sonu markerləri tədricən müəyyən edilib. Layihənin nəticələri GitHub-da ictimai domen kimi dərc olunub.

Məlum oldu ki, 80386 prosessorunda hər bir təlimat tamamilə mikrokod vasitəsilə yerinə yetirilir, 8086 və müasir prosessorlarda isə bəzi təlimatlar birbaşa emal olunur. Bundan əlavə, 8086 prosessorlarından fərqli olaraq, 80386-dakı mikrokod alqoritmləri birbaşa tətbiq etmir, əsasən aparat sürətləndiricilərini (vuran, bölən, sürətli dəyişdirici, PTU (Qoruma Test Vahidi)) konfiqurasiya edir.
Tədqiqat həmçinin IO icazə bitmapının işlənməsində potensial təhlükəsizlik problemini də aşkar etdi: 4 baytlıq portlara daxil olarkən yalnız ilk 3 bayt üçün icazə bitləri yoxlanıldı və 4-cü bayta giriş yoxlanılmadı ki, bu da nəzəri olaraq əlçatan olmamalı olan aparat registrlərinə girişə imkan verdi.
Dərc olunmuş mikrokod əsasında SystemVerilog-da tətbiq olunan və FPGA üzərində işləyən açıq mənbəli z386 CPU hazırlanmışdır. Hər təlimatı ayrıca RTL (Qeydiyyat Transferi Layer) kimi tətbiq etmək əvəzinə, z386 orijinal mikrokod tərəfindən idarə olunan aparat strukturlarını tətbiq edir. Nəticədə əldə edilən tətbiqin performansı sürətli 386 kompüterinin (~70 MHz) performansına uyğun gəlir. z386 DOS 6/7, DOS/4GW, DOS/32A və Doom və Cannon Fodder kimi oyunları uğurla işlətdi.
Mənbə: opennet.ru
