Resumen: Las distintas unidades funcionales de un computador necesitan comunicarse. Por ello, deben existir lneas, que compondrn el bus, para interconectar estos mdulos. Por esta razn es por la que decidimos elegir los buses del ordenador como tema de estudio. Existen dispositivos mucho ms conocidos que los buses del sistema, pero incluso la tarjeta grfica ms potente del mercado necesitar comunicar los datos con el sistema, y no slo eso, porque adems sern las caractersticas del bus las que marcarn el rendimiento de dicha tarjeta. En este documento se realiza una descripcin genrica de los buses de comunicacin del computador. Para comenzar, establecemos una definicin detallada de los mismos y su utilizacin. Seguidamente describimos las diferentes especificaciones que debe cumplir, su jerarqua (clasificacin en sus diferentes tipos), la estructura propia del bus, sus caractersticas ms importantes y adems sus polticas de arbitraje correspondientes. Finalmente, para comprender mejor el funcionamiento del bus, explicaremos y nos centraremos en el funcionamiento de dos tipos de buses, como son el bus serie USB y el bus paralelo PCI que estn ampliamente extendidos en la actualidad. INDICE n pgina 1.- INTRODUCCIN 3 2.- GENERALIDADES 3 2.1- BUSES NORMALIZADOS 4 2.2- JERARQUA DE BUSES 4 2.3- ESTRUCTURA DEL BUS 7 2.4- CARACTERSTICAS DE LOS BUSES 8 2.5- ARBITRAJE 10 3.- BUSES PARALELO: EL CASO DEL PCI 12 4.- BUSES SERIE: EL CASO DEL USB 17 5.- CONCLUSIONES 20 6.- REFERENCIAS 2 7.-NDICE DE FIGURAS 2 1. INTRODUCCIN Las distintas unidades funcionales de un computador necesitan comunicarse. Deben existir, por lo tanto, lneas para interconectar estos mdulos. El bus es el elemento fundamental de interconexin en la arquitectura de von Neumann y el encargado de comunicar estos mdulos. Es un canal de comunicacin compartido que utiliza un conjunto de cables para conectar mltiples subsistemas. Cada cable o lnea transmite un nico bit de informacin en un determinado momento. Los buses por tanto son el elemento permite transferir toda la informacin, desde las operaciones ms sencillas de la UCP, as como toda transferencia de datos entre los distintos dispositivos conectados al sistema central. Memoria, tarjetas grficas, teclados, etc. y en definitiva cualquier perifrico o dispositivo del ordenador se comunica a travs de este elemento. Esta es la razn por la que decidimos elegir los buses del ordenador como tema de estudio. Existen dispositivos mucho ms conocidos que los buses del sistema, pero incluso la tarjeta grfica ms potente del mercado necesitar comunicar los datos con el sistema, y no slo eso, porqu adems sern las caractersticas del bus las que marcarn el rendimiento de dicha tarjeta. Por todo ello realizaremos una explicacin general de la estructura de los buses. As como indicaremos las especificaciones necesarias para que un bus este normalizado, y una clasificacin jerrquica de los mismos. Tambin veremos una visin en conjunto de lascaractersticas que definen un bus y que permiten distinguir fcilmente unos de otros (la anchura del bus o nmero de bits o lneas de direcciones y datos, la temporizacin o mtodo de sincronizacin, etc.). El arbitraje o mtodo de obtencin de permiso para acceder al medio ser el ltimo punto que trataremos en general de los buses. Ante la imposibilidad de realizar una exposicin pormenorizada de todos y cada uno de los bus existentes para PC, trataremos de resumir y mostrar a modo de ejemplo, las particularidades de dos buses: el USB y el PCI. 2. GENERALIDADES El bus es el elemento ms corriente de comunicacin en los computadores y consta de un camino que permite comunicar selectivamente un nmero de componentes o dispositivos, de acuerdo a unas ciertas reglas o normas de conexin. Desempea por tanto las tareas de enlace y de conmutador, puesto que permite, en cada momento, seleccionar los dispositivos que se comunican a travs suyo. En las transferencias de informacin que se realizan en los buses, hay como mnimo dos agentes involucrados: el que origina la transferencia, que denominaremos maestro de la transferencia y el que responde a la misma, que denominaremos esclavo de la transferencia. No todos los elementos conectados a un bus pueden actuar como a estos de la transferencia; se denominan maestros potenciales aquellos elementos que s tienen esta capacidad. La operacin bsica del bus se denomina ciclo de bus. Un ciclo permite realizar una transferencia elemental de un dato entre dos dispositivos. En esta transferencia, la informacin se lleva de un elemento que se denomina fuente a otro que se denomina destino. Los buses modernos permiten agrupar varias transferencias en una sola operacin, que denominaremos transaccin, estas pueden tener los mismos o distintos destinos, o incluso un mismo elemento puede actuar como fuente y como destino en distintas transferencias de una misma transaccin. 2.1. BUSES NORMALIZADOS Un bus debe cumplir las siguientes especificaciones: Nivel mecnico En el nivel mecnico deben definirse aspectos tales como el tipo de soporte, el nmero de hilos del bus, el tipo de conector, etc. Por ejemplo, en los buses para la conexin de placas impresas, hay que definir, entre otras cosas, la altura de las placas, los conectores y las posiciones de stos, para garantizar la compatibilidad de las distintas placas. Nivel elctrico El nivel elctrico (u ptico, en el caso de emplear como soporte la fibra ptica), debe especificar el circuito equivalente de los dispositivos que se conectan a las lneas del bus, tanto de los emisores como de los receptores. Tambin debe especificar las tensiones y corrientes utilizadas para establecer el valor de las seales. En este nivel, debe quedar definida la forma en la que los distintos dispositivos deben conectarse elctricamente. Nivel lgico Este nivel define estticamente todas las lneas del bus, estableciendo las equivalencias entre los valores elctricos de las seales y sus valores lgicos. Por ejemplo, se definir que los hilos 0-7 su nivel alto (5V) equivale a un 1 lgico y los hilos 8-15 su nivel activo es a nivel bajo (0V). Nivel de temporizacin bsica En este nivel se establecen los cronogramas para la realizacin de la operacin ms elemental del bus, esto es, de un ciclo. Nivel de transferencia elemental En este nivel se establece el procedimiento empleado para realizar una transferencia de un dato por el bus. En el caso de un bus de ciclo completo, este nivel coincide con el anterior puesto que la temporizacin bsica establece todas las condiciones necesarias para transferir un dato. Sin embargo, en el caso de un bus de ciclo partido, se especifican las ranuras que forman cada tipo de ciclo o transferencia. Nivel de transferencia de bloque En algunos buses, la operacin bsica esta formada por una serie de transferencias elementales, que tiene por objetivo el transferir un bloque de informacin con entidad propia. En este nivel, deber definirse el protocolo de comunicacin empleado para realizar esta transferencia de bloque. Se definirn aspectos tales como cabeceras, codificacin de los datos para deteccin de errores, procedimientos de recuperacin para el caso de error, identificacin del receptor, etc. [1] [3] 2.2. JERARQUA DE BUSES Por qu es necesaria la jerarqua de buses? Cuando queremos conectar un gran nmero de dispositivos nos encontramos con una serie de problemas fundamentales: La diferencia de velocidad de los dispositivos afecta negativamente al rendimiento global, ya que mientras los dispositivos lentos realizan una nica transferencia, otro dispositivo ms rpido podra haber realizado muchas ms. Los buses pueden actuar de cuello de botella si la demanda de la transferencia es mayor que la capacidad del bus, los dispositivos debern esperar mucho tiempo para poder transmitir. Existe un mayor retardo de propagacin, dado que el bus ha de tener mayor longitud para poder soporta implementar un mayor nmero de dispositivos Ventajas de las jerarquas de buses: El bus local entre el procesador y la cach asla el trfico de E/S del procesador. Se puede transferir informacin entre la memoria y la E/S sin interrumpir la actividad del procesador. El bus de expansin reduce el trfico en el bus del sistema. La transferencia entre cach y memoria principal se pueden realizar de forma ms eficiente. o Se pueden realizar una transferencia de memoria cach a memoria principal al mismo tiempo que el interfaz recibe datos desde un dispositivo de E/S o El procesador+cach o el coprocesador tienen la misma prioridad en el acceso al bus que todos los dispositivos conectados al bus de expansin de forma conjunta. Se elimina el problema de la incompatibilidad. o El bus local y del sistema suelen ser propietarios (no estndar) y estn optimizados para cada arquitectura particular. o Los buses de expansin son buses estndares o abiertos (ISA, EISA, PCI, VME, etc.). Esto permite tener caractersticas y especificaciones perfectamente definidas, con conectores estndar, podemos utilizar los mismos controladores y perifricos en otro computador que disponga del mismo bus estndar. [4] Figura: 1 Jerarqua de los buses. Buses de tipo 0 Los buses de tipo 0 son los buses internos de las pastillas. La utilizacin de buses internos de gran ancho de palabra unido a la incorporacin de memoria cach interna facilita que se puedan conseguir microprocesadores de grandes prestaciones. Buses de tipo 1 El bus de tipo 1 es el bus de interconexin de componentes de una placa o circuito impreso. Buses de tipo 2 Estos buses sirven para interconectar las distintas placas de un modulo, formando lo que se llama el panel posterior. La prctica totalidad de los computadores actuales se componen de un solo mdulo, por lo que no existe bus de nivel 3 y este bus se convierte en el bus del sistema. Buses de tipo 3 El bus de tipo 3 o bus del sistema permite interconectar diversos mdulos del computador. Hoy en da hay muy pocos sistemas que contengan varios mdulos. Por lo que generalmente coinciden los buses de nivel 2 y 3. La gran diferencia entre los tipos 2 y 3 es la distancia que debe tener el bus, que puede llegar a los 10m en el tipo 3. Ello obliga a tratar este bus como una lnea de transmisin. Adems, es muy frecuente que el bus de tipo 3 exija unos repetidores o buffers, para pasar de un panel posterior a otro. Buses de tipo 4 Los buses de tipo 4 lo forman los buses paralelos para conexin de perifricos. En realidad se pueden considerar cuatro situaciones, que a veces se pueden dar simultneamente en el mismo computador: En la primera, los controladores de los perifricos se conectan directamente al bus del sistema (bus tipo 2 3). En la segunda se dispone de un bus especial para la E/S, como es un canal 370 de IBM, como es el Unibus en el caso de la arquitectura VAX, o como son los buses PCI e EISA en un computador personal. La tercera consiste en disear un bus reducido, derivado del bus del sistema, que permita la conexin en paralelo de una serie de perifricos especficos. La cuarta consiste en emplear un bus paralelo de conexin de perifricos, de acuerdo con una norma preestablecida. La diferencia con el caso anterior es que ahora no se trata de una versin reducida del bus del sistema, sino de una configuracin que puede ser muy distinta. El ejemplo clsico es el puerto paralelo o Centronics, previsto para la conexin de impresoras, el bus IEEE-488, previsto para la interconexin de instrumentos de laboratorio a computadores o los buses QIC, SCSI e IPI, para conexin de discos. Buses de tipo 5 Los buses serie suelen constituir el tipo ms elemental del espectro de las comunicaciones de un sistema informtico. Se emplean para cubrir las mayores distancias. El bus serie puede ser simple o doble. El simple puede permitir la transmisin en un solo sentido o en ambos sentidos de forma alternativa (semi-duplex). El doble permite la transmisin en los dos sentidos simultneamente (full-duplex). Un ejemplo de bus serie es el bus USB, que tratamos ms adelante. 2.3. ESTRUCTURA DEL BUS Un bus est constituido por muchas lneas, por ejemplo el bus del sistema est constituido por entre 50 y 100 lneas. A cada lnea se le asigna una funcin determinada. Las lneas del bus se pueden clasificar en tres grupos funcionales: lneas de datos, de direcciones, y de control. " Las lneas de datos del bus proporcionan el camino para transmitir datos entre los mdulos del sistema. El bus de datos consta de 8, 16, 32 lneas distintas, cuyo nmero se conoce como anchura del bus de datos. Este nmero de lneas determina cuantos bits se pueden transmitir al mismo tiempo. La anchura del bus es un factor clave a la hora de determinar las prestaciones del sistema. " Las lneas de direccin se utilizan para direccionar la fuente o el destino de los datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad mxima de memoria direccionable en el sistema. " Las lneas de control se emplean para gestionar el acceso y el uso de las lneas de datos y direccin, sealizando peticiones y reconocimientos e indicando que tipo de informacin pasa por las lneas de datos. Figura: 2 Estructura de Bus tpica. Algunas lneas de control tpicas son: Escritura en memoria (Memory Write): hace que el dato del bus se escriba en la posicin direccionada. Lectura de memoria (Memory Read): hace que el dato de la posicin direccionada se site en el bus. Escritura de E/S (I/O Write): hace que el dato del bus se transfiera a travs del puerto de E/S direccionado. Lectura de E/S (I/O Read): hace que dato del puerto de E/S direccionado se site en bus. Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en bus. Peticin de bus (Bus Request): Indica que un modulo necesita disponer del control del bus. Cesin de bus (Bus Grant): indica que se cede el control del bus a un mdulo que lo haba solicitado. Peticin de interrupcin (Interrupt Request): indica si hay una interrupcin pendiente. Interrupcin reconocida (Interrupt ACK): seala que la interrupcin pendiente se ha aceptado. Reloj (Clock): se utiliza para sincronizar las operaciones. Inicio (Reset): pone los mdulos conectados en su estado inicial 2.4 CARACTERSTICAS DE LOS BUSES Paralelismo del bus Un bus puede ser paralelo, multiplexado o serie. Normalmente, el bus paralelo tiene un ancho de palabra que coincide con el ancho de la informacin a transmitir. El bus multiplexado se origin como consecuencia de tener que ahorrar conexiones (patas) debido a la necesidad de una alta integracin de los componentes del ordenador. Un ejemplo de este uso es comunicar las direcciones de memoria entre el microprocesador y la memoria (en su forma fsica de chips). Consiste en utilizar los mismos hilos para enviar, en momentos distintos, informaciones distintas, permitiendo con el uso de seales adicionales, identificar la informacin o tipo de informacin que circula por el bus en cada momento. Generalmente el resto del sistema exige que el bus no est multiplexado. En estos casos en los extremos del bus se encontrarn multiplexores para realizar la multiplexacin / demultiplexacin. El bus serie esta formado nicamente por un par de hilos, por los que circula la informacin bit a bit. Durante el envo es necesario dividir la palabra en bits as como realizar un agrupamiento de estos bits para formar una palabra en la recepcin. Funcin El bus puede ser de carcter general o especfico. Los buses especficos, dedicados cada uno a una funcin permiten un diseo sencillo, y que la capacidad de transferencia total sea mayor. Los buses de carcter general reducen el nmero de hilos que llegan a la UCP, por lo que es especialmente til para microprocesadores. El esquema formado por estos buses es comparativamente ms sencillo, aunque cada bus individualmente sean ms complejos que los de carcter global. Ciclo de Funcionamiento Bus de ciclo completo En un bus de estas caractersticas todas las fases a realizar se efectan una detrs de otra, sin ningn espacio entre ellas. Normalmente se utiliza en sistemas sencillos, en especial con un nico dispositivo que acte como maestro. Bus de ciclo partido o de paquetes El tiempo de ciclo partido se divide en una serie de ranuras, cada una de las cuales permite enviar un mensaje. Estas ranuras pueden tener duracin fija y predefinida, y en caso de utilizarse una seal de reloj; es sncrona. Este bus es ms rpido que el anterior a costa de complicar los dispositivos que lo integran, por tanto se suele emplear en sistemas multiprocesador. Algunas consideraciones adicionales sobre el esquema de este ltimo tipo: En caso de existir mltiples peticionarios se debe almacenar la identificacin de ste. Debe disponer de mecanismos de control a la memoria, evitando accesos mltiples. Se disear de forma que se eviten colisiones, es decir que dos dispositivos puedan acceder a una ranura simultneamente. [1] [2] Transferencias sncronas y asncronas
Transferencia en ciclo completo Figura: 3 Transferencia en ciclo completa. En este caso de forma resumida podemos decir que: Lectura sncrona. El maestro pone en el bus la direccin deseada, y supone que el esclavo, a su vez, pone el dato en el bus en el tiempo T, momento en el que el maestro lo toma. Escritura sncrona. El maestro pone en el bus la direccin y el dato, y supone que el esclavo toma esta informacin antes de cierto tiempo T. Lectura asncrona. El maestro pone en el bus la direccin deseada, y se queda esperando hasta que el esclavo conteste, confirmando que ha puesto el dato en el bus, o bien hasta que la espera sobrepase determinado tiempo, en cuyo caso se genera una seal de error. Escritura asncrona. El maestro pone en el bus la direccin y el dato, y se queda esperando que el esclavo confirme que ha tomado esta informacin. Si la espera sobrepasa un cierto intervalo, el maestro genera un error. [4] Transferencia en ciclo partido Muy similar a la operacin de ciclo completo tan slo est dividida en fase de inicio de la transferencia y fase de fin de transferencia, ocupando cada una de ellas una ranura. La transferencia la inicia un maestro, empleando una de las ranuras del bus, y la finaliza el esclavo, empleando otra ranura, por lo que los esclavos deben tener la capacidad de solicitar y emplear ranuras del bus, para poder finalizar adecuadamente las transferencias. Como ya hemos visto antes si existen varios maestros potenciales, a la solicitud enviada por el bus deber incluir la identificacin del maestro, de forma que el esclavo pueda contestar adecuadamente. Lectura sncrona. Esta lectura se compone de dos ranuras. En la primera, el maestro enva la orden de lectura, as como la direccin deseada. Un cierto tiempo despus, cuando dispone del dato pedido, el esclavo solicita otra ranura, para enviar el dato. Despus de x tiempo de espera sin contestacin se genera una seal de error. Escritura asncrona. En una nica ranura el maestro enva el dato y la direccin. Lectura asncrona. La lectura asncrona puede ser igual a la sncrona anterior, en algunos casos se utiliza una ranura adicional para comprobar que la direccin es correcta o se ha generado un error. Escritura Asncrona. Se utiliza una ranura para que el maestro enve la direccin y el dato, y una segunda ranura para que el esclavo confirme que ha realizado la operacin de escritura. Figura: 4 Transferencia en ciclo partido. [4] 2.5 ARBITRAJE Protocolos de Arbitraje Es la poltica de asignacin del bus en el caso de que varios dispositivos compartan su uso. Es similar a los protocolos de comunicaciones en redes de rea local. La funcin de estos protocolos es garantizar el acceso al bus sin conflictos cuando existen varios dispositivos que pueden actuar como master. Existen dos tipos bsicos: Arbitraje centralizado Cuando hay un master principal, denominado rbitro, que controla el acceso al bus. Lo realiza un mdulo central de arbitraje. Figura: 5 Arbitraje Centralizado. Ejemplo: Un maestro que desea usar el bus activa la seal comn de peticin de bus si observa que el bus no est ocupado. El rbitro activa la seal de bus ocupado. El rbitro concede el bus al maestro 1. Si este no lo necesita se la pasa al siguiente, y as sucesivamente hasta que llega al que solicit el Bus. Al terminarse se desactiva esta seal de peticin de bus, lo que hace que el rbitro desactive la seal de concesin y la de bus ocupado. Ventajas: Sencillez: Podemos aadir nuevos maestros aadindolos a la cadena donde queramos. Desventajas: La prioridad es fija (daisy-chain), no es un criterio justo. La propagacin de seales es lenta. Si un maestro falla, los de menor prioridad a este no tendran acceso al bus, a no ser que queden puenteadas las seales correspondientes de peticin de bus y concesin de bus (2 hilos) o slo la de concesin (3 hilos). [6] Arbitraje distribuido En este arbitraje no existe un maestro que acte de rbitro en la gestin de la prioridad, por lo que son los propios peticionarios quienes se ponen de acuerdo para decidir quin se queda con el servicio. Cada mdulo tiene un rbitro y un nmero de arbitraje nico. Cada lnea de identificacin tiene asignada una prioridad, de manera que si varios master activan sus lneas simultneamente, gana el de mayor prioridad. Un master que quiera tomar el control del bus deber activar su lnea y comprobar el estado de las dems. El problema de este protocolo es que tenemos limitado el nmero de posibles master por el nmero de lneas de arbitraje que podamos utilizar. Empleado en MultiBUS II y FutureBUS +. [5] Figura: 6 Arbitraje distribuido. 3. BUS PARALELO PCI Son las siglas de Peripheral Component Interconnect ("Interconexin de Componentes Perifricos"). Se trata de un bus de ordenador estndar para conectar dispositivos perifricos directamente a su placa base. Es comn en PCs, donde ha desplazado al ISA como bus estndar, pero tambin se emplea en otro tipo de ordenadores. Es el bus PCI actualmente es utilizado como bus de altas prestaciones en arquitecturas para ordenadores de sobremesa, o como bus de expansin de perifricos en arquitecturas para servidores. Es decir, permite varias configuraciones y usos diferentes. El bus PCI es un bus especial para la E/S considerado del tipo 4. Dicho bus suele ir montado en la placa base. Estructura El bus PCI es un bus multiplexado que utiliza los mismos hilos para direcciones y para datos. Consta de 49 lneas de seales obligatorias. En las cuales se dividen en seales de sistema (reloj y reset), en seales de direccin y datos, donde hay 32 lneas multiplexadas y lneas para valida, seales de control de interfaz la cuales coordinan el envo y la recepcin, seales de arbitraje, y seales de errores. Dichas seales se muestran en la siguiente tabla: Figura: 7 Ejemplo de PCI Terminal Lnea N de lneas Habilita Descripcin Sistema CLK 1 Externo Reloj de frecuencia 33 o 66 Mhz
RST# 1 Externo Restablece el sistema y los dispositivos Datos y direcciones AD 32 Maestro/ Destino Lneas de direccin y datos multiplexados
C/BE# 4 Maestro/ Destino Indica que lneas transportan informacin
PAR 1 Maestro/ Destino Bit de paridad de direccin de datos Control FRAME# 1 Maestro Transferencia (AD y C/BE preparadas)
IRDY# 1 Maestro Lectura: maestro acepta datos/Escritura: destino acepta datos
TRDY# 1 Destino
STOP# 1 Destino Lectura: datos en AD/Es
IDSEL 1 Maestro Detener transaccin
DEYSEL# 1 Destino Dispositivo escuchando Arbitraje REQ# 1 Externo Solicitud de bus
GNT# 1 Maestro Bits concedido Error PERR# 1 Maestro/ Destino Se ha detectado un error de paridad en los datos
SERR# 1 Todos Error crtico o error de paridad en la direccin Figura: 8 Seales de Control PCI. Para el bus de 64 bit aparecen 51 seales opcionales: Terminal Lnea N de lneas Habilita Descripcin Interrupciones INTx# 4 Externo Solicitud de interrupcin Soporte de cach SBO# 1 Maestro/Destino Acceso a cach remoto
SDONE 1 Maestro/Destino Indica que el bus ha terminado de sondear la cach Extensin AD 32 Maestro/Destino Ampliacin de las lneas de datos y direcciones
C/BE 4 Maestro/Destino Ampliacin de la seleccin de lneas
RFQ64 1 Maestro Peticin de extensin a 64 bits
ACK64 1 Destino Aceptacin de extensin a 64 bits
PAR64 1 Externo Paridad de los 32 bits extras Test TCK 1 Externo Reloj de test: sincronizacin de entrada y salida
TDI 1 Externo Entrada de test
TDO 1 Maestro Salida de test
TMS 1 Externo Selector de modo de test
TRST# 1 Externo Inicio de test
Control LOCK 1 Maestro Bloqueo del bus para realizar varias transacciones
M66EN 1
Figura: 9 Seales para PCI 64 bits. Caractersticas Dicho bus fue desarrollado por Intel en 1990 para superar las limitaciones del bus ISA estndar en la arquitectura de los computadores personales o PC. La temporizacin con la que esta implementada el bus es sncrona. Otra caracterstica del PCI es la simplicidad de uso. El Plug and Play permite la configuracin automtica de los perifricos, sin que el usuario necesite asignar "a mano" la IRQ, el DMA y los puertos de entrada/salida. Adems permite que varios perifricos compartan la misma interrupcin, aliviando de esta forma uno de los mayores problemas que tena el PC. . La longitud mxima que puede alcanzar es de 0,50m. PCI Nombre Ancho ( bits) Velocidad (Mhz) Ancho de Banda (MB/seg) PCI 32 33,33 133,33 PCI-x2 32 66,66 266,66 PCI 64-bit 64 33,33 266,66 PCI-x2 64-bit 64 66,66 533,33 Figura: 10 Velocidades de Transferercia de datos PCI. Los ciclos del bus tienen siempre una fase inicial en la que un maestro adquiere acceso al bus. Seguidamente especifica el tipo de transaccin o ciclo, de entre las siguientes alternativas: Aceptacin de interrupcin. El dispositivo que funciona como controlador de interrupciones lee el identificador de interrupcin del dispositivo que interrumpe. Ciclo especial, utilizado por el maestro para enviar un mensaje a uno a o varios esclavos. Lectura E/S. El maestro lee una o varias palabras del esclavo. Escritura E/S. El maestro escribe una o varias palabras del esclavo. Lectura de memoria. En sistemas con memoria cach se lee lnea de cach o menos. En sistemas sin cach se leen una o dos palabras. Lectura de lnea de memoria. En sistemas con memoria cach se utilizara para leer de lnea de cach a 3 lneas. En sistemas sin cach se leen 3 a 12 palabras. Lectura mltiple de memoria, En sistemas con memoria cach sirve para leer ms de 3 lneas de cach. En sistemas sin cach se leen mas de 12 palabras. Escritura en memoria. Se emplea para escribir en memoria. Lectura de configuracin. Sirve para que el maestro lea la configuracin de un esclavo. Escritura de configuracin. Sirve para que el maestro establezca la configuracin de un esclavo. Escritura en memoria con invalidaciones. Este ciclo se utiliza para volcar lneas de la cach a la memoria principal. Ciclo de doble direccin. Mediante este ciclo un maestro indica que est usando direcciones de 64 bits Arbitraje El arbitraje es centralizado y sncrono donde cada maestro tiene una lnea de Grant y otra de Reset. El algoritmo de asignacin puede ser FIFO o cclico. Figura: 11 Arbitro del bus PCI. Un posible modo de funcionamiento sera el siguiente En algn momento anterior al ciclo de reloj 1, A activa sus seal REQ. El rbitro muestrea esta seal al comienzo del ciclo 1. Durante el ciclo de reloj 1, B solicita el BUS. Al mismo tiempo, el rbitro activa GNT-A para ceder el bus a A. Al comienzo del ciclo 2, el maestro A muestrea su GNT-A, de lo cual deduce que es el siguiente a usar el BUS. Como IRDY, TRDY y FRAME estn desactivados, activa FRAME y coloca la informacin de direccin en el bus de direcciones, y la orden correspondiente en las lneas C/BE. Adems mantiene activa REQ-A, para realizar otra transferencia despus de la actual. eEl rbitro, al comienzo del ciclo 3 muestrea todas las GNT y decide ceder el BUS a B activando GNT-B y desactivando GNT-A. Pero B no puede usar el BUS hasta que no est libre. fA desactiva FRAME para indicar que su ltima transferencia est en marcha. Pone los datos en el bus de datos y se lo indica mediante IRDY al destino. El dispositivo lee el dato al siguiente ciclo. Al comienzo del ciclo 5, B encuentra IRDY y FRAME desactivados, toma el control activando FRAME y desactivando REQ-B [4] [6] Figura: 12 Cronograma de funcionamiento de PCI. 4. USB Introduccin La falta de flexibilidad en la reconfiguracin de todo computador, ha sido siempre el enemigo de todas las personas que sin conocer mucho de computacin y hardware, desearan mantener actualizado su Computador. Sin embargo, no todas las arquitecturas son auto configurables. En estos momentos existe una tecnologa para facilitar, por ejemplo la reconfiguracin de hardware, expansibilidad e interconexin del equipo con otros perifricos, etc. Como ejemplo de bus de tipo 5 (serie) hablaremos sobre l. Este es el USB. Definicin del bus serie universal Las siglas USB corresponden a Universal Serial Bus, Bus Serie Universal, por lo que como su nombre indica, se trata de un sistema de comunicacin entre dispositivos electrnicos- informticos que slo transmite una unidad de informacin a la vez. USB VERSIN VELOCIDAD TRANSFERENCIA MAXIMA (Mbit/seg) N DISPOSITIVOS USB 1.1 1.5 (velocidad baja) 12 (velocidad media) 127 USB 2.0 480 (velocidad alta) 127 Todo el sistema USB es inteligente, esto significa que una vez que se ha insertado un nuevo dispositivo al sistema, el bus automticamente determina que recursos del host requiere, incluyendo controladores de software (drivers), ancho de banda necesario (el ancho de banda se refiere a la capacidad del canal de comunicaciones que requiere un dispositivo cualquiera para enviar sus datos. Mientras ms informacin manipule el dispositivo, ms ancho de banda necesitar, y a la inversa). El mismo proceso se da al remover un dispositivo del equipo, ya que el host automticamente elimina todos los componentes asociados al mismo con el fin de disponer de los recursos otorgados en su momento para futuros dispositivos. Figura: 13 Velocidad de Transferencia USB. El bus USB 1.1 puede trabajar en dos modos, a baja velocidad (1,5 Mbps, para dispositivos como teclados, ratones, que no barajan grandes cantidades de informacin) y a alta velocidad (12 Mbps, para dispositivos como unidades de CDROM, altavoces, mdems RTC e ISDN, etctera) USB 2.0 llega 480 Mbps para dispositivos de alta velocidad conexiones de Internet de banda ancha ms rpidas, cmaras para videoconferencias de mayor resolucin, impresoras y escneres de la siguiente generacin y unidades de almacenamiento externo de alta velocidad.. Ahora, es conveniente resaltar que todos los dispositivos deben seguir reglas de comportamiento bsicas, estandarizadas. Por tanto, todos los dispositivos se configuran de la misma forma y por el mismo driver, y es mucho ms fcil gestionar los recursos que proveen; sin embargo, esto no significa que todos los dispositivos son iguales, sino, que todos tienen un sistema de configuracin idntica.
Figura: 14 Diferentes tipos de conexiones USB. Host USB A diferencia de los dispositivos y los hubs, existe tan solo un host dentro del sistema USB, que como ya dijimos es el computador mismo, particularmente una porcin del mismo denominado Controlador USB del Host. Este tiene la misin de hacer de interfaz entre el computador mismo y los diferentes dispositivos. Existen algunas particularidades respecto a este controlador. Su implementacin es una combinacin de hardware y software especfico para ste, es decir Firmware. Puede proveer de uno o dos puntos de conexin iniciales, denominados Hub raz, a partir de los cuales y de forma ramificada irn conectndose los perifricos. Estructura del bus El cable USB est compuesto por solo cuatro cables: Vbus, D+, D- y GND. La informacin y los datos se mueven por los cables D+ y D-. Esto supone un gran ahorro, tanto de espacio como de material. Caractersticas del bus Fcil expansin de perifricos en la PC, no debe hacer falta, ms que conectar el perifrico y emplearlo. Bajo coste para aplicaciones que demandan velocidades por los 12 Mbps, particularmente aplicaciones multimediales: micrfonos, parlantes, telfonos, etc. No requiere IRQs, direcciones lgicas , o DMA ya que el controlador USB asigna direcciones nicas a los dispositivos Soporte completo para transmisin en tiempo real de voz, audio, y video. Flexibilidad de protocolos para transmisiones mixtas isocrnicas y asincrnicas (las cuales sern analizadas mas adelante, ya que es el eje de transmisin de USB). La corriente mxima que el bus puede proporcionar es de 500 mA a 5 voltios de tensin. Cmoda integracin de dispositivos de tecnologa y fabricantes diferentes. Soporte para plataformas diversas de la lnea de las PCs compatibles (algunos problemas para MACINTOSH) Posibilitar la produccin de nuevos dispositivos capaces de aprovechar sus ventajas. Los detalles de consumo y administracin elctrica del dispositivo deben ser completamente transparentes para el usuario. Los dispositivos pueden ser desconectados mientras el computador est en uso. Deben poder compartir un mismo bus tanto dispositivos que requieren de unos pocos Kbps como los que requieren varios Mbps. Ms de 127 dispositivos diferentes pueden estar conectados simultneamente y operando con una misma computadora sobre el cable. An as, existirn dispositivos especficos destinados a ampliar la cantidad de conectores, estos se denominan hubs. El bus debe permitir perifricos multifuncin, es decir aquellos que pueden realizar varias tareas a la vez, como lo son algunas impresoras que adicionalmente son fotocopiadoras y mquinas de fax. Capacidad para manejo y recuperacin de errores producidos por un dispositivo cualquiera. Bajo coste. No se necesita un cable extra de alimentacin - la mayora de los perifricos USB obtienen la alimentacin del bus USB, con lo cual no requieren un cable de alimentacin adicional. Ms rpido - USB transfiere los datos 10 veces ms rpido que los puertos serie tradicionales. Cuenta con una especificacin abierta, esto significa que cualquiera puede disear productos USB sin tener que pagar ninguna licencia. Transmisin del bus serie universal: Transmisin Asincrnica En este modelo cabe entender que ambos equipos poseen relojes funcionando a la misma frecuencia, por lo cual, cuando uno de ellos desea transmitir, prepara un grupo de bits encabezados por un BIT conocido como de arranque, un conjunto de 7 u 8 bits de datos, un BIT de paridad (para control de errores), y uno o dos bits de parada. El primero de los bits enviados anuncia al receptor la llegada de los siguientes, y la recepcin de los mismos es efectuada. El receptor conocer perfectamente cuntos bits le llegarn, y da por recibida la informacin cuando verifica la llegada de los bits de parada. El esquema de los datos se muestra en la Figura siguiente.
Figura: 15 Cronograma Transmisin Asincrnica del bus USB. Se denomina transmisin asincrnica no porque no exista ningn tipo de sincronismo, sino porque el sincronismo no se halla en la seal misma, mas bien son los equipos mismos los que poseen relojes o clocks que posibilitan la sincronizacin. Transmisin Sincrnica En este tipo de transmisin, el sincronismo viaja en la misma seal, de esta forma la transmisin puede alcanzar distancias mucho mayores como tambin un mejor aprovechamiento de canal.
Figura: 16 Cronograma Transmisin Sincrnica del bus USB. Las transmisiones sincrnicas ocupan en la actualidad gran parte del mundo de las comunicaciones seriales, especialmente las que emplean el canal telefnico. Transmisin Isocrnica: La transmisin isocrnica ha sido desarrollada especialmente para satisfacer las demandas de la transmisin multimedial por redes, esto es integrar dentro de una misma transmisin, informacin de voz, video, texto e imgenes. La transferencia isocrnica provee comunicacin continua y peridica entre el host y el dispositivo, con el fin de mover informacin relevante a un cierto momento. Transmisin Bulk: La transmisin Bulk, es una comunicacin no peridica, explosiva tpicamente empleada por transferencias que requieren usar todo el ancho de banda disponible o en su defecto son demoradas hasta que el ancho de banda completo est disponible. Esto implica particularmente movimientos de imgenes o video, donde se requiere de gran potencial de transferencia en poco tiempo. Transmisiones de control: Es un tipo de comunicacin exclusivamente entre el host y el dispositivo que permite configurar este ltimo, sus paquetes de datos son de 8, 16, 32 o 64 bytes, dependiendo de la velocidad del dispositivo que se pretende controlar. Transmisin de Interrupcin: Este tipo de comunicacin est disponible para aquellos dispositivos que demandan mover muy poca informacin y poco frecuentemente. Tiene la particularidad de ser unidireccional, es decir del dispositivo al host, notificando de algn evento o solicitando alguna informacin. Arbitraje Tras su encendido, el dispositivo anfitrin -el PC- se comunica con todos los dispositivos conectados al bus USB, asignando una direccin nica a cada uno de ellos (este proceso recibe el nombre de enumeracin). Adems, el PC consulta qu modo de transferencia (enunciados anteriormente) desea emplear cada dispositivo. Para la temporizacin, el bus USB divide el ancho de banda en porciones, controladas por el PC. Cada porcin mueve 1.500 bytes, y se inicia cada milisegundo. Ante todo, el PC asigna ancho de banda a los dispositivos que emplean transferencias iscronas y por interrupciones, garantizando el ancho de banda necesario. Las transferencias por bloques emplean el espacio restante, quedando en ltima prioridad. [10] 5. CONCLUSIONES La progresin que podemos apreciar es que actualmente los buses estn en un proceso de transicin de paralelo a serie. Esto es debido a: Es ms econmico, al utilizar un nmero menor de lneas. Al no disponer de distintas lneas muy prximos se evita el ruido cruzado. Es decir una posible modificacin del envo de los datos debido a que la seal de una lnea puede interferir sobre las lneas ms prximas. Elimina el Skewing; los datos de algunas de las lneas pueden llegar retrasadas respecto a las otras, debido a la geometra de las lneas, electricidad, ruido, etc. Al aumentar el nmero de lneas para el envo de informacin se aumenta la intensidad, la potencia, y el calor desprendido ser mayor. Adems de todas estas ventajas la ltima generacin de buses responde a las necesidades de un gran nmero de usuarios que requieren velocidad, versatilidad, facilidad de uso, etc. Por ejemplo el bus USB cuenta con las ventajas de ser serie, Plug and Play, Hot Plugging, una gran escalabilidad, etc. En conclusin el USB permite disminuir los costes de los dispositivos perifricos, al no requerir tarjetas adicionales ni transformadores de energa; simplificar su instalacin al no tener que configurar cada dispositivo y utilizar un mismo conector para todos y acceder a mejores prestaciones dada la mayor velocidad del bus comparada con las puertas serial y paralela.USB sigue una especificacin muy reservada, orientada a la comodidad de los usuarios y a la facilidad de manejo por personas sin formacin tcnica, as como la flexibilidad para ser adaptable a muchos usos. Con la aparicin de este nuevo estndar de comunicacin de perifricos, las computadoras tienen acceso a la instalacin de perifricos de una forma segura y rpida. Debido a todas estas ventajas de los buses serie sobre los paralelo, la tendencia ser desarrollar nuevos estndares serie.. As por ejemplo PCI- Express, que es un nuevo desarrollo del bus PCI basndose en un sistema de comunicacin serie mucho ms rpid, est sustituyendo al actual PCI (paralelo). PCI-Express en 2006 es percibido como un estndar de las placas base para PCs, especialmente en tarjetas grficas. 6. Referencias [1] Fundamentos de los computadores, Pedro De Miguel Anasagasti. Mc Graw Hill [2] Organizacin y arquitectura de computadores, William Stallings. Prentice Hall. [3] Organizacin de computadores, Carl Hamacher, Zvonko Vranesic, Safwat Zaky. Thomson 9 edicin. [4] http://www.fdi.ucm.es/profesor/ehuedo/EC_IE_0506/Tema5.pdf [5] http://www.teleco.upct.es/docencia/material/4/arqcom/capitulo8.pdf [6] http://dac.escet.urjc.es/docencia/FCII-Teleco/Tema2.pdf [7]http://www.agalisa.es/article268.html [8]https://dac.escet.urjc.es/asignaturas/AC/TEMA_I_BUSES.pdf [9]http://www2.ing.puc.cl/~dmery/arqui/Capitulo05.pdf [10]http://www.cienciasmisticas.com.ar/informatica/hardware/usb/index.php [11]PC Cuadernos Tcnicos Arquitectura del PC Teora y Prctica n 177. ndice de Figuras n pgina Figura: 1 Jerarqua de los buses 5 Figura: 2 Estructura de Bus tpica 8 Figura: 3 Transferencia en ciclo completa 9 Figura: 4 Transferencia en ciclo partido 10 Figura: 5 Arbitraje Centralizado 11 Figura: 6 Arbitraje distribuido 12 Figura: 7 Seales de Control PCI. 12 Figura: 8 Seales de Control PCI 13 Figura: 9 Seales para PCI 64 bits 13 Figura: 10 Velocidades de Transferercia de datos PCI 14 Figura: 11 Arbitro del bus PCI 15 Figura: 12 Cronograma de funcionamiento de PCI 15 Figura: 13 Velocidad de Transferencia USB 16 Figura: 14 Diferentes tipos de conexiones USB 17 Figura: 15 Cronograma Transmisin Asincrnica del bus USB 18 Figura: 16 Cronograma Transmisin Sincrnica del bus USB 19 22