Traduzione binaria

concetto

la traduzione binaria (traduzione binaria) è una tecnologia tradotta direttamente per eseguire procedure binarie, che possono tradurre programmi binari su un processore in un altro processore. Implementazione. Semplifica il trapianto tra i binari tra diversi processori per espandere la portata dell'hardware / software, contribuendo a rompere il processore e il software di supporto tra i processori e il software di supporto precedentemente menzionati che influenzano l'innovazione.

Binary translation

Tipo

Basato sulla traduzione binaria basata su software, può essere suddiviso in tre categorie: interpretazione, traduzione statica, traduzione dinamica.

1. Interpretazione Esegue l'interpretazione in tempo reale di ciascuna istruzione nel codice del processore sorgente, il sistema non salva l'interpretazione della spiegazione, nessuna interferenza dell'utente, nessuna ottimizzazione, l'interprete è relativamente È facile da sviluppare, è più facile essere altamente compatibile con la vecchia architettura, ma l'efficienza di esecuzione del codice è scarsa.

2. La traduzione statica consiste nel tradurla prima che il codice del processore di origine venga eseguito e il file eseguibile binario A sulla macchina di origine sia completamente tradotto in un file di programma eseguibile binario B sulla macchina di destinazione, quindi l'esecuzione del programma sulla macchina di destinazione B Il risultato della traduzione può essere utilizzato più volte. Il programma di traduzione offline del traduttore statico, c'è abbastanza tempo per eseguire un'ottimizzazione più completa e meticolosa, l'esecuzione del codice è elevata. Tuttavia, il traduttore statico non può risolvere bene il codice automodificante, le chiamate di procedure indirette e i salti indiretti, richiede il supporto per l'interprete; e i traduttori statici richiedono la partecipazione degli utenti finali, il che crea molto disagio agli utenti.

3. La traduzione dinamica si traduce nel segmento eseguito quando il programma è in esecuzione, superando alcune delle carenze delle traduzioni statiche -, se non è possibile conoscere il registro o la memoria del registro o la memoria nel flusso di controllo, non è possibile ottenere lo scavo del codice ; la traduzione dinamica può anche risolvere il problema del codice automodificante nella maggior parte delle condizioni reali, e questo è impossibile nella traduzione statica [14]; la traduzione dinamica può utilizzare informazioni dinamiche per scavare nel compilatore statico Opportunità di ottimizzazione trovate; i traduttori dinamici possono essere completamente trasparenti per gli utenti senza l'intervento dell'utente.

Related Articles
TOP