i386-mikrokoodi on purettu osiin ja avoimen lähdekoodin z386-suoritin on luotu.

Harrastajat onnistuivat purkamaan ja purkamaan Intel 80386 -prosessorin mikrokoodin, jota pidettiin "mustana laatikkona" dokumentaation puutteen vuoksi. Mikrokoodin binäärikuva luotiin uudelleen tekoälyn avulla sirun korkearesoluutioisista valokuvista, ja logiikka purettiin sirulle kytketyllä johdotuksella. Mikro-operaatioiden rakenne, kentät, suoritusjärjestys ja käskyjen loppumerkit määritettiin vähitellen. Projektin tulokset on julkaistu GitHubissa julkisesti saatavilla olevana versiona.

i386-mikrokoodi on purettu osiin ja avoimen lähdekoodin z386-suoritin on luotu.

Havaittiin, että 80386-prosessorissa jokainen käsky suoritetaan kokonaan mikrokoodin avulla, kun taas 8086:ssa ja muissa moderneissa prosessoreissa osa käskyistä käsitellään suoraan. Lisäksi, toisin kuin 8086-prosessoreissa, 80386:n mikrokoodi ei toteuta algoritmeja suoraan, vaan ensisijaisesti konfiguroi laitteistokiihdyttimiä (kertoja, jakajia, pikasiirtimiä, PTU:ta (Protection Test Unit)).

Tutkimus paljasti myös mahdollisen tietoturvaongelman IO-lupabittikartan käsittelyssä: 4-tavuisia portteja käytettäessä vain kolmen ensimmäisen tavun lupabitit tarkistettiin, eikä neljännen tavun käyttöä tarkistettu, mikä teoriassa mahdollisti pääsyn laitteistorekistereihin, joihin ei pitäisi olla pääsyä.

Julkaistun mikrokoodin pohjalta kehitettiin avoimen lähdekoodin z386-suoritin, joka toteutettiin SystemVerilogilla ja toimi FPGA:lla. Sen sijaan, että jokainen käsky toteutettaisiin erillisenä RTL:nä (Register-Transfer Layer), z386 toteuttaa alkuperäisen mikrokoodin ohjaamia laitteistorakenteita. Tuloksena olevan toteutuksen suorituskyky vastaa nopean 386-tietokoneen (~70 MHz) suorituskykyä. z386 suoritti onnistuneesti DOS 6/7:n, DOS/4GW:n, DOS/32A:n ja pelien, kuten Doomin ja Cannon Fodderin, käyttöjärjestelmiä.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster