1.2.
4 Buses
En arquitectura de computadores, el bus (o canal) es un sistema digital que
transfiere datos entre los componentes de una computadora o entre computadoras.
Está formado por cables o pistas en un circuito impreso, dispositivos como
resistores y condensadores además de circuitos integrados. En los primeros
computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la
comunicación entre las partes del computador se hacía por medio de cintas o
muchas pistas en el circuito impreso, en los cuales cada conductor tiene una función
fija y la conexión es sencilla requiriendo únicamente puertos de entrada y de salida
para cada dispositivo.
La tendencia en los últimos años se hacia uso de buses seriales como el USB,
Firewire para comunicaciones con periféricos reemplazando los buses paralelos,
incluyendo el caso como el del microprocesador con el chipset en la placa base.
Esto a pesar de que el bus serial posee una lógica compleja (requiriendo mayor
poder de cómputo que el bus paralelo) a cambio de velocidades y eficacias
mayores.
Existen diversas especificaciones de que un bus se define en un conjunto de
características mecánicas como conectores, cables y tarjetas, además de
protocolos eléctricos y de señales.
[Link] Tipos de buses
Bus paralelo
Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda
de varias líneas que tienen funciones fijas. La cantidad de datos enviada es bastante
grande con una frecuencia moderada y es igual al ancho de los datos por la
frecuencia de funcionamiento. En los computadores ha sido usado de manera
intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de
expansión y de vídeo, hasta las impresoras.
Diagrama de un Bus Backplane como extensión del bus de procesador.
El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier
bus presenta unas funciones en líneas dedicadas: Las líneas de dirección son las
encargadas de indicar la posición de memoria o el dispositivo con el que se desea
establecer comunicación. Las líneas de control son las encargadas de enviar
señales de arbitraje entre los dispositivos. Entre las más importantes están las
líneas de interrupción, DMA y los indicadores de estado. Las líneas de datos
transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un
ancho que es potencia de 2.
Un bus paralelo tiene conexiones físicas complejas, pero la lógica es sencilla, que
lo hace útil en sistemas con poco poder de cómputo. En los primeros
microcomputadores, el bus era simplemente la extensión del bus del procesador y
los demás integrados "escuchan" la línea de direcciones, en espera de recibir
instrucciones. En el PC IBM original, el diseño del bus fue determinante a la hora de
elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque
era posible usar hardware diseñado para otros procesadores, abaratando el
producto.
Bus serial
En este los datos son enviados, bit a bit y se reconstruyen por medio de registros
o rutinas de software. Está formado por pocos conductores y su ancho de banda
depende de la frecuencia. Es usado desde hace menos de 10 años en buses para
discos duros, unidades de estado sólido, tarjetas de expansión y para el bus del
procesador.
[Link] Estructura de los buses
Estructura de un bus:
➢ Líneas de datos:
➢ Líneas de dirección
➢ Líneas de control
Datos:
➢ Llevan datos y también comandos para los dispositivos de entrada / salida.
➢ Su amplitud influye en el rendimiento del bus
➢ Relacionado con el tamaño de palabra del sistema
Direcciones:
➢ Llevan direcciones de memoria en acceso a memoria, o permiten
seleccionar un dispositivo conectado al bus.
➢ Su amplitud determina el espacio de direcciones tanto de memoria como
entrada / salida
Control:
➢ Son señales de control de acceso y uso del bus.
➢ Arbitraje del bus
➢ Sincronización de las comunicaciones
➢ Reloj del sistema
[Link] Jerarquías de buses
Jerarquía
Tendencia a utilizar múltiples buses debido a que:
➢ Degradación del rendimiento a medida que aumenta el número de
dispositivos colgados al bus.
➢ "Cuello de botella" de las comunicaciones debido a los tiempos de espera
para acceder al bus.
Por ellos se introducen múltiples buses basando la jerarquía en los requerimientos
de comunicación de los dispositivos:.
➢ Bus local: Conecta al procesador con la cache y con algún dispositivo
e/s muy rápido.
➢ Bus del sistema: Conecta al procesador (a través de la cache) con la
memoria del sistema y con un segundo nivel de dispositivos de velocidad
media.
➢ Bus de expansión: Se conecta al bus del sistema y hace de interfaz entre
este y los dispositivos más lentos