Ua unuhi a wehe pono nā mea hoihoi i ka microcode o kahi kaʻina hana Intel 80386, kahi i manaʻo ʻia he "pahu ʻeleʻele" ma muli o ka nele o nā palapala. Ua hana hou ʻia kahi kiʻi binary o ka microcode me ka hoʻohana ʻana i ka AI mai nā kiʻi kiʻekiʻe o ka make, a ua wehewehe ʻia ke kumu me ka hoʻohana ʻana i nā uwea ma luna o ka make. Ua hoʻoholo mālie ʻia ke ʻano o ka micro-ops, nā kahua, ke kauoha hoʻokō, a me nā māka hopena o ke kuhikuhi. Ua paʻi ʻia nā ʻike o ka papahana ma GitHub ma ke ʻano he kikowaena lehulehu.

Ua ʻike ʻia ma ka CPU 80386, hoʻokō piha ʻia kēlā me kēia kuhikuhi ma o ka microcode, ʻoiai ma nā kaʻina hana 8086 a me kēia wā, hana pololei ʻia kekahi mau kuhikuhi. Eia kekahi, ʻaʻole e like me nā kaʻina hana 8086, ʻaʻole hoʻokō pololei ka microcode ma ka 80386 i nā algorithms, akā hoʻonohonoho mua i nā mea hoʻolalelale lako (multiplier, divider, fast shifter, PTU (Protection Test Unit)).
Ua hōʻike pū ke aʻo ʻana i kahi pilikia palekana e hiki mai ana i ka lawelawe ʻana i ka bitmap ʻae IO: i ke komo ʻana i nā awa 4-byte, ua nānā wale ʻia nā ʻāpana ʻae no nā 3 bytes mua, a ʻaʻole i nānā ʻia ke komo ʻana i ka 4th byte, kahi i ʻae ʻia ai ke komo ʻana i nā mea hoʻopaʻa inoa lako i pono ʻole ke komo ʻia.
Ma muli o ka microcode i paʻi ʻia, ua hoʻomohala ʻia kahi CPU z386 open-source, i hoʻokō ʻia ma SystemVerilog a holo ma kahi FPGA. Ma kahi o ka hoʻokō ʻana i kēlā me kēia kuhikuhi ma ke ʻano he RTL (Register-Transfer Layer) kaʻawale, hoʻokō ka z386 i nā ʻano lako i kāohi ʻia e ka microcode mua. Hoʻohālikelike ka hana o ka hoʻokō hopena me kahi PC 386 wikiwiki (~70 MHz). Ua holo pono ka z386 iā DOS 6/7, DOS/4GW, DOS/32A, a me nā pāʻani e like me Doom a me Cannon Fodder.
Source: opennet.ru
