ChatPaper.aiChatPaper

Von CISC zu RISC: Assembler-Transpilierung unter Verwendung von Sprachmodellen

From CISC to RISC: language-model guided assembly transpilation

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

Zusammenfassung

Der Übergang von der x86- zur ARM-Architektur wird in verschiedenen Bereichen immer häufiger, hauptsächlich aufgrund der Energieeffizienz von ARM und der verbesserten Leistung in traditionellen Sektoren. Diese ISA-Verschiebung stellt jedoch bedeutende Herausforderungen dar, hauptsächlich aufgrund des umfangreichen Legacy-Ökosystems von x86-Software und der mangelnden Portabilität zwischen proprietären Ökosystemen und Software-Stacks. Dieser Artikel stellt CRT vor, einen leichten LLM-basierten Transpiler, der x86-Assembly automatisch in ARM-Assembly umwandelt. Unser Ansatz überbrückt die grundlegende architektonische Kluft zwischen dem CISC-basierten x86 und dem RISC-basierten ARM, während er die Programmsyntax bewahrt und die Leistung optimiert. Wir evaluieren CRT anhand verschiedener realer Anwendungen und erzielen eine Übersetzungsgenauigkeit von 79,25% von x86 nach ARMv5 in unserem umfassenden Testpaket sowie eine Genauigkeit von 88,68% von x86 nach RISC-V. In praktischen Anwendungen auf Apple M2-Hardware (ARMv8) erreicht unser transpilierter Code eine 1,73-fache Beschleunigung im Vergleich zum Apple Rosetta 2 Virtualisierungsmotor, bei gleichzeitiger Erzielung einer 2,41-fachen Speffizienz und einer 1,47-fach besseren Energieeffizienz. Durch Tests und Analysen zeigen wir, dass CRT erfolgreich die CISC/RISC-Spaltung bewältigt und trotz maschineller "Sprach"barrieren korrekt ausführbaren RISC-Code generiert. Wir veröffentlichen unseren Code, Modelle, Trainingsdatensätze und Benchmarks unter: 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