Морфинг программного кода


Мо́рфинг програ́ммного ко́да — преобразование кодовой последовательности из одного вида в другой. В микропроцессорной технике под этим понимается преобразование кода, удовлетворяющего некоторым стандартам, таким образом, чтобы он мог быть верно интерпретирован процессором, оперирующим иными стандартами представления данных, кода и т. п. Морфинг может быть осуществлён как на этапе компиляции, так и используя специальную логику, интегрированную в процессор, выполняющую такие преобразования «на лету».

В качестве примера можно привести программную трансляцию для микропроцессоров Efficeon со 256-разрядным словом и Crusoe со 128-разрядным словом (предыдущая модель), которая на лету осуществляет морфинг x86-кода в родной для указанных процессоров VLIW-код[1].