Двоичен превод

концепция

двоичен превод (двоичен превод) е технология, директно преведена за изпълнение на двоични процедури, които могат да превеждат двоични програми на процесор към друг процесор. Внедряване. Това улеснява трансплантацията между двоичните файлове между различни процесори, за да се разшири обхватът на хардуера/софтуера, като помага за прекъсване на процесора и софтуера за поддръжка между споменатите по-горе процесори и софтуер за поддръжка, засягащ иновациите.

Binary translation

Тип

Въз основа на софтуерно базиран двоичен превод, той може да бъде разделен на три категории: интерпретация, статичен превод, динамичен превод.

1. Интерпретация Извършва интерпретация в реално време на всяка инструкция в кода на изходния процесор, системата не запазва интерпретацията на обяснението, без намеса на потребителя, без оптимизация, интерпретаторът е относително Лесен е за разработване, по-лесен е за да бъде много съвместим със старата архитектура, но ефективността на изпълнение на кода е лоша.

2. Статичният превод е да го преведе, преди кодът на изходния процесор да бъде изпълнен и двоичният изпълним файл A на изходната машина да бъде напълно преведен в двоичен изпълним програмен файл B на целевата машина и след това да се изпълни програмата на целевата B Резултатът от превода може да се използва многократно. Програмата за офлайн превод на статичен преводач, има достатъчно време за извършване на по-пълна и щателна оптимизация, изпълнението на кода е високо. Статичният преводач обаче не може да реши добре Самомодифициран код, непреки извиквания на процедури и непреки скокове, изисква поддръжка за интерпретатор; и статичните преводачи изискват участието на крайни потребители, което създава на потребителите много неудобства.

3. Динамичният превод се преобразува в изпълнения сегмент, когато програмата работи, преодолявайки някои от недостатъците на статичните преводи - ако не можете да знаете регистъра или паметта на регистъра или паметта в контролния поток, изкопаването на кода не може да бъде постигнато ; динамичният превод също може да реши проблема със самопроменящия се код в повечето реални условия, а това е невъзможно при статичен превод [14]; динамичният превод може да използва динамична информация за разкопаване на статичния компилатор Открити възможности за оптимизация; динамичните преводачи могат да бъдат напълно прозрачни за потребителите без намеса на потребителя.

Related Articles
TOP