Bus (informática) La mayoría de los buses están basados en conductores metálicos por los cuales se trasmiten señales eléctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las señales y entregarlas como datos útiles. Las señales digitales que se trasmiten son de datos, de direcciones o señales de control. Los buses definen su capacidad de acuerdo a la frecuencia máxima de envío y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeño. Esto se debe a que la interferencia entre las señales (crosstalk) y la dificultad de sincronizarlas, crecen con la Buses de comunicación en un circuito impreso. frecuencia, de manera que un bus con pocas señales es En arquitectura de computadores, el bus (o canal) es un menos susceptible a esos problemas y puede funcionar a sistema digital que transfiere datos entre los componen- alta velocidad. tes de una computadora o entre varias computadoras. Es- Todos los buses de computador tienen funciones especiatá formado por cables o pistas en un circuito impreso, les como las interrupciones y las DMA que permiten que dispositivos como resistores y condensadores además de un dispositivo periférico acceda a una CPU o a la memocircuitos integrados. ria usando el mínimo de recursos. En los primeros computadores electrónicos, todos los buses eran de tipo paralelo, de manera que la comunicación 1.1 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. Primera generación La tendencia en los últimos años hacia el uso de buses seriales como el USB, Firewire para comunicaciones con periféricos, reemplazando los buses paralelos, incluyendo el caso del microprocesador con el chipset en la placa base, a pesar de que el bus serial posee una lógica compleja (requiriendo mayor poder de cómputo que el bus paralelo) se produce 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 Bus Backplane del PDP-11 junto con algunas tarjetas. de señales. Los primeros computadores tenían 2 sistemas de buses, uno para la memoria y otro para los demás dispositivos. La CPU tenía que acceder a dos sistemas con instruccio1 Funcionamiento nes para cada uno, protocolos y sincronizaciones diferenLa función del bus es la de permitir la conexión lógica tes. La empresa DEC notó que el uso de dos buses no era necesario si se combinaban las direcciones de memoria con las de los periféricos en un solo espacio de memoria (mapeo), de manera que la arquitectura se simplificaba entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos órdenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras. 1 2 2 TIPOS DE BUS ahorrando costos de fabricación en equipos fabricados en El bus ISA utilizado como backplane en el PC IBM orimasa, como eran los primeros minicomputadores. ginal pasó de ser un bus de sistema a uno de expansión, Los primeros microcomputadores se basaban en la co- dejando su arbitraje a un integrado del chipset e implenexión de varias tarjetas de circuito impreso a un bus mentando un bus a una frecuencia más alta para conectar Backplane pasivo que servía de eje al sistema. En ese la memoria con el procesador. bus se conectaba la tarjeta de CPU que realiza las funciones de árbitro de las comunicaciones con las demás tarjetas de dispositivo conectadas; las tarjetas incluían la memoria, controladoras de disquete y disco, adaptadores de vídeo. La CPU escribía o leía los datos apuntando a la dirección que tuviera el dispositivo buscado en el espacio único de direcciones haciendo que la información fluyera a través del bus principal. En cambio, el bus Nubus era independiente desde su creación, tenía un controlador propio y presentaba una interfaz estándar al resto del sistema, permitiendo su inclusión en diferentes arquitecturas. Fue usado en diversos equipos, incluyendo algunos de Apple y se caracterizaba por tener un ancho de 32 bits y algunas capacidades Plug and Play (autoconfiguración), que lo hacían muy versátil y adelantado a su tiempo. Entre otros ejemplos de estos Entre las implementaciones más conocidas, están los bu- buses autónomos, están el AGP y el bus PCI. ses Bus S-100 y el Bus ISA usados en varios microcomputadores de los años 70 y 80. En ambos, el bus era sim- 1.3 Tercera generación plemente una extensión del bus del procesador de manera que funcionaba a la misma frecuencia. Por ejemplo Los buses de tercera generación se caracterizan por tener en los sistemas con procesador Intel 80286 el bus ISA conexiones punto a punto, a diferencia de los buses arriba tenía 6 u 8 megahercios de frecuencia dependiendo del nombrados en los que se comparten señales de reloj. Esto procesador.[1] se logra reduciendo fuertemente el número de conexiones 1.2 Segunda generación que presenta cada dispositivo usando interfaces seriales. Entonces cada dispositivo puede negociar las características de enlace al inicio de la conexión y en algunos casos de manera dinámica, al igual que sucede en las redes de comunicaciones. Entre los ejemplos más notables, están los buses PCI-Express, el Infiniband y el HyperTransport. 2 Tipos de bus Existen dos grandes tipos clasificados por el método de envío de la información: bus paralelo o bus serie. Hay diferencias en el desempeño y hasta hace unos años se consideraba que el uso apropiado dependía de la longitud física de la conexión: para cortas distancias el bus paralelo, para largas el serial. 2.1 Bus paralelo Jerarquía de diversos buses en un equipo relativamente moderno: SATA, FSB, AGP, USB entre otros. 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. El hecho de que el bus fuera pasivo y que usara la CPU como control, representaba varios problemas para la ampliación y modernización de cualquier sistema con esa arquitectura. Además que la CPU utilizaba una parte considerable de su potencia en controlar el bus. El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones Desde que los procesadores empezaron a funcionar con en líneas dedicadas: frecuencias más altas, se hizo necesario jerarquizar los buses de acuerdo a su frecuencia: se creó el concepto de • Las líneas de dirección son las encargadas de inbus de sistema (conexión entre el procesador y la RAM) y de buses de expansión, haciendo necesario el uso de un dicar la posición de memoria o el dispositivo con el chipset. que se desea establecer comunicación. 3.2 Bus de direcciones 3 • Las líneas de control son las encargadas de en- 3.2 Bus de direcciones viar señales de arbitraje entre los dispositivos. Entre las más importantes están las líneas de interrupción, El bus de direcciones es un canal del microprocesador totalmente independiente del bus de datos donde se estaDMA y los indicadores de estado. blece la dirección de memoria del dato en tránsito. • Las líneas de datos transmiten los bits de forma aleatoria de manera que por lo general un bus tie- El bus de dirección consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección. La capane un ancho que es potencia de 2. cidad de la memoria que se puede direccionar depende de la cantidad de bits que conforman el bus de direcciones, Un bus paralelo tiene conexiones físicas complejas, pero siendo 2n el tamaño máximo en bits del banco de memola lógica es sencilla, que lo hace útil en sistemas con poco ria que se podrá direccionar con n líneas. Por ejemplo, poder de cómputo. En los primeros microcomputadores, para direccionar una memoria de 256 bits, son necesarias el bus era simplemente la extensión del bus del procesaal menos 8 líneas, pues 28 = 256. Adicionalmente pueden dor y los demás integrados “escuchan” las línea de direcser necesarias líneas de control para señalar cuando la diciones, en espera de recibir instrucciones. En el PC IBM rección está disponible en el bus. Esto depende del diseño original, el diseño del bus fue determinante a la hora de del propio bus. 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. 3.2.1 Las direcciones de memoria Las direcciones son números naturales (en hexadecimal) que indican la posición de los datos dentro de la memoria principal o del espacio de direcciones de la unidad de enEn este los datos son enviados, bit a bit y se reconstruyen trada/salida. Las direcciones son generadas por la CPU por medio de registros o rutinas. Está formado por pocos que es quien decide a qué dato se debe acceder en cada conductores y su ancho de banda depende de la frecuen- momento. cia. 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. 3.3 Bus de datos 2.2 3 Bus serial Buses: de control, de direcciones y de datos Su función es mover los datos entre los dispositivos de hardware de entrada / salida 3.3.1 Buses multiplexados Address bus Data bus CPU Control bus RAM ROM I/O Other Diagrama de bus backplane como extensión del bus del microprocesador donde se grafican los buses de direcciones, de datos, y de control, que van desde la CPU a la RAM, ROM, E/S y otros. 3.1 Bus de control El bus de control gobierna el uso y acceso a las líneas de datos y de direcciones. Como éstas líneas están compartidas por todos los componentes, tiene que proveerse de determinados mecanismos que controlen su utilización. Las señales de control transmiten tanto órdenes como información de temporización entre los módulos. Mejor dicho, es el que permite que no haya colisión de información en el sistema. Algunos diseños utilizan líneas eléctricas multiplexadas para el bus de direcciones y el bus de datos. Esto significa que un mismo conjunto de líneas eléctricas se comportan unas veces como bus de direcciones y otras veces como bus de datos, pero nunca al mismo tiempo. Una línea de control permite discernir cual de las dos funciones está activa. 4 Referencias [1] «PC Architecture. Chapter 17. The CPU’s immediate surroundings. A book by Michael B. Karbo». Consultado el 2009. 5 Véase también • Chipset • HyperTransport • Bus frontal (front-side bus o FSB) 4 6 • Bus trasero (back-side bus o BSB) 6 Enlaces externos • Wikimedia Commons alberga contenido multimedia sobre Bus. Commons • PDF IEMicro y repaso a otros modelos • IEmicro ENLACES EXTERNOS 5 7 Text and image sources, contributors, and licenses 7.1 Text • Bus (informática) Fuente: http://es.wikipedia.org/wiki/Bus%20(inform%C3%A1tica)?oldid=80391216 Colaboradores: 4lex, Sabbut, Moriel, JorgeGG, ManuelGR, Robbot, Javier Carro, Aloriel, Rosarino, Ejmeza, Triku, Ascánder, Sms, Murphy era un optimista, Daniel G., Enric Naval, Marcelo Huerta, Dianai, Triebjlr, Porao, Alone DJ, Renabot, FAR, Digigalos, GuillermoP, Xuankar, JMPerez, Emijrp, Rembiapo pohyiete (bot), Rayearth, OMenda, RobotQuistnix, Diegospina, LarA, Superzerocool, Chobot, Afpineda, Yrbot, Baifito, YurikBot, Mortadelo2005, Museo8bits, GermanX, Cacique500, Lobillo, Gaijin, KnightRider, The Photographer, YoaR, HECTOR ARTURO AZUZ SANCHEZ, Morza, Er Komandante, Cheveri, Santiagocapel, The worst user, Paintman, BOTpolicia, Ál, CEM-bot, Laura Fiorucci, Amanita, Arklad, Rastrojo, Antur, Resped, Thijs!bot, Alvaro qc, Cansado, RoyFocker, Mario modesto, Cratón, Isha, Egaida, Martin Rizzo, JAnDbot, OceanO, Pacoperez6, Mansoncc, Death Master, Xavigivax, TXiKiBoT, Humberto, Netito777, Idioma-bot, Pólux, Biasoli, Cinevoro, VolkovBot, Fran Ara, Technopat, Galandil, Raystorm, Matdrodes, DJ Nietzsche, Lucien leGrey, Muro Bot, Incogninito, Jmvgpartner, SieBot, Loveless, Chrihern, Victormahuel, BOTarate, Mel 23, Fcosegura, Manwë, Pascow, BuenaGente, Yonseca, Tirithel, Javierito92, Marcecoro, HUB, Antón Francho, Jcapel, Eduardosalg, Leonpolanco, Alejandrocaro35, LordT, Furti, Petruss, MsArnaldoL, SilvonenBot, Camilo, UA31, Shalbat, MARC912374, AVBOT, DayL6, David0811, MastiBot, Diegusjaimes, CarsracBot, Andreasmperu, Luckas-bot, Ptbotgourou, FariBOT, Lautaro2k, Jdelariva, Vandal Crusher, Draxtreme, Nixón, MartinDM, Gaabu, SuperBraulio13, Ortisa, Manuelt15, Xqbot, Simeón el Loco, Jkbw, Anibalsalazar, Irbian, Igna, Gonzalo orri, Io6000, Botarel, RedBot, Daveyba, TorQue Astur, CVBOT, Dinamik-bot, Foundling, Miss Manzana, EmausBot, ZéroBot, HRoestBot, ChessBOT, Sergio Andres Segovia, Grillitus, Mecamático, Elías, MadriCR, Waka Waka, Tokvo, Antonorsi, MerlIwBot, KLBot2, Ginés90, Sosunboludoporleeresto, Lunethitha phillis, Justincheng12345-bot, Helmy oved, Un Tal Alex.., Legobot, Addbot, Balles2601, JacobRodrigues, Floilo, Encleado95, Jarould, Jesus gonzalez campuzano y Anónimos: 374 7.2 Images • Archivo:Chipset_875_Intel.JPG Fuente: http://upload.wikimedia.org/wikipedia/commons/1/16/Chipset_875_Intel.JPG Licencia: Public domain Colaboradores: Trabajo propio Artista original: Chrihern • Archivo:Commons-logo.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/4/4a/Commons-logo.svg Licencia: Public domain Colaboradores: This version created by Pumbaa, using a proper partial circle and SVG geometry features. (Former versions used to be slightly warped.) Artista original: SVG version was created by User:Grunt and cleaned up by 3247, based on the earlier PNG version, created by Reidab. • Archivo:Computer_buses.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/a/a9/Computer_buses.svg Licencia: Public domain Colaboradores: Trabajo propio Artista original: German • Archivo:Motherboard_bus.jpg Fuente: http://upload.wikimedia.org/wikipedia/commons/6/68/Motherboard_bus.jpg Licencia: Public domain Colaboradores: Trabajo propio Artista original: Chrihern • Archivo:Unibus.jpg Fuente: http://upload.wikimedia.org/wikipedia/commons/5/52/Unibus.jpg Licencia: Public domain Colaboradores: Trabajo propio Artista original: Chrihern 7.3 Content license • Creative Commons Attribution-Share Alike 3.0