* Operaciones aritméticas y lógicas: Agregar, restar, multiplicar, dividir, y orinar, orientar, xering, comparar valores.
* Movimiento de datos: Carga de datos de la memoria a los registros, almacenando datos de los registros en la memoria, moviendo los datos entre registros.
* flujo de control: Ramificación (salto) a diferentes partes del programa basada en condiciones, bucle (instrucciones de repetición), llamando a subrutinas (funciones).
* entrada/salida (I/o): Comunicarse con periféricos como el disco duro, el teclado, la pantalla, etc.
Estas instrucciones básicas se denominan colectivamente la arquitectura del conjunto de instrucciones (ISA) de la CPU. Las diferentes arquitecturas de CPU (como X86, Arm, RISC-V) tienen diferentes ISA, lo que significa que tienen diferentes conjuntos de instrucciones de código de máquina.
Es importante tener en cuenta:
* Lenguaje de ensamblaje: Los programadores rara vez escriben directamente en el código de la máquina. En cambio, usan el lenguaje de ensamblaje, que es una representación legible por humanos del código de máquina. Un ensamblador luego traduce el código de ensamblaje al código de la máquina.
* Idiomas de nivel superior: La mayoría de la programación se realiza en lenguajes de nivel superior (como C ++, Java, Python) que se abstraen aún más del código de la máquina. Los compiladores o intérpretes traducen estos idiomas de alto nivel en el código de la máquina que la CPU puede ejecutar.
Entonces, mientras que la CPU solo "comprende" las instrucciones del código de la máquina binaria, el proceso de creación y ejecución de programas implica múltiples capas de abstracción para hacer que la programación sea más manejable para los humanos.