Bus (informàtica)
En arquitectura d'ordinadors, un bus és un sistema digital que transfereix dades entre els components d'una computadora o entre computadores. Està format per cables o pistes en un circuit imprès i dispositius com ara resistències i condensadors a més de circuits integrats.
En els primers computadors electrònics, tots els busos eren de tipus paral·lel, de manera que la comunicació entre les parts d'ordinador es feia per mitjà de cintes o moltes pistes al circuit imprès, en els quals cada conductor té una funció fixa i la connexió és senzilla requerint únicament ports d'entrada i de sortida per cada dispositiu.
Però, la tendència dels últims anys és l'ús de busos serials com l'USB, per comunicacions amb perifèrics i el reemplaçament de busos paral·lels per connectar tota mena de dispositius. Són connexions amb lògica complexa que requereixen en alguns casos gran poder de còmput en els mateixos dispositius, però que tenen grans avantatges davant del bus paral·lel que és menys intel·ligent.
Hi ha diferents especificacions que defineixen un conjunt de busos de característiques mecàniques com connectors, cables i targetes, a més de protocols elèctrics i de senyals.
Funcionament
modificaLa funció del Bus és la de permetre la connexió lògica entre diferents subsistemes d'un sistema digital, enviant dades entre dispositius de diferents ordres: des de dins dels mateixos circuits integrats, fins a equips digitals complets que formen part de supercomputadors.
La majoria dels busos estan basats en conductors metàl·lics pels quals es transmeten senyals elèctrics que són enviats i rebuts amb l'ajuda d'integrats que tenen una interfície del bus donat i s'encarreguen de manejar els senyals i lliurar-los com a dades útils. Els senyals digitals que es transmeten són de dades, d'adreces o senyals de control.
Els busos defineixen la seva capacitat d'acord amb la freqüència màxima d'enviament i l'ample de les dades. En general aquests valors són inversament proporcionals: si es té una alta freqüència, l'ample de dades ha de ser petit. Això es deu al fet que la interferència entre els senyals (crosstalk) i la dificultat de sincronitzar, creixen amb la freqüència, de manera que un bus amb pocs senyals és menys susceptible a aquests problemes i pot funcionar a alta velocitat.
Tots els busos d'ordinador té funcions especials com les interrupcions i les DMA que permeten que un dispositiu perifèric accedeixi a una CPU o la memòria utilitzant el mínim de recursos.
Primera Generació
modificaBus Backplane del PDP-11 juntament amb algunes targetes. Els primers computadors tenien 2 sistemes de busos, un per a la memòria i altre per als altres dispositius. La CPU havia d'accedir a dos sistemes amb instruccions per a cadascun, protocols i sincronitzacions diferents. L'empresa DEC va notar que l'ús de dos busos no era necessari si es combinaven les adreces de memòria amb els dels perifèrics en un sol espai de memòria (mapatge), de manera que l'arquitectura se simplificava estalviant costos de fabricació en equips fabricats en massa, com eren els primers minicomputadors. Els primers microcomputadors es basaven en la connexió de diverses targetes de circuit imprès a un bus Backplane passiu que servia d'eix al sistema. En aquest bus es connectava la targeta de CPU que realitza les funcions d'àrbitre de les comunicacions amb les altres targetes de dispositiu connectades; les targetes incloïen la memòria, controladores de disquet i disc, adaptadors de vídeo. La CPU escrivia o llegia les dades apuntant a l'adreça que tingués el dispositiu buscat en l'espai únic d'adreces fent que la informació fluís a través del bus principal. Entre les implementacions més conegudes, estan els busos Bus S-100 i el Bus ISA usats en diversos microcomputadors dels 70 i 80. En ambdós, el bus era simplement una extensió del bus del processador de manera que funcionava a la mateixa freqüència. Per exemple en els sistemes amb processador Intel 80286 el bus ISA tenia 6 o 8 MHz de freqüència depenent del processador.
Segona generació
modificaEl fet que el bus fos passiu i que usés la CPU com control, representava diversos problemes per a l'ampliació i modernització de qualsevol sistema amb aquesta arquitectura. A més que la CPU utilitzava una part considerable de la seva potència a controlar el bus. Des que els processadors van començar a funcionar amb freqüències més altes, es va fer necessari jerarquitzar els busos d'acord amb la seva freqüència: es va crear el concepte de bus de sistema (connexió entre el processador i la RAM) i de busos d'expansió, fent necessari l'ús d'un Chipset per a connectar tota mena de computadores no s'utilitza el circuit integrat. El bus ISA utilitzat com backplane en el PC IBM original va passar de ser un bus de sistema a un d'expansió, deixant el seu arbitratge a un integrat del chipset i implementant un bus a una freqüència més alta per a connectar la memòria amb el processador. En canvi, el bus Nubus era independent des de la seva creació, tenia un controlador propi i presentava una interfície estàndard a la resta del sistema, permetent la seva inclusió en diferents arquitectures. Va ser usat en diversos equips, incloent-n'hi alguns d'Apple, i es caracteritzava per tenir un ample de 32 bits i algunes capacitats Plug and Play (autoconfiguració), que ho feien molt versàtil i avançat al seu temps. Entre altres exemples d'aquests busos autònoms, estan el AGP i el bus PCI
Tercera generació
modificaEls busos de tercera generació es caracteritzen per tenir connexions punt a punt, a diferència dels busos dalt nomenats en els quals es comparteixen senyals de rellotge, i altres parts del bus. Això s'assoleix reduint fortament el nombre de connexions que presenta cada dispositiu usant interfícies serials. Llavors cada dispositiu pot negociar les característiques d'enllaç a l'inici de la connexió i en alguns casos de manera dinàmica, igual que succeeix en les xarxes de comunicacions. Entre els exemples més notables, estan els busos PCI-Express, el Infiniband i el HyperTransport.
Tipus
modificaExisteixen dos tipus de classificació segons el mètode d'enviament de la informació: bus paral·lel o serial. Hi ha diferències en el desenvolupament i fins fa uns anys es considerava que l'ús apropiat depenia de la longitud física de la connexió: per a curtes distàncies el bus paral·lel, per a llargues el serial.
Bus paral·lel
modificaÉs un bus en el qual les dades són enviades per bytes al mateix temps, amb l'ajuda de diverses línies que tenen funcions fixes. La quantitat de dades enviada és bastant gran amb una freqüència moderada i és igual a l'ample de les dades per la freqüència de funcionament. En els ordinadors ha estat utilitzat de manera intensiva, des del bus del processador, els busos de discs durs, targetes d'expansió i de vídeo, fins a les impressores. Tipus:
- Bus de dades: s'encarrega de moure les dades per al maquinari de l'ordinador, tant d'entrada (teclat, ratolí…) com de sortida (monitor, impressora…).
- Bus de direccions: disposa les dades en el subsistema de memòria en relació directa amb els processos de la CPU.
- Bus de control: s'ocupa de donar un estat a les operacions donades a la CPU, per tal de sincronitzar diferents operacions.
Un bus paral·lel té connexions físiques complexes, però la lògica és senzilla, que el fa útil en sistemes amb poc poder de còmput. En els primers microcomputadors, el bus era simplement l'extensió del bus del processador i els altres integrats "escoltaven" les línies de direccions, a l'espera de rebre instruccions. En el PC IBM original, el disseny del bus va ser determinant a l'hora d'escollir un processador amb I/O de 8 bits (Intel 8088), davant un de 16 (el 8086), perquè era possible fer servir hardware dissenyat per altres processadors, fent el producte més econòmic.
Bus sèrie
modificaEn aquest les dades són enviades, bit a bit i es reconstrueixen per mitjà de registres o rutines de programari. Està format per pocs conductors i la seva amplada de banda depèn de la freqüència. És usat des de fa menys de deu anys en busos per a discs durs, targetes d'expansió i per al bus del processador.
El bus sèrie és idoni en aplicacions en què es requereix la connexió de dispositius interactius de velocitat baixa i mitjana. Funciona en mode multiplexat, i això permet la connexió simultània de dispositius perifèrics mitjançant un simple cable de quatre fils.