U kryer shpërbërjen e mikro-kodit i386 dhe është krijuar CPU i hapur z386

EntuziastĂ«t arritĂ«n tĂ« nxjerrin dhe tĂ« shpĂ«rbĂ«jnĂ« mikro-kodin e procesorit Intel 80386, i cili pĂ«r shkak tĂ« mungesĂ«s sĂ« dokumentacionit Ă«shtĂ« konsideruar "kutia e zezĂ«". Imazhi binar i mikro-kodit u rivendos me ndihmĂ«n e AI-sĂ« nga fotografitĂ« e kristalit me rezolucion tĂ« lartĂ«, dhe logjika e funksionimit u analizua pĂ«rmes gjurmimit tĂ« lidhjeve nĂ« kristal. Gradualisht u pĂ«rcaktuan struktura e mikro-komandave (ÎŒ-ops), fushat, rendi i ekzekutimit dhe shenjat e fundit tĂ« instrukcioneve. Rezultatet e projektit u publikuan nĂ« GitHub si pronĂ« publike.

U kryer shpërbërjen e mikro-kodit i386 dhe është krijuar CPU i hapur z386

U zbulua se në CPU 80386 çdo instrukcion ekzekutohet plotësisht përmes mikro-kodit, ndërsa në 8086 dhe procesorët modernë një pjesë e instrukcioneve përpunohen direkt. Për më tepër, ndryshe nga procesorët 8086, në 80386 mikro-kodi nuk implementon algoritmet direkt, por kryesisht konfiguron përshpejtuesit harduerikë (shumuesi, ndarësi, zhvendosja e shpejtë, PTU (Njësia e Testit të Mbrojtjes)).

Gjatë studimit u zbulua gjithashtu një problem i mundshëm me sigurimin gjatë përpunimit të hartës së të drejtave të qasjes në hyrje/dalje (bitmapi i lejeve të hyrjes): gjatë një aksesimi 4-byte në porta, kontrollet e të drejtave të qasjes i kontrollonin vetëm për 3 byte të parë, dhe qasja në byte-n e 4-të nuk u kontrollua, që dukej se lejonte qasje në regjistrat harduerikë, të cilat duhej të ishin ndaluar.

Në bazë të mikro-kodit të publikuar, u zhvillua CPU i hapur z386, i implementuar në gjuhën SystemVerilog dhe që punon me përdorimin e FPGA. Në vend të implementimit të çdo instrukcioni si një nivel i veçantë RTL (Register-transfer level), z386 implementon struktura harduerike, të cilat menaxhohen nga mikro-kodi origjinal. Performanca e realizimit të përgatitur është e barabartë me një PC të shpejtë 386 (~70MHz). Nën menaxhimin e z386 arritëm të startojmë me sukses DOS 6/7, DOS/4GW, DOS/32A dhe lojëra, si Doom dhe Cannon Fodder.

Burimi: opennet.ru

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