# Conjunto de instrucciones

> El vocabulario de órdenes básicas que entiende un procesador, como x86, ARM o RISC-V.

- Nivel: Avanzado
- Temas: Hardware
- URL: https://tidbit.legios.com.ar/es/instruction-set-architecture/
- En inglés: [Instruction set architecture](https://tidbit.legios.com.ar/instruction-set-architecture/)

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.

## Una analogía

Un idioma y la gente que lo habla. La ISA es el idioma: sus palabras y su gramática. Cada chip es un hablante distinto, que puede hablar más rápido o más lento, pero cualquier texto escrito en ese idioma lo van a entender todos, y nadie que hable otro.

## 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](https://es.wikipedia.org/wiki/Conjunto_de_instrucciones)
- [RISC-V en Wikipedia](https://es.wikipedia.org/wiki/RISC-V)
- [RISC-V International (sitio oficial, en inglés)](https://riscv.org/)

## Términos relacionados

- [CPU](https://tidbit.legios.com.ar/es/cpu/): El chip que ejecuta tus programas, una instrucción tras otra, muy rápido.
- [Python](https://tidbit.legios.com.ar/es/python/): Un lenguaje de programación muy usado, conocido por ser fácil de leer y de escribir.
- [JavaScript](https://tidbit.legios.com.ar/es/javascript/): El lenguaje de programación que corre en las páginas web y las vuelve interactivas.
- [Bit y byte](https://tidbit.legios.com.ar/es/bit-and-byte/): La unidad mínima de información digital y el grupo de ocho que usan las computadoras.
- [Chip](https://tidbit.legios.com.ar/es/semiconductor-chip/): Un pedacito de silicio con miles de millones de interruptores que calculan y recuerdan.
- [Intel](https://tidbit.legios.com.ar/es/intel/): La empresa estadounidense detrás de la mayoría de los procesadores de PC y servidores.
- [AMD](https://tidbit.legios.com.ar/es/amd/): La diseñadora de chips que compite con Intel en CPUs y con NVIDIA en GPUs.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
