Bus (informática)

Un bus, en Informática, é unha canle de comunicación formada por un conxunto de condutores paralelos que conectan dous ou máis dispositivos. A característica chave dun bus é que se trata dun medio de transmisión compartido. As liñas que compoñen un bus pódense clasificar en tres grupos funcionais:

  • As liñas de datos do bus proporcionan o camiño para transmitir datos entre os módulos do sistema. O número de liñas do bus de datos determina o número máximo de bits que é posible transmitir ao mesmo tempo.
  • As liñas de dirección empréganse para designar (direccionar) a fonte ou o destino dos datos enviados polo bus de datos. A anchura do bus de direccións determina a cantidade máxima de memoria (e de dispositivos de E/S) direccionable no sistema.
  • As liñas de control empréganse para xestionar o acceso e o uso das liñas de datos e dirección, sinalizando peticións e recoñecementos e indicando que tipo de información pasa polas liñas de datos.

A denominación provén da industria eléctrotécnica, anterior á informática, na que se denominaban barras (en inglés bus bars) aos condutores paralelos en forma de barras dispostos nas subestacións, centros de transformación e cuartos de distribución en edificios. Por esta razón ao bus informático ás veces en tratados técnicos de electrónica dixital tamén se lle chama barras ou barramento.

Temporización

editar

A temporización é unha parte fundamental no funcionamento do bus, xa que controla a forma na que se coordinan os sucesos sobre o bus. Podemos falar de dous tipos de temporización:

  • A temporización síncrona utiliza un protocolo para a comunicación que está gobernado por un sinal de reloxo. Todos os dispositivos conectados deben funcionar á mesma frecuencia de reloxo. Isto pode conseguirse poñendo en funcionamento un sistema secuencial sinxelo e pode funcionar a grandes velocidades, porén non é adecuado para mesturar dispositivos con grandes diferenzas de velocidade. Ten unha desvantaxe ou problema fundamental, que é a desviación do sinal de reloxo (clock skew). A desviación de reloxo é a diferenza (en tempo absoluto) entre os instantes en que dous elementos reciben o flanco de reloxo. Por mor deste problema os buses non poden ser longos se son rápidos. O bus de memoria adoita a ser síncrono.
  • A temporización asíncrona, pola contra, a ocorrencia dun suceso sobre o bus segue outro suceso previo sen que teña que producirse nun instante de tempo concreto simultaneamente coa aparición dun flanco de reloxo. Os dispositivos empregados na transferencia coordínanse mediante o intercambio de sinais de control (protocolo de handshaking). Xa que non hai sinal de reloxo común, os buses asíncronos poden conectar unha gran variedade de dispositivos de diferentes velocidades. Como non hai problemas de desviación de reloxo, tamén permiten distancias máis longas. O inconveniente é que son máis lentos debido á sobrecarga introducida para lograr coordinar emisor e receptor. Ademais, é máis difícil predicir o tempo que vai levar unha operación de transacción. Os buses de E/S (entrada-saída) adoitan ser asíncronos.