ChatPaper.aiChatPaper

Da CISC para RISC: transpilação de assembly guiada por modelo de linguagem.

From CISC to RISC: language-model guided assembly transpilation

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

Resumo

A transição da arquitetura x86 para ARM está se tornando cada vez mais comum em diversos domínios, principalmente impulsionada pela eficiência energética da ARM e pelo desempenho aprimorado em setores tradicionais. No entanto, essa mudança de ISA apresenta desafios significativos, principalmente devido ao extenso ecossistema legado de software x86 e à falta de portabilidade entre ecossistemas proprietários e pilhas de software. Este artigo apresenta o CRT, um transpilador leve baseado em LLM que converte automaticamente o assembly x86 para assembly ARM. Nossa abordagem preenche a lacuna arquitetural fundamental entre a CISC baseada em x86 e a RISC baseada em ARM, preservando a semântica do programa e otimizando o desempenho. Avaliamos o CRT em diversas aplicações do mundo real, alcançando uma precisão de tradução de 79,25% de x86 para ARMv5 em nosso conjunto abrangente de testes, e uma precisão de 88,68% de x86 para RISC-V. Em implantações práticas no hardware Apple M2 (ARMv8), nosso código transpilado alcança um aumento de velocidade de 1,73 vezes em comparação com o mecanismo de virtualização Rosetta 2 da Apple, ao mesmo tempo que proporciona uma eficiência de memória 2,41 vezes maior e um consumo de energia 1,47 vezes melhor. Por meio de testes e análises, demonstramos que o CRT navega com sucesso na divisão CISC/RISC e gera código RISC corretamente executável, apesar das barreiras de "linguagem" da máquina. Disponibilizamos nosso código, modelos, conjuntos de dados de treinamento e benchmarks em: 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