ChatPaper.aiChatPaper

Van CISC naar RISC: assemblage-transpilatie geleid door taalmodel

From CISC to RISC: language-model guided assembly transpilation

November 25, 2024
Auteurs: Ahmed Heakl, Chaimaa Abi, Rania Hossam, Abdulrahman Mahmoud
cs.AI

Samenvatting

De overgang van x86 naar ARM-architectuur wordt steeds gebruikelijker in verschillende domeinen, voornamelijk gedreven door de energie-efficiëntie van ARM en verbeterde prestaties in traditionele sectoren. Deze ISA-verandering brengt echter aanzienlijke uitdagingen met zich mee, voornamelijk vanwege het uitgebreide legacy-ecosysteem van x86-software en het gebrek aan draagbaarheid tussen eigen ecosystemen en softwarestacks. Dit artikel introduceert CRT, een lichtgewicht LLM-gebaseerde transpiler die automatisch x86-assembly naar ARM-assembly omzet. Onze aanpak overbrugt de fundamentele architecturale kloof tussen x86's CISC-gebaseerde en ARM's RISC-gebaseerde rekenparadigma's, met behoud van programmatische semantiek en het optimaliseren van prestaties. We evalueren CRT op diverse real-world toepassingen, waarbij we een vertaalnauwkeurigheid van 79,25% behalen van x86 naar ARMv5 op onze uitgebreide testreeks, en een nauwkeurigheid van 88,68% van x86 naar RISC-V. In praktische implementaties op Apple M2-hardware (ARMv8), behaalt onze getranspileerde code een snelheidsverbetering van 1,73 keer in vergelijking met Apple's Rosetta 2 virtualisatiemotor, terwijl deze 2,41 keer geheugenefficiënter is en 1,47 keer beter energie verbruikt. Door middel van testen en analyse tonen we aan dat CRT met succes de CISC/RISC-scheiding overbrugt en correct uitvoerbare RISC-code genereert ondanks machine "taal" barrières. We publiceren onze code, modellen, trainingsdatasets en benchmarks op: https://ahmedheakl.github.io/asm2asm/.
English
The transition from x86 to ARM architecture is becoming increasingly common across various domains, primarily driven by ARM's energy efficiency and improved performance across traditional sectors. However, this ISA shift poses significant challenges, mainly due to the extensive legacy ecosystem of x86 software and lack of portability across proprietary ecosystems and software stacks. This paper introduces CRT, a lightweight LLM-based transpiler that automatically converts x86 assembly to ARM assembly. Our approach bridges the fundamental architectural gap between x86's CISC-based and ARM's RISC-based computing paradigms while preserving program semantics and optimizing performance. We evaluate CRT on diverse real-world applications, achieving 79.25% translation accuracy from x86 to ARMv5 on our comprehensive test suite, and an 88.68% accuracy from x86 to RISC-V. In practical deployments on Apple M2 hardware (ARMv8), our transpiled code achieves 1.73times speedup compared to Apple's Rosetta 2 virtualization engine, while delivering 2.41times memory efficiency and 1.47times better energy consumption. Through testing and analysis, we show that CRT successfully navigates the CISC/RISC divide and generates correctly executable RISC code despite machine ``language'' barriers. We release our code, models, training datasets, and benchmarks at: https://ahmedheakl.github.io/asm2asm/.

Summary

AI-Generated Summary

PDF157November 26, 2024