Qué es una ALU
En la lección anterior vimos la instrucción "suma". Pero ¿quién hace de verdad esa suma? ¿Y quién se encarga de restar y comparar? Conozcamos al trabajador de la CPU que solo se dedica a calcular: la ALU.
Una parte que solo calcula
Dentro de la CPU hay una parte que solo se dedica a calcular. Se llama ALU.
Si le das dos números y "qué cálculo hacer", hace ese cálculo y entrega el resultado.
Es como el corazón de una calculadora.
Dos números entran por arriba y el resultado sale por abajo.
ALU son las siglas en inglés de "unidad aritmético-lógica".
El nombre suena grandioso, pero su trabajo es claro.
Hace el cálculo que se le pide con los dos números que recibe, y nada más.
Elegir el tipo de cálculo con un selector
La ALU es útil porque no hace un solo tipo de cálculo.
Gira el selector de "qué cálculo" para elegir entre sumar, restar o multiplicar, y los mismos dos números dan resultados distintos.
Abajo puedes escribir dos números y cambiar el selector.
Escribe dos números y elige un cálculo.
Solo cambió el selector, y el mismo trabajador hizo otro cálculo.
Este "qué cálculo" es en realidad un valor que fija la instrucción de la lección anterior.
El sumador de la lección 6 vive aquí
Si abres la ALU, encuentras algo conocido: el sumador que construimos en la lección 6.
Ese sumador se encarga de sumar, y pequeños circuitos para restar, comparar y hacer operaciones lógicas como AND y OR conviven aquí.
Los circuitos de cálculo reunidos dentro de la ALU.
Los pequeños circuitos que construimos uno a uno en las lecciones 5 y 6 eran en realidad piezas de esta ALU.
Piezas pequeñas se juntaron para formar un trabajador que calcula.
La ALU también responde "¿cuál es mayor?"
Entre los trabajos de la ALU, comparar importa tanto como calcular.
Responde con verdadero o falso a preguntas como "¿este número es mayor que aquel?" o "¿los dos números son iguales?".
Ese solo verdadero o falso se convertirá más adelante en la semilla de una bifurcación llamada "si".
Verdadero es 1, falso es 0. Para una computadora, esto también es 0 y 1.
La respuesta a "¿10 es mayor que 7?" es verdadero.
Este juicio tan simple es importantísimo.
Cada vez que un programa mira una situación y elige un camino, empieza con una comparación así.
La instrucción gira el selector
Ahora se encuentran las dos historias.
La parte delantera de una instrucción de la lección anterior, el código de operación, es justo lo que gira el selector de la ALU.
"Suma" pone el selector en suma; "resta", en resta.
Es decir, el tipo de cálculo que debe hacer la ALU viene escrito dentro de la instrucción.
El código de operación de la instrucción → el selector de la ALU.
La instrucción decide qué hacer y la ALU realiza el cálculo.
Con esto ya están dos piezas clave de la CPU.
En la próxima lección miraremos la CPU completa para ver cómo estas dos trabajan como una sola.