18-06-2023
Мо́рфинг програ́ммного ко́да — это преобразование кодовой последовательности из одного вида в другой. В микропроцессорной технике под этим понимается преобразование кода, удовлетворяющего некоторым стандартам, таким образом, чтобы он мог быть верно интерпретирован процессором, оперирующим иными стандартами представления данных, кода и т. п. Морфинг может быть осуществлён как на этапе компиляции, так и используя специальную логику, интегрированную в процессор, выполняющую такие преобразования «на лету».
В качестве примера можно привести программную трансляцию для микропроцессоров Efficeon со 256-разрядным словом и Crusoe со 128-разрядным словом (предыдущая модель), которая на лету осуществляет морфинг x86-кода в родной для указанных процессоров VLIW-код.
По утверждению сайта ЗАО "МЦСТ" http://www.mcst.ru/b_13.shtml, их продукт "Эльбрус-3М1" обладает программным транслятором (или технологией двоичной трансляции, поддерживаемой аппаратно? http://www.mcst.ru/b_4-5.shtml) x86-кода в родной E2K-код (не путать с процессором МЦСТ-R500S, который основан на SPARC-архитектуре).
Морфинг программного кода.