El ordenador
El microprocesador está en el centro de un sistema, pero necesita canales de comunicación para interactuar con memoria, discos, teclado, pantalla, sensores, etc. Estos canales se organizan principalmente mediante buses, puertos e interrupciones.
7.1 Buses del sistema
Un bus es un conjunto de líneas (cables o pistas en la placa) que transporta información.
Los principales son:
-
Bus de datos
- Transporta la información (números, caracteres, instrucciones).
- Puede ser de 8, 16, 32, 64 bits, según la arquitectura.
- Cuanto más ancho, más datos viajan en paralelo.
-
Bus de direcciones
-
Indica en qué lugar de la memoria o dispositivo se va a leer/escribir.
-
El número de líneas determina el máximo de memoria direccionable.
- Ejemplo: 32 bits → 2³² direcciones = 4 GB.
- Ejemplo: 64 bits → 2⁶⁴ direcciones (teóricamente 16 exabytes).
-
-
Bus de control
- Transporta señales que sincronizan y controlan la comunicación.
- Ejemplo: lectura (READ), escritura (WRITE), interrupción (IRQ).
👉 Se puede pensar en los buses como las autopistas que conectan el procesador con el resto del sistema.
7.2 Puertos de entrada/salida (E/S)
Un microprocesador necesita comunicarse con dispositivos externos (teclado, pantalla, red, etc.). Para ello usa puertos de E/S:
-
E/S mapeada en memoria (memory-mapped I/O): Los dispositivos se manejan como si fueran direcciones de memoria. Ejemplo: escribir en la dirección
0xB8000en PCs antiguos mostraba texto en la pantalla. -
E/S mediante puertos dedicados (I/O ports): Se usan instrucciones especiales (ejemplo en x86:
INyOUT).
👉 Hoy en día, lo más usado es la E/S mapeada en memoria, porque simplifica el diseño.
7.3 Controladores
Los periféricos son demasiado lentos comparados con el microprocesador. Para que el CPU no se quede esperando, se usan controladores: chips especializados que gestionan dispositivos y avisan al procesador cuando han terminado.
Ejemplo:
- Controlador de disco → gestiona lectura/escritura en HDD o SSD.
- Controlador de red → maneja paquetes sin que el CPU tenga que leer cada bit.
7.4 Interrupciones
Una interrupción es una señal que detiene temporalmente el flujo normal del procesador para atender un evento externo.
Ejemplo:
- Pulsar una tecla → genera una interrupción → el procesador ejecuta la rutina del teclado.
- Llegada de un paquete de red.
- Fin de una operación de disco.
👉 Tipos:
- Interrupciones externas (hardware): generadas por dispositivos.
- Interrupciones internas (software): generadas por instrucciones especiales o errores (ej. división por cero).
✅ Ventaja: el procesador no necesita estar constantemente "preguntando" (polling) al dispositivo, ahorrando tiempo y energía.
7.5 Ejemplo práctico
Supongamos que escribes un documento y pulsas una tecla:
- El teclado envía un código por el bus.
- El controlador del teclado lo procesa y lanza una interrupción.
- El procesador detiene lo que estaba haciendo y ejecuta la rutina de atención al teclado.
- El código se guarda en memoria y se muestra en pantalla.
- El procesador vuelve a la tarea anterior.
✅ Resumen clave del punto 7:
- El procesador se comunica con el exterior mediante buses (datos, direcciones, control).
- Los dispositivos se manejan con puertos de E/S o memoria mapeada.
- Los controladores gestionan periféricos sin sobrecargar al procesador.
- Las interrupciones permiten que el CPU atienda eventos externos eficientemente.
- Loading...