Conjunto de instrucciones
El vocabulario de órdenes básicas que entiende un procesador, como x86, ARM o RISC-V.
Una CPU no entiende Python ni JavaScript. Entiende una lista fija de órdenes muy chiquitas: sumá estos dos números, traé este valor de la memoria, saltá a tal paso si el resultado dio cero. Esa lista, más las reglas de cómo se codifica cada orden en bits, qué registros existen y cómo se direcciona la memoria, es el conjunto de instrucciones (o arquitectura de conjunto de instrucciones), la ISA por sus siglas en inglés. Es un contrato: el software compilado para una ISA corre en cualquier chip que la implemente, sin importar quién lo fabricó ni cómo funciona por dentro.
Hoy importan tres. x86 (en su versión de 64 bits, x86-64) viene de Intel y AMD y mueve la mayoría de las PCs y servidores desde los años 80; arrastra décadas de compatibilidad hacia atrás e instrucciones complejas y de largo variable, un estilo llamado CISC. La arquitectura ARM sigue la idea RISC: menos instrucciones, más simples y de tamaño fijo, más fáciles de ejecutar con eficiencia. La licencia Arm, y está en casi todos los celulares, en las Mac con Apple silicon y en una parte creciente de los servidores en la nube. RISC-V es un diseño RISC más nuevo y es un estándar abierto: cualquiera puede hacer un chip con él sin pagar licencia, y por eso se volvió popular en microcontroladores, investigación y países que buscan no depender de propiedad intelectual extranjera.
La ISA es la razón por la que un programa es "para" una plataforma. Una app compilada para x86 no corre directo en un chip ARM: hay que recompilarla, o traducirla al vuelo con algo como Rosetta 2 de Apple, con algún costo. La vieja idea de que RISC es eficiente y CISC es rápido se fue desdibujando: los x86 modernos traducen sus instrucciones a otras internas más simples, y los ARM modernos son muy rápidos. Hoy las diferencias vienen más del diseño concreto del chip, del proceso de fabricación y del ecosistema de software que de la ISA sola.
Para quedarse
- La ISA es el contrato entre el software y el procesador: qué instrucciones hay y cómo se codifican.
- x86 domina PCs y servidores; ARM domina los celulares y crece en notebooks y nube.
- RISC-V es una ISA abierta y sin regalías que cualquiera puede implementar.
- El software se tiene que compilar o traducir para cada ISA donde corre.
Para seguir leyendo
- Conjunto de instrucciones en Wikipedia
- RISC-V en Wikipedia
- RISC-V International (sitio oficial, en inglés)