🚌 Bus, interfaces y protocolos de entrada y salida
Ahora sabemos que existen varios tipos de dispositivos de entrada y salida. Pero, ¿cómo están conectados a la computadora? ¿Cómo se comunican entre sí? Eso es lo que veremos en esta sección.
Primero, algunas definiciones. Estas definiciones se volverán más intuitivas a medida que avancemos en el curso.
Definiciones
🧱 Bus
❓ ¿Qué líneas conectan físicamente los componentes entre sí para transmitir datos, direcciones y comandos?
Un bus es un conjunto de líneas físicas (pistas en la placa base) que permite a los componentes internos de una computadora (CPU, RAM, periféricos) transmitir información. Puede transportar datos, direcciones o señales de control. PCI, PCIe, I2C y SPI son ejemplos de buses.
🔌 Conector
❓ ¿Cómo conecto físicamente un dispositivo a otro?
Un conector es un elemento de hardware (enchufe + puerto) que permite la conexión física entre dos dispositivos o componentes. Soporta una interfaz, pero no la define por sí solo. USB-C, HDMI, RJ45, M.2, SATA, PCIe x16 son ejemplos de conectores.
📡 Interfaces y protocolos
❓ ¿Cómo están interconectados, eléctrica y lógicamente, los dos dispositivos? ¿Qué reglas utilizan los dispositivos para entenderse?
Una interfaz es una especificación (a menudo normalizada) que describe cómo dos componentes intercambian datos. A menudo incluye la especificación física (conectores, cableado) y la especificación lógica (protocolos de comunicación, señales).
Un protocolo es un conjunto de reglas lógicas que permite a dos componentes intercambiar información de manera estructurada.
Algunos ejemplos de interfaces y protocolos son: USB (2.0, 3.2, 4), HDMI (1.4, 2.0, 2.1), SATA (I, II, III), Ethernet, DisplayPort, NVMe, etc.
Para algunos, los términos interfaz y protocolo son intercambiables. Para otros, el protocolo se centra únicamente en la parte lógica, y no física, de la comunicación.
Topología de los buses: Shared vs Point-to-Point
Bus compartido (Shared bus)
Un bus compartido es una única línea de comunicación utilizada por varios componentes para transmitir datos, direcciones y señales de control. Los componentes deben esperar su turno para hablar, como en una conversación de varias personas en una sola línea telefónica.
Ventajas:
- Menos cableado (un solo bus para compartir).
- Simplicidad de fabricación.
Inconvenientes:
- Riesgo de colisiones (dos componentes hablan al mismo tiempo).
- Necesidad de un sistema de arbitraje (prioridad, demoras).
- Rendimiento limitado (compartición de ancho de banda).
- Cuantos más componentes, más lento es.
Ejemplos
- PCI (bus de expansión compartido en los años 1990–2000)
- IDE/PATA (dos discos en una sola cinta)
- ISA (bus de comunicación para tarjetas de expansión)
Bus punto a punto
Con el tiempo, las arquitecturas han evolucionado hacia conexiones dedicadas entre cada componente y la CPU o el chipset. Se habla entonces de bus punto a punto, ya que cada periférico dispone de su propio canal de comunicación.
Ventajas
- No hay posibilidad de colisión
- Rendimiento independiente para cada periférico
- Menor latencia, mayor fiabilidad
- Arquitectura más fácil de ampliar
Inconvenientes
- Más cableado/pistas en la placa base
- Mayor complejidad de diseño
Ejemplos
- PCIe (cada tarjeta tiene sus propias líneas)
- SATA (un cable por disco)
- USB. USB permite conectar varios periféricos en un mismo cable (hub), pero cada periférico tiene su propio canal de comunicación, ya que la CPU (chipset) interroga a cada periférico individualmente. Así que, aunque físicamente varios periféricos compartan el cable (a través de un hub), en un momento dado, solo un diálogo está activo.
El papel de la placa base
La placa base es el soporte físico principal que conecta todos los componentes de una computadora: CPU, RAM, chipset, SSD, puertos USB, etc. Contiene pistas conductoras que forman los buses físicos de comunicación.
Actúa como una red de autopistas:
- Vías rápidas para la RAM, las GPU (PCIe x16)
- Vías secundarias para USB, SATA, audio
- Puentes de comunicación entre los componentes a través del chipset
La placa base también proporciona:
- Alimentación eléctrica a los componentes
- Los conectores (puertos) para conectar los periféricos
- Los circuitos de control para inicializar y gestionar las comunicaciones
De forma muy simplificada, puede ver la placa base como una gran red de buses físicos y conectores, que permite a los diferentes componentes comunicarse entre sí.
Comunicación CPU – Chipset – Periféricos
La CPU (procesador)
Las CPU son unidades de procesamiento central que ejecutan instrucciones y gestionan los cálculos. En resumen, es el cerebro de la computadora. En resumen, un procesador:
- Gestiona los cálculos, las instrucciones, los accesos a memoria
- Puede comunicarse directamente con algunos periféricos (muy rápidos):
- RAM (a través de un controlador de memoria integrado)
- GPU (a través de PCIe x16)
- SSD NVMe (PCIe x4)
Estas conexiones son punto a punto y muy rápidas
El Chipset (o PCH)
El chipset, también llamado Platform Controller Hub (PCH) en las arquitecturas recientes de Intel, es un componente situado en la placa base que actúa como un hub de comunicación entre la CPU y los demás periféricos menos rápidos. Permite, en particular:
-
Gestionar las comunicaciones entre:
-
Los puertos USB
-
El almacenamiento SATA (discos duros, SSD 2.5")
-
La red Ethernet o Wi-Fi integrada
-
La BIOS / UEFI
-
Los puertos de expansión (PCIe adicionales, audio, etc.)
-
-
Ofrecer líneas PCIe adicionales para tarjetas de expansión (a menudo menos rápidas que las conectadas directamente a la CPU)
Aunque el chipset está físicamente separado de la CPU, está conectado punto a punto a la CPU a través de un bus DMI (Direct Media Interface), que es rápido pero compartido entre todos los periféricos que pasan por el chipset.