Skip to content

~/si/ud01 $ cat 04-cpu.md

  • Sistemas Informáticos
  • UD01
  • lección 04/10

Quién procesa la información: la CPU

Después de ver cómo se conectan los bloques, nos centramos en el componente que ejecuta instrucciones y coordina el procesamiento de datos.

La unidad central de proceso o CPU es el componente encargado de interpretar y ejecutar las instrucciones de los programas. Coordina el trabajo del sistema y realiza operaciones sobre los datos que recibe desde la memoria o desde otros componentes.

Se dice que la CPU es el “cerebro” del ordenador. La comparación ayuda, pero conviene matizarla: la CPU no piensa ni comprende la información como una persona. Su trabajo consiste en seguir instrucciones muy simples, una detrás de otra, a gran velocidad.

Los componentes de la CPU se especializan en coordinar instrucciones, conservar valores temporales, realizar operaciones y comunicar los bloques internos. Entenderlos como un conjunto permite seguir el recorrido de una instrucción sin tratar cada pieza de forma aislada.

Bloques funcionales internos de una CPU

La unidad de control se encarga de dirigir el funcionamiento interno de la CPU. Interpreta las instrucciones y genera las señales necesarias para que cada parte del procesador actúe en el momento adecuado.

El reloj marca el ritmo de trabajo. Cada ciclo de reloj permite sincronizar operaciones internas de la CPU. Su frecuencia se mide en hercios, normalmente en gigahercios en los procesadores actuales.

La unidad aritmético-lógica, también llamada ALU o ULA, realiza operaciones matemáticas y lógicas. Por ejemplo:

  • sumas y restas.
  • comparaciones entre valores.
  • operaciones lógicas como AND, OR o NOT.

Relación entre reloj, unidad de control y ALU durante la ejecución de una instrucción

Una operación sencilla puede seguir este recorrido:

  1. El reloj emite un pulso que sincroniza el momento en que pueden cambiar los estados internos de la CPU.
  2. La unidad de control interpreta la instrucción actual. Por ejemplo, identifica que debe ejecutarse una suma.
  3. La unidad de control envía a la ALU la orden de realizar esa operación en el instante coordinado por el reloj.
  4. La ALU calcula o compara los valores que ha recibido y genera un resultado.
  5. Ese resultado queda disponible para otro bloque de la CPU, normalmente un registro, desde donde la unidad de control podrá usarlo en el paso siguiente o coordinar su escritura en memoria.

Los registros son pequeñas memorias situadas dentro de la CPU. Son muy rápidos, pero tienen una capacidad muy reducida. Se utilizan para guardar temporalmente instrucciones, direcciones, datos o resultados intermedios mientras se ejecuta un programa.

Algunos registros importantes son:

Registro Función
PC Contador de programa. Guarda la dirección de la siguiente instrucción que se va a ejecutar.
IR Registro de instrucción. Guarda la instrucción que se está procesando en ese momento.
MAR Registro de dirección de memoria. Guarda la dirección de memoria a la que se quiere acceder.
MDR Registro de datos de memoria. Guarda el dato leído desde memoria o el dato que se va a escribir en ella.
Registros de propósito general Guardan operandos, resultados parciales o valores temporales.
Flags Indicadores de estado, por ejemplo si el resultado de una operación ha sido cero, negativo o ha producido acarreo.

Los registros permiten que la CPU trabaje sin tener que acudir constantemente a la memoria principal, que es más lenta.

En el apartado 6 seguiremos el recorrido completo de una instrucción y veremos cómo PC, IR, MAR y MDR intervienen de forma coordinada. De momento, quédate con la idea de que cada registro conserva una pieza concreta de información durante ese recorrido.

Los registros, la unidad de control y la ALU necesitan comunicarse entre sí. Para ello utilizan un bus interno, es decir, un conjunto de líneas de comunicación por las que circulan datos y señales de control dentro del procesador.

Este bus interno no debe confundirse con los buses generales del sistema, estudiados en el punto 3, que conectan CPU, memoria y entrada/salida.

Una operación no utiliza todos los registros disponibles. En este ejemplo, al comienzo solo R1 y R2 contienen los operandos; R3 se reservará para el resultado y R4 no participa. La secuencia muestra cómo la ALU recibe los dos valores y cómo el resultado se guarda después en R3.

Tres fases de una suma: R1 y R2 contienen los operandos, la ALU los suma y R3 recibe el resultado

Lee los tres paneles del diagrama de arriba abajo:

  1. Preparar los operandos. R1 contiene el primer operando (12) y R2 el segundo (30). R3 está libre para recibir el resultado, mientras que R4 no interviene en esta suma. La unidad de control interpreta una instrucción simplificada como SUMAR R1, R2.
  2. Leer y sumar. La unidad de control coordina que los valores de R1 y R2 circulen por el bus interno hasta la ALU. La ALU realiza la operación indicada: 12 + 30, cuyo resultado es 42.
  3. Guardar el resultado. La ALU entrega 42 y la unidad de control coordina que se copie en R3. A partir de ahí, otra instrucción podrá utilizarlo o escribirlo en memoria si el programa lo necesita.

El dibujo simplifica el recorrido: en un procesador real intervienen más señales y registros, pero la idea esencial se mantiene: los registros aportan los valores, la ALU opera y otro registro conserva el resultado.

Para trabajar este bloque, resuelve los ejercicios 1 a 3 con guía del docente y contraste colectivo. Los ejercicios 4 y 5 requieren una explicación más elaborada y pueden realizarse como ampliación.

  1. Verdadero o falso. Justifica cada respuesta: a) la ALU coordina todas las fases de una instrucción b) los registros tienen poca capacidad y gran velocidad c) el reloj ejecuta programas por sí mismo d) el PC guarda la siguiente dirección de ejecución.****

  2. Caso guiado. Una CPU debe sumar dos valores que ya están en registros. Explica qué papel desempeñan la unidad de control, la ALU y los registros antes, durante y después de la operación.

  3. Diferencia de buses. Compara en dos frases el bus interno de la CPU con los buses del sistema que conectan CPU, memoria y entrada/salida.

  4. Ampliación: explica un rendimiento. Dos CPU tienen la misma frecuencia de reloj, pero una completa una tarea antes. Propón tres características, distintas de la frecuencia, que podrían influir y relaciónalas con los bloques estudiados. (Buscar qué es la frecuencia de reloj)

  5. Ampliación: corrige una explicación técnica. Un compañero escribe: “La ALU busca la siguiente instrucción en la RAM, decide qué operación conviene realizar y guarda por sí sola el resultado”. Señala tres errores concretos.