JlA 8×59 Cómo habla el CPU con el mundo

Para que un ordenador responda ágil, el CPU se comunica con memoria y periféricos usando ventanas de dirección y de datos, además de interrupciones y dma. En pocas palabras, abrimos la puerta correcta, enviamos o recibimos información y seguimos con la tarea.

Empecemos por dentro. El procesador maneja registros donde guardamos instrucciones, datos en curso y direcciones. Cuando queremos leer o escribir en la memoria, colocamos la dirección en la ventana correspondiente y el valor viaja por la ventana de datos, que es de ida y vuelta. Esta pareja de caminos suele llamarse bus de direcciones y bus de datos, y permite que cada componente se entienda sin gritar.

Si pedimos leer, la memoria nos devuelve el contenido en la ventana de datos. Si pedimos escribir, enviamos el contenido por esa misma vía. Así de simple para nosotros, aunque debajo haya señales sincronizadas, temporización y control de errores para que nada se corrompa por el camino.

Y los dispositivos externos no esperan. Un teclado, un disco o una tarjeta de red avisan mediante una interrupción. Es una señal que hace que el procesador guarde lo que estaba haciendo, recuerde dónde iba y atienda una rutina breve que gestiona el evento. Si tenemos activado un modo no molestar, el aviso se anota y se procesa después, de forma ordenada y sin perder pulsaciones ni bloques.

Para flujos intensos, algunos periféricos como una webcam o un adaptador de almacenamiento usan acceso directo a memoria. Antes de empezar, el procesador configura qué región de memoria se llenará, desde dónde llegan los datos y durante cuánto tiempo. Luego el dispositivo escribe o lee sin pasar por el procesador en cada byte, y este queda libre para planificar tareas, actualizar la interfaz o ejecutar juegos. Menos viajes y menos copias, más rendimiento.

Gracias a esta combinación de buses, interrupciones y acceso directo a memoria, el sistema operativo coordina varios dispositivos a la vez. Asigna prioridades, mantiene colas de trabajo, sincroniza controladores y usa búferes para que nada se pierda. Así conseguimos multitarea fluida incluso cuando tecleamos, escuchamos música y descargamos archivos a la vez.

Propuesta de juego exprés. Repartimos roles: una persona es el procesador, otra la memoria y otra un teclado o una webcam. Preparamos dos tarjetas que digan dirección y datos, y una tarjeta que diga interrupción. Jugamos a pasar papelitos con valores simulados cuando la memoria responde o el teclado avisa. Si activamos el modo no molestar, la tarjeta de interrupción se va a una pila de pendientes y la atendemos al final.

Si te va esta forma clara y divertida de aprender tecnología, ven a ver lo que estamos creando en JeiJoLand.