Entuziastët çmontuan mikrokodin i386 dhe krijuan CPU-në e hapur z386

EntuziastĂ«t kanĂ« arritur me sukses tĂ« nxjerrin dhe çmontojnĂ« mikrokodin e procesorit Intel 80386, i cili pĂ«r shkak tĂ« mungesĂ«s sĂ« dokumentacionit ishte konsideruar "kutia e zezĂ«". Imazhi binar i mikrokodit u krijua me ndihmĂ«n e AI sipas fotografive tĂ« kristalit me rezolucion tĂ« lartĂ«, dhe logjika e punĂ«s u analizua pĂ«rmes ndjekjes sĂ« lidhjeve nĂ« kristal. Me kalimin e kohĂ«s, u pĂ«rcaktuan struktura e mikroakomandave (ÎŒ-ops), fushat, rendi i exeecutimit dhe shenjat e fundit tĂ« instruksioneve. NjohuritĂ« nga projekti janĂ« publikuar nĂ« GitHub si pasuri publike.


U zbulua se në CPU-në 80386, çdo instrukcion ekzekutohet plotësisht përmes mikrokodit, ndërsa në 8086 dhe procesorët modernë, një pjesë e instruksioneve përpunohen drejtpërdrejt. Përveç kësaj, ndryshe nga procesorët 8086, në 80386 mikrokodi nuk implementon algoritmet drejtpërdrejt, por kryesisht konfiguronte akceleratorët harduerikë (multiplikuese, ndaësi, shkëputja e shpejtë, PTU (Uniti për Testimin e Mbrojtjes)).

Gjatë hulumtimit u zbulua gjithashtu një problem i mundshëm sigurie gjatë trajtimit të hartës së të drejtave të hyrjes/daljes (bitmap i të drejtave të hyrjes): gjatë aksesit 4-bytes në porte, bita e të drejtave të hyrjes kontrolloheshin vetëm për 3 bytes të parë, ndërsa aksesin në byte-n e katërt nuk e kontrolloheshin, që teorikisht lejonte aksesin në regjistrat harduerikë, akses të cilit duhej t'i ishte ndaluar.

Në bazë të mikro kodit të publikuar u zhvillua CPU i hapur z386, i implementuar në gjuhën SystemVerilog dhe që punon duke përdorur FPGA. Në vend të implementimit të çdo instruksioni në formën e një RTL (wikipedia.org) (Register-transfer level) në z386 janë implementuar struktura harduerike, të cilat menaxhohen nga mikro kodi origjinal. Performanca e implementimit të përgatitur është në përputhje me një PC të shpejtë 386 (~70MHz). Nën menaxhimin e z386 arriti të startohet me sukses DOS 6/7, DOS/4GW, DOS/32A dhe lojëra, si Doom dhe Cannon Fodder.

Burimi: linux.org.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster