Eseguite le operazioni di disassemblaggio del microcodice i386 e creato un CPU z386 aperto

Gli appassionati sono riusciti a estrarre e disassemblare con successo il microcodice del processore Intel 80386, che a causa della mancanza di documentazione era considerato un «black box». L'immagine binaria del microcodice è stata ricreata con l'aiuto dell'AI a partire da fotografie dell'chip ad alta risoluzione, e la logica operativa è stata analizzata tracciando le connessioni sul chip. Gradualmente sono state definite la struttura delle microcomandi (μ-ops), i campi, l'ordine di esecuzione e i marcatori di fine istruzione. I risultati del progetto sono stati pubblicati su GitHub come patrimonio pubblico.

Eseguite le operazioni di disassemblaggio del microcodice i386 e creato un CPU z386 aperto

È stato scoperto che nel CPU 80386 ogni istruzione è completamente eseguita tramite microcodice, mentre nell'8086 e nei processori moderni parte delle istruzioni è gestita direttamente. Inoltre, a differenza dei processori 8086, nel 80386 il microcodice non implementa algoritmi direttamente, ma configura principalmente acceleratori hardware (moltiplicatore, divisore, shift veloce, PTU (Protection Test Unit)).

Durante la ricerca è stato anche identificato un possibile problema di sicurezza nella gestione della bitmap dei diritti di accesso all'input/output (IO permission bitmap): durante un accesso a 4 byte alle porte, i bit dei diritti di accesso venivano verificati solo per i primi 3 byte, senza controllare l'accesso al 4° byte, il che teoricamente permetteva l'accesso a registri hardware a cui l'accesso doveva essere vietato.

Sulla base del microcodice pubblicato è stato sviluppato il CPU aperto z386, implementato in SystemVerilog e funzionante su FPGA. Invece di implementare ogni istruzione come un RTL (Register-transfer level) separato, nel z386 sono state realizzate strutture hardware gestite dal microcodice originale. Le prestazioni dell'implementazione preparata corrispondono a quelle di un rapido PC 386 (~70MHz). Sotto il controllo del z386 è stato possibile avviare con successo DOS 6/7, DOS/4GW, DOS/32A e giochi come Doom e Cannon Fodder.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster