Fernando D. Monje 1 Libro: Estructura Interna de la PC. Capítulo 3: Buses: Las autopistas del Microprocesador. - Buses: El bus es el camino que une al microprocesador con los componentes, comunica al procesador con las controladoras de discos, unidades y puertos en la motherboard (tarjeta de video, etc). Traslada los datos entre el procesador y la memoria. La comunicación la realiza a través de trazos metálicos en el circuito impreso. Son líneas de cobre en paralelo y la cantidad dependerá del ancho del bus que trabaje el procesador. Vincula al procesador con los dispositivos de entrada y salida, y a estos con la memoria. Puede transportar los datos de un dispositivo de entrada a la memoria, sin que la CPU pierda tiempo, librándola de esa tarea. La memoria puede entregar datos a un dispositivo de salida sin interrumpir la CPU. El dispositivo avisa al procesador que utilizará el bus y este no accede al mismo tiempo para no producir mezcla, choque o corrupción de datos. Al dispositivo, se le asigna un canal de acceso directo a memoria (DMA). El bus es uno de los elementos más importantes del rendimiento global de un sistema. Podemos tener el procesador más rápido en el mercado, pero no sirve de nada porque pasara la mayoría del tiempo esperando que el bus lleve y traiga datos. Si el bus es rápido pero trae pocos datos al mismo tiempo tampoco es del todo bueno. Diferentes Tipos de Bus y Sus Componentes. Un Bus de datos es el camino por donde el procesador transporta los datos de entrada y salida. Los datos no sirven de nada si no se establece el destino. Aparece el bus de direcciones. El bus del sistema o bus de control, administra la forma en que los procesos se llevaran a cabo. El procesador lo utiliza para enviar comandos (órdenes). Ejemplo: Administrar si se escribirá a memoria o se tomara un dato de la misma para el dispositivo de salida. Diferentes Ranuras de Expansión. Son conectores que se encuentran sobre la motherboard. Conectan con el bus. En estas van las placas adicionales (tarjeta de video, tarjeta de sonido, etc.). Conocidas como spots de expansión, fácilmente reconocibles; De diferentes tamaños, formas y longitudes. No dejarse engañar por el tamaño, ya que una de 16bits es considerablemente más grande que una de 64bits. Cada ranura fue estandarizándose, de manera tal que existiera garantía de compatibilidad. Se analizara cada tipo de bus comenzando por el ISA de 8bits llegando hasta los PCI de 64bits aun vigentes. Fernando D. Monje 2 El BUS ISA (AT). Primer sistema de bus de 62 líneas de comunicación (62 conectores). Aceptaban 8bits de datos y 20bits de direcciones para el 8088. 8 de los 62 eran de datos y 20 el bus de direcciones, los demás para otros propósitos. 1984, nace el AT, expande el sistema de bus original hacia un ancho de datos de 16bits y 24bits de direccionamiento. Eliminaba el límite de los 8bits. Al ser AT una expansión de anterior es compatible con las de 8bits. Tenía una ranura idéntica con el agregado de otra más con los conductores de datos y direcciones adicionales. Antes el bus trabajaba a la misma velocidad que el procesador. Luego fue aumentando y surgieron problemas. Compaq introduce su AT de 12Mhz con un bus a 8Mhz. Todos copiaron eso y nació el estándar en sistemas de bus de 16bits, denominado ISA (Industrial Standard Architecture – Arquitectura Industrial Estandarizada). ISA hace referencia al bus AT de 16bits. Los buses de 32 Bits Con los procesadores de 32 bits aparecen ranuras diseñadas para el nuevo ancho de datos. No eran estándar. Solamente se conseguían placas de los fabricantes de la motherboard, limitando la expansión. Se normalizo en 1987 y 1988 con los buses Micro Canal (MCA) y EISA. Cinco años más tarde se desarrollaron el VESA Local Bus 1.0 y el PCI 1.0. En la actualidad el único que sigue vigente de estos es el PCI en una versión mas avanzada. Los primeros de 32bits establecieron conceptos que se mantienen vivos y son bases del funcionamiento de los buses. Ventajas de los PCI, ISA y MCA con respecto al bus ISA de 16bits: - Las señales que los atraviesan no son afectadas por ruidos, por lo tanto es posible trabajar con mayor velocidad - Permiten un ancho de datos de 32bits. - Brindan capacidades de bus mastering o multiusuario. - Soportan configuración por software. El Problema del Ruido: Al aumentar la cantidad de datos en una misma unidad de tiempo, pueden ser afectados por el ruido (toda señal, no información). El ISA utiliza activación de interrupciones por marginalidad. Cuando el nivel de la señal transferida excede cierta tensión es interpretada como datos. DESVENTAJA: Puede ser afectada por el ruido y ante la posible generación de transitorios (picos de tensión) se interpretan como datos y generan errores considerables. SOLUCION: (en los EISA y MCA) reemplazar el sistema por el de activación por nivel. Requiere que el nivel de tensión se mantenga alto durante la secuencia para que sena tomados. Se elimina la probabilidad de tomar una cadena de datos por un pico. Bus Mastering o Multiusuario: En computadoras con un solo procesador, el bus es controlado por este. En PCs con varios, cada uno de ellos se encarga de controlar tareas específicas. Es conveniente que todos se comuniquen entre si. Es difícil en un ISA. Los PCI, MCA EISA soportan el acceso de varios procesadores a un mismo bus. Si el dispositivo que toma el control del mismo tiene la capacidad suficiente para controlar el bus, no va a quitarle tiempo al procesador. Fernando D. Monje 3 Soporte de Configuración por Software. Sistemas EISA, MCA y PCI: Ideados para soportar configuración de las placas mediante programas y no mediante jumpers en la placa. Permite que se enchufe, se corra un programa y detecte la configuración mas adecuada automáticamente. No hay que luchar contra los interruptores o jumpers ni sacar y volver a enchufar la placa reiteradas veces hasta encontrar la configuración adecuada. Todas las capacidades están presentes en el sistema pero depende de la placa si son aprovechadas o no. No todas las placas soportan la configuración por software y no todas las placas brindan soporte para mastering. El BUS EISA: En 1988 Compaq, Tandy, AST, AT&T y otras decidieron desafiar el bus MCA de IBM. Surge el bus EISA (Enhanced Industrial Standard Architecture – Arquitectura Industrial Estandarizada Ampliada). Es una ampliación del ISA de 16bits con la ventaja de estar normalizado. Bus con ancho de datos de 32bits, soporte para bus mastering y configuración por software. Total compatibilidad con el bus ISA. La frecuencia de reloj sigue sendo de 8Mhz, pero al tener un ancho de datos mayor adquiere una capacidad de transferir datos a 33Mb/s. Cuádruple que el ISA de 16bits. Velocidad suficiente para las placas de red. Los sistemas EISA se utilizaron en servidores de alto rendimiento y en estaciones de trabajo especificas, no llegaron a la masa debido al alto costo. En una primera instancia los sistemas basados en bus local y lego los PCI fueron reemplazando al EISA, que ya no existe en ningún sistema moderno. El BUS MCA 1987, IBM desarrolla el MCA (MicroChannel Architecture – Arquitectura MicroCanal) Aceleraba la transferencia de datos y disminuía los niveles de ruido. Usaba un sistema de canalización de los datos, en el cual se activan canales a medida que se desea transmitir y se transporta por estos hacia el destinatario, encargándose el sistema de control del bus, liberando al procesador de estos procedimientos, mejorando el rendimiento global del sistema. Menos susceptible a los ruidos y puede elevar su frecuencia de reloj a 10Mhz o as. So logan cerca de 40Mb/s. Totalmente incompatible con los anteriores por lo que no resulto atractivo ni tuvo aceptación en el mercado. Fernando D. Monje 4 El Bus Local: Cualquier sistema que permita a los dispositivos conectados a este trabajar a velocidades de reloj altas, como la velocidad externa del reloj del procesador. En una PC basada en el ISA, el procesador necesita dos caminos electrónicos para transportar la información: el bus local del mismo y el bus de expansión. Los componentes del bus local trabajan a la misma velocidad que el procesador externamente y con el mismo ancho de datos. Surgieron motherboards basadas en bus local. Establecieron puentes permitiendo la conexión de dispositivos al bus local consiguiendo que la tarjeta de video, controladora del disco y la tarjeta de red aprovecharan los 33Mhz de velocidad y 32bits de ancho de bus local. El VESA Bus Local (VL-Bus) y el PCI fueron los pioneros en implementaciones del nuevo modo de trabajo. VESA Bus Local (VL-Bus) V. 1.0 y 2.0 Estándar de bus local, introducido en 1993 por un grupo de fabricantes: Video Electronic Standards Association – Asociación de estándares de Video electrónico (VESA). Permitía conectar un máximo de tres dispositivos. Trabajaban a la misma velocidad que la externa del procesador. En las motherboards se presentaban tres conectores ISA con el agregado de un conector de 32bits similar al MCA en línea con el mismo. Si no se utilizaba el conector VL-Bus, la ranura podía aprovecharse para una tarjeta ISA. Las placas para VL-Bus se conectan en el conector de 112 pines estilo MCA en un extremo y en el conector ISA en el otro. La parte ISA maneja el acceso directo a memoria (DMA), el acceso a interrupciones, direcciones de puertos y líneas de alimentación. El conector MCA brinda una línea de datos de 32bits. El VL-Bus tiene capacidades de Bus Mastering al igual que EISA y MCA. Los sistemas basados en 486 se beneficiaron. Se desarrollaron muchas tarjetas de video y controladoras de discos pero al limitarse a un solo procesador quedo obsoleto. PCI de 32 y 64 Bits (1.0;2.X) Sistema de bus diseñado por Intel en 1993. Base de sistema para Pentium. PCI (Peripheral Component Interconect – Interconexión de Componentes Periféricos) Ideado para acomodar procesadores mas rápidos sin necesidad de actualizar constantemente los dispositivos y rediseñarlos. El bus PCI establece un puente entre el bus local el procesador con un buffer FIFO (First In, First Out – Primero de entrada; Primero de Salida) Lo denomina un bus intermedio porque esta diseñado para desacoplar al procesador del bus de expansión. Se mantiene un ancho de datos de 32 o 64 bits y una velocidad de 33Mhz para comunicarse con los dispositivos. Es muy costoso diseñar y construir una motherboard cuyas ranuras de expansión trabajen a tan altas frecuencias como las que ha alcanzado el bus local de los procesadores actuales Los fabricantes deberían desarrollar tarjetas de expansión que pudieran trabajar a estas velocidades. El bus PCI cumple su función de desacoplar y no siguió con la arquitectura del VL-Bus solamente pensado para el 486. En su momento requirió mucho trabajo por parte de los fabricantes para adaptar sus diseños de tarjetas al mismo, ha logrado transformarse en el estándar para las tarjetas de expansión y esta presente en todas las motherboards modernas. Fernando D. Monje 5 CARACTERISTICAS Y LIMITACIONES: - Máximo de 10 dispositivos trabajando sobre el mismo bus. En la mayoría de las motherboards modernas ya no se incluyen ranuras ISA. - Originalmente limitado a 33Mhz. Algunas Mathers ofrecen la posibilidad de aumentar la velocidad a 40Mhz. Apareció la versión de 66Mhz. - El ancho de datos puede ser de 32bits o de 64bits. - Permite al procesador efectuar sus tareas al mismo tiempo que se realiza el bus mastering con otros dispositivos, una ganancia de rendimiento para aplicaciones multimedia y servidores de alto rango. - Habilita un modo rápido para lecturas y escrituras. PCI requiere que los dispositivos devuelvan estados de configuración al controlador, Significa un rediseño de los chips utilizados para otros sistemas. Utiliza la técnica de multiplexado para enviar más de una información en un solo canal eléctrico, con el beneficio de la reducción de los pines necesarios para comunicarse con los chips y una posible reducción del costo de producción. Sistema introducido con las primeras PCs Pentium. Se transformo rápidamente en el estándar para los siguientes microprocesadores. Tiene un rendimiento similar al VL-Bus: PCI 1.0: Transferencia de datos de 132Mb/s con 32bits de ancho de datos y 33Mhz de velocidad de reloj. PCI 2.0: Transferencia de datos de 246 con64bits y 33Mhz.Ahora con 64bits y 66Mhz alcanza los 528Mb/s. Es un estándar presente en todas las computadoras modernas. PCI-X 1.0 Procesadores, dispositivos y buses cada vez más veloces eran cada vez más demandantes. Los 32bits y 33Mhz del PCI mas difundido no eran suficientes para seguir el ritmo. El PCI convencional o de 64bits representa un enorme cuello de botella para las velocidades del bus local de los procesadores de última generación. Surgió una mejora al bus PCI para aumentar el rendimiento y hacerlo trabajar a 3 velocidades de reloj: 66; 100 y 133Mhz, todas con un ancho de 64bits. Se conoce con el nombre de PCI-X. Con una velocidad de reloj de 133Mhz, alcanza una transferencia de datos máxima de 1.06Gb/s. Las PCI-X incorporan una extensión de 64bits. Tienen el mismo formato que las PCI de 64bits. La diferencia es que esta habilitada para trabajar con mayores velocidades. PCI-X 2.0 El 1.0 mejora las velocidades de reloj del bus. Surge una nueva versión (2.0) que agrega dos nuevas velocidades de trabajo con el mismo ancho de datos de 64bits: 266 y 533Mhz, alcanzando velocidades de transferencia de datos de 2.13 y 4.26 Gb/s respectivamente. Utiliza tecnología DDR (Double Data Rate – Doble tasa de transferencia de datos) para duplicar los 133Mhz y llegar a los 266. Y hace uso de la QDR (Quadruple Data Rate – Cuádruple tasa de transferencia de datos) para cuadruplicar la velocidad y llegar a los 533Mhz. Significa que con una velocidad REAL de 133Mhz envía doble o cuádruple de datos por cada ciclo elevando la velocidad final. Implementa transacciones basadas en mensajes, mediante las cuales los dispositivos pueden enviarse varios mensajes entre si.