Hab mich noch nicht großartig in das Thema eingarbeitet, aber soweit ich sehe geht es um folgendes:
TLDR:
Es geht schlicht darum binären x64 und binären ARM64 Code parallel im gleichen Prozess zu haben. Der für ARM64EC kompilierte Code (z.B. die Hauptanwendung) läuft nativ auf dem ARM Prozessor, der x64 Code (z.B. Plugin oder ne 3rd Party Library, die man nicht für ARM compilieren kann) wird emuliert.
Erklärung:
ARM64EC ist eine Abwandlung der ARM64 ABI. Das Application Binary Interface bestimmt z.B. die Größe und das Layout verschiedener Datentypen und wie Parameter an Funktionen übergeben werden. Letztendlich ist eine gemeinsamme ABI unter anderem entscheidend dafür, dass z.B. eine C-Funktion, die zum Zeitpunkt X kompiliert wurde und eine Funktion Y aufruft, die zu einem anderen Zeitpunkt kompiliert wurde die Parameter in einem Format übergibt, dass von Funktion Y auch korrekt interpretiert wird.
Für ARM64EC compilierter Code ist immer noch nativer ARM Code, nur wurde darauf geachtet, dass das Datenbinärformat kompatibel zu dem der Windows x64 ABI ist. Das ermöglicht es, dass eine regulär für x64 kompilierte Funktion eine ARM Funktion aufrufen kann (oder umgekehrt), ohne dass der Compiler mit dem der x64 Code erstellt wurde jemals was von der Windows ARM64 ABI (Egal ob mit oder ohne EC) gehört haben musste.
Im Detail ist das ganze natürlich noch wesentlich komplexer, aber ich hoffe das reicht zum Grundsätzlichen Verständnis.