Site hosted by Angelfire.com: Build your free website today!

INTERFACES PARA LA INTERCONEXIÓN DE PERIFÉRICOS

 

Un sistema computacional es un sistema complejo que puede llegar a estar constituido por millones de componentes electrónicos elementales.

 

Esta naturaleza multi nivel de los sistemas complejos es esencial para comprender tanto su descripción como su diseño. En cada nivel se analiza su estructura y su función en el sentido siguiente:

 

Estructura: La forma en que se interrelacionan las componentes.

 

Función: La operación de cada componente individual como parte de la estructura.

 

Por su particular importancia se considera la estructura de interconexión tipo bus.

 

Los buses son el tejido conectivo de los sistemas de computación; y los buses más utilizados son: el bus ISA, el bus PCI y el Bus Serial Universal o USB.

 

Aunque lBM intentó conseguir un sistema abierto y de hacer pública todo tipo de información, interrumpió la documentación de los pasos exactos de las señales del bus, seguramente bajo el supuesto de que nadie necesitaría esta información.

 

EI bus representa básicamente una serie de cables mediante los cuales pueden cargarse datos en la memoria y desde allí transportarse a la CPU. Por así decirlo es la autopista de los datos dentro del PC ya que comunica todos los componentes del ordenador con el microprocesador. El bus se controla y maneja desde la CPU.

 

El objetivo de conectar una tarjeta a un bus de expansión es que ésta funcione como si estuviera directamente conectada al procesador.

 

El bus de expansión usualmente dispone de 6 a 8 conectores de ranura o slots en los que se puede conectar, en cualquier orden, las tarjetas controladoras de dispositivos periféricos. Además de tener acceso a las líneas principales del bus del sistema, los conectores del bus de expansión también tienen las líneas que conducen la potencia eléctrica requerida por los dispositivos para funcionar.

 

A continuación se muestran a grandes rasgos las principales características de algunos de los buses e interfaces más utilizados para la comunicación entre periféricos:

 

 

1. El bus de expansión ISA.

 

El objetivo de conectar una tarjeta a un bus de expansión es que ésta funcione como si estuviera directamente conectada al procesador. Con el fin de hacer factible estas características el bus de expansión XT presentaba el mismo ancho de bus (8bits) y operaba a la misma velocidad de reloj (4.77MHz) que el propio procesador 8088.

 

Con el desarrollo del microprocesador 80286 utilizado en los computadores IBM AT y sus compatibles que podía manejar un bus de datos de 16 bits de ancho y un bus de direcciones de 24bits, fue necesario agregar 36 líneas más al bus de expansión. Para conservar la compatibilidad con las tarjetas de 8bits, simplemente se colocó a continuación de algunas de las ranuras de expansión 8 bits otra ranura suplemento más corta, la cual se encarga de manejar los 8bits adicionales del bus de datos, además de otras cosas.

 

Puesto que el bus de datos puede manejar paralelamente datos hasta de 16bits, muchos se refieren al bus de expansión como un bus de 16bits. El bus de 16bits se convirtió muy pronto en el patrón de la industria, y dejó de llamarse bus AT para tomar el de bus ISA (Industry Standard Architecture).

 

Con la evolución de los procesadores también hubo una revolución en los buses que se habían quedado obsoletos. Así cuando en 1984 IBM presenta el PC AT (con el procesador Intel 80286) se rompió la aparentemente inquebrantable relación entre bus y microprocesador. Aunque en la práctica el reloj del procesador de un AT funciona a la misma velocidad que su reloj de bus, IBM había abierto la puerta a la posibilidad de que este último fuese más rápido que el reloj del bus. Así pues el bus que incorporó el AT fue de un ancho de banda de 16 bits funcionando a 8.33Mhz. Este enfoque de diseño no oficial se denominó ISA (Industry Standard Arquitecture) en 1988.

 

Puesto que el bus ISA ofrecía algunas limitaciones, en IBM se desarrolló otro tipo de bus que funcionaba a 10Mhz y que soportaba un ancho de banda de 32 bits. Este bus se monto en la gama PS/2. El gran problema de este bus es que no era compatible con los anteriores y necesitaba de tarjetas de expansión especialmente diseñadas para su estructura.

 

Como el mercado necesitaba un bus compatible ISA que fuese más rápido, la mayoría de fabricantes establecieron las especificaciones del bus EISA (Extended ISA) que ensanchaba la ruta de datos hasta 32 bits, sin embargo la necesidad de compatibilidad con ISA hizo que este nuevo bus tuviese que cargar con la velocidad básica de transferencia de ISA (8.33Mhz).

 

Pero la gran revolución estaba por llegar. Por un lado los procesadores Intel 80486 y por otro la invasión en el mercado de los sistemas gráficos como Windows hicieron necesario la aparición de un nuevo tipo de bus que estuviese a la altura de estos hitos. Al manejarse gráficos en color se producían grandes cuellos de botella al pasar del procesador al bus ISA (el 80486 funcionaba a 33Mhz y el bus ISA a 8.33Mhz).

 

 

 

Señales del slot de expansión ISA

 

El slot de expansión del XT, de 8 bits, consta de 62 terminales en un conector hembra, 31 por cada cara. La cara A es la de los componentes; por la B sólo hay pistas. Viendo las tarjetas por arriba (por la cara de componentes) y con los conectores exteriores a la derecha, la numeración comienza de derecha a izquierda. En los AT el slot de 16 bits consta de 36 terminales más, distribuidos en grupos de 18 en dos nuevas caras (C y D). La mayoría de las máquinas AT poseen slots de 8 y 16 bits, aunque lo ideal sería que todos fueran de 16 (en los de 16 bits se pueden insertar también tarjetas de 8 bits, dejando la otra mitad al aire).

 

Las señales en la parte de 8 bits son idénticas en XT y AT, si se exceptúa la línea IRQ2 que en los AT es realmente IRQ9 (IRQ2 es empleada en la placa base para conectar en cascada el segundo controlador de interrupciones; por compatibilidad con los XT, cuando se produce una IRQ9 -normalmente una INT 71h- se invoca por software la INT 0Ah).

 

En el siguiente esquema, las líneas activas en alto van precedidas de un signo (+); las activas en estado lógico bajo (-). Los símbolos I (Input) y O (Output) indican si las líneas son de entrada, salida o bi direccionales.

 

 

 

El slot de expansión de los PC contiene básicamente las principales señales del 8086 demultiplexadas, así como otras de interrupciones, DMA, control de E/S, etc. Las señales presentes en el slot de expansión de 8 bits son:

 



OSC:

(Oscilator) Señal de reloj de casi 70ns (14,31818 MHz) que está la mitad del período en estado alto y la otra mitad en estado bajo.

ALE:

(Address Latch Enable) Indica en su flanco de bajada que el latch de direcciones se ha cargado con una dirección válida procedente del microprocesador.

TC:

(Terminal Count) Indica el final de la cuenta en algún canal de DMA.

DRQ1-DRQ3:

(DMA Request) Líneas asíncronas de petición de DMA (1 mayor prioridad, 3 menor). Esta línea debe activarse hasta que DACK (activo a nivel bajo) suba.

DACK1-DACK3:

(DMA Acknowledge) Indica que ha sido atendida la petición de DMA y que debe bajarse el correspondiente DRQ.

IRQ2-IRQ7:

(Interrupt request) Indica una petición de interrupción (2 mayor prioridad, 7 menor). La señal debe mantenerse activa hasta que la interrupción acabe de ser procesada.

IOR:

(Input/Output Read) Señala al dispositivo de E/S que se va a leer el bus de datos; esta línea la controla la CPU o el DMA.

IOW:

(Input/Output Write) Señala al dispositivo de E/S que se va a escribir en el bus de datos; esta línea la controla también la CPU o el DMA.

MEMR:

(Memory Read) Indica que se va a efectuar una lectura de la memoria en la dirección contenida en el bus de direcciones. La activa la CPU o el DMA.

MEMW:

(Memory Write) Indica que se va a efectuar una escritura en memoria en la dirección contenida en el bus de direcciones. La activa la CPU o el DMA.

RESET DRV:

(Reset drive) Avisa de que el sistema está en proceso de reinicialización, para que todos los dispositivos conectados se inicialicen. Se activa en el flanco de bajada de la señal del reloj.

A0-A19:

(Address) Bus de direcciones común a la memoria y a la E/S, controlado por la CPU o el DMA.

D0-D7:

(Data) Bus de datos que conecta el microprocesador y los demás componentes.

AEN:

(Address Enable) Valida la dirección almacenada en A0-A19. Esto permite inhibir la CPU y los demás dispositivos, pudiendo el DMA tomar el control. Los periféricos deben decodificar la dirección comprobando que AEN está en estado bajo.

I/O CH RDY:

(I/O Channel Ready) Esta línea se pone momentáneamente en estado bajo por los periféricos lentos (no durante más de 10 ciclos de reloj) cuando detectan una dirección válida en una operación de E/S, con objeto de poder sincronizarse con la CPU, que genera estados de espera.

I/O CH CK:

(I/O Channel Check) Indica si se ha producido un error de paridad en la memoria o en los dispositivos E/S.

 

 

En los AT, las líneas adicionales completan fundamentalmente la nueva longitud de los buses de datos y direcciones, permitiendo acceder también al resto del nuevo hardware:

 

DRQ y DACK:

Nuevas líneas de petición/reconocimiento de DMA para los canales 5, 6 y 7, así como el 0 (realmente el 4) que en los XT no estaba disponible al ser empleado por el refresco de memoria.

IRQ:

Nuevos niveles de interrupción: 10, 11, 12, 13, 14 y 15. IRQ8 es interna a la placa base y no está presente en el slot; IRQ9 se utiliza para emular IRQ2.

I/O CS 16:

Indica un acceso de 16 bits en los puertos E/S.

MEM CS 16:

Indica un acceso de 16 bits en la memoria.

D8-D15:

Parte alta del bus de datos.

A17-A23:

Parte alta del bus de direcciones.

 

 

2. Bus de expansión Micro Canal (MCA) de IBM.

 

Para sacar provecho de las posibilidades del microprocesador 80386 que es de 32 bits, la IBM desarrolló en sus computadores tipo PS/2 un nuevo bus de expansión, al que denominó Micro Canal, mejor conocido por sus iniciales en inglés: MCA (Micro Channel Architecture), pero las pruebas en computadores con entorno de DOS de usuario individual, y en redes con hasta doce estaciones de trabajo, no mostraron mejoras de rendimiento.

 

Los diseñadores reorganizaron las funciones de los contactos para reducir la interferencia y lograr más velocidad en las operaciones, pero eliminaron la compatibilidad con las tarjetas estándar ISA y EISA. Por lo tanto las tarjetas MCA solo trabajaban en ranuras Micro Canal.

 

Vistas las limitaciones que tenía el diseño del bus ISA en IBM se trabajó en un nueva tecnología de bus que comercializó con su gama de ordenadores PS/2. El diseño MCA (Micro Channel Arquitecture) permitía una ruta de datos de 32 bits, más ancha, y una velocidad de reloj ligeramente más elevada de 10Mhz, con una velocidad de transferencia máxima de 20Mbps frente a los 8Mbps del bus ISA.

 

Pero lo que es más importante el novedoso diseño de bus de IBM incluyó un circuito de control especial a cargo del bus, que le permitía operar independientemente de la velocidad e incluso del tipo del microprocesador del sistema.

 

Bajo MCA, la CPU no es más que uno de los posibles dispositivos dominantes del bus a los que se puede acceder para gestionar transferencias. La circuitería de control, llamada CAP (punto de decisión central), se enlaza con un proceso denominado control del bus para determinar y responder a las prioridades de cada uno de los dispositivos que dominan el bus.

 

Para permitir la conexión de más dispositivos, el bus MCA especifica interrupciones sensibles al nivel, que resultan más fiables que el sistema de interrupciones del bus ISA. De esta forma es posible compartir interrupciones. Pero además se impusieron estándares de rendimiento superiores en las tarjetas de expansión.

 

Es cierto que el progreso conlleva un precio: La nueva arquitectura de IBM es totalmente incompatible con las tarjetas de expansión que se incluyen en el bus ISA. Esto viene derivado de que los conectores de las tarjetas de expansión MCA eran más pequeños que las de los buses ISA. De esto se pueden sacar dos conclusiones. Por un lado el coste de estas tarjetas era menor y por otro ofrecía un mayor espacio interior en las pequeñas cajas de sobremesa.

 

Las señales del bus estaban reorganizadas de forma que se introducía una señal de tierra cada 4 conectores. De esta forma se ayudaba a reducir las interferencias.

 

 


3. El bus de expansión EISA.

 

Un consorcio de nueve fabricantes de equipos compatibles con IBM, encabezados por Compaq Computer Corp., diseñó un bus de expansión que ofrece la posibilidad del Micro Canal sin sus desventajas, y plena compatibilidad con las tarjetas interfaz hechas para el bus ISA. Lo llamaron EISA (Enhanced Industry Standard Architecture) " ISA mejorado". Puede manejar paralelamente palabras de 32 bits de ancho, lo que se traduce una mejora de la velocidad de adquisición o envío de datos.

 

EL conector EISA para las tarjetas interfaz de periféricos tiene más funciones y más contactos que un conector de bus ISA (188 contra 98), pero se diseñó para tener plena compatibilidad previa con las tarjetas de ISA.

 

Se mantienen todas las conexiones ISA en sus posiciones normales, pero se añade una nueva fila de contactos más baja para unirse a las funciones avanzadas. Estos contactos se unieron a los circuitos de la tarjeta de expansión intercalando las líneas adicionales en los espacios dejados entre los contactos normales de una tarjeta ISA.

 

Las ranuras o slots para tarjetas EISA pueden recibir tanto tarjetas de bus ISA como de bus EISA, pero la compatibilidad es de un solo sentido: las tarjetas diseñadas para el bus EISA no trabajan en ranuras de bus ISA.

 

Su mayor ventaja con respecto al bus MCA es que EISA era un sistema abierto, ya que fue desarrollado por la mayoría de fabricantes de ordenadores compatibles PC que no aceptaron el monopolio que intentó ejercer IBM. Estos fabricantes fueron: AST, Compaq, Epson, Hewlett Packard, NEC, Olivetti, Tandy, Wyse y Zenith.

 

Esta arquitectura de bus permite multiproceso, es decir, integrar en el sistema varios buses dentro del sistema, cada uno con su procesador. Si bien esta característica no es utilizada más que por sistemas operativos como UNIX o Windows NT.

 

En una máquina EISA, puede haber al mismo tiempo hasta 6 buses principales con diferentes procesadores centrales y con sus correspondientes tarjetas auxiliares.

 

En este bus hay un chip que se encarga de controlar el tráfico de datos señalando prioridades para cada posible punto de colisión o bloqueo mediante las reglas de control de la especificación EISA. Este chip recibe el nombre de Chip del Sistema Periférico Integrado (ISP). Este chip actúa en la CPU como un controlador del tráfico de datos.

 

El motivo para que ni MCA ni EISA hayan sustituido por completo a ISA es muy sencillo: Estas alternativas aumentaban el coste del PC (incluso más del 50%) y no ofrecían ninguna mejora evidente en el rendimiento del sistema. Es más, en el momento en que se presentaron estos buses (1987-1988) esta superioridad en el rendimiento no resultaba excesivamente necesaria: Muy pocos dispositivos llegaban a los límites del rendimiento del bus ISA ordinario.



4. El Bus Local.

 

Una manera de acelerar la transferencia de grandes cantidades de información desde el microprocesador a la pantalla, entre periféricos, o entre periféricos y la memoria, es crear una conexión más directa y rápida entre ellos para evitar el uso del bus de expansión común a todos los circuitos del computador, el cual es muy lento. A este minibus se le llama "bus local".

 

A partir del microprocesador 80486 ya es posible que los fabricantes realicen sus propios diseños de bus local. Uno de ellos fue NEC, quien introdujo los primeros computadores personales de bus local para el video con circuitos en la tarjeta base. Otros fabricantes tienen actualmente tres diseños de bus local para escoger: Uno es el bus local para video VL-Bus diseñado por la Asociación para Estándares del Video (VESA). El segundo es un bus local para interconectar periféricos directamente a los buses de datos y direcciones del microprocesador, basado en el juego (chipset) de integrados OPTi. El tercero es el bus local PCI (Peripheral Component Interconnect) desarrollado por Intel para aprovechar al máximo los recursos de su microprocesador Pentium, pero también se puede usar con procesadores 80486.

 

Los diseños típicos de bus local para video sacan los circuitos de video del bus de expansión y agregan un nuevo enlace directo al microprocesador.

 

La conexión local, que puede estar alambrada a los circuitos de video en la misma tarjeta base (system board) del computador, o en una tarjeta interfaz especial para el nuevo diseño de bus de expansión , opera a la velocidad de la memoria y con capacidad de 32 bits, dándole al manejo del video un potencial de velocidad apreciable mayor que una conexión normal de un bus de expansión.

 

Los diseños de bus local OPTi y VESA permiten actualmente hasta tres ranuras de expansión, suficiente para alojar la tarjeta de video, la tarjeta controladora de disco y una tarjeta adaptadora de red. El número de ranuras se ha mantenido bajo debido a la limitación impuesta por la capacitancia electrónica interna de los conectores y las altas frecuencias que deben manejar (hasta 66 MHz).

 

A diferencia de las altas velocidades de transferencia prometidas por los buses de expansión Micro Channel y EISA, que requieren de comandos de software especiales, los diseños de bus local trabajan a toda velocidad con los programas de aplicación tradicionales, sin modificaciones ni manejadores especiales.



5. El VL-Bus 1.0 (Vesa Local Bus).

 

Aunque con las ranuras (slots) EISA se consigue una transferencia de 32 bits paralelos, existe el problema de que la velocidad del reloj del bus y el del microprocesador, son diferentes, lo cual crea cuellos de botella (demoras), sobretodo en aplicaciones gráficas con video animado.

 

El bus local VES, llamada también VL-Bus, es una especificación de estructura de bus aprobada en agosto de 1992 por la Video Electronics Standards Association para responder a las limitaciones del bus ISA en los computadores personales. Mejora la capacidad del bus (32 bits) y la velocidad de transferencia (hasta 40 MHz).

 

Para que las tarjetas interfaz de los periféricos puedan acceder a los recursos del bus local VESA, la tarjeta base del computador incluye en el bus de expansión un tercer conector de borde, alineado con el par de conectores estándar para el bus de expansión ISA o EISA.

 

El hecho de utilizar los mismos dos conectores de ranura del bus ISA o EISA, hace que la tarjeta base sea compatible con todas las tarjetas de expansión hechas para dichos buses. Los fabricantes de tarjetas base para computador ofrecen actualmente modelos que incluyen hasta tres buses diferentes: ISA-VESA, EISA-VESA o ISA-EISA-VESA.

 

 

6. El VL-Bus 2.0.

 

Igual que el bus PCI de Intel, la versión 2.0 del bus local VESA, soporta periféricos de 64 bits, que es tamaño del bus del Pentium. Las tarjetas que utilizan el bus local 2.0 de 64 bits se han diseñado para usar el mismo conector de la serie 1.0 de 32 bits, usando la técnica de multiplexado de líneas de direcciones para lograr el equivalente de 64 líneas de datos (las 32 líneas se conmutan a cierta velocidad para que en un instante pasen unas señales y en el instante siguiente pasen las 32 restantes).

 

 

7. El bus acelerador de gráficos.

 

El AGP (Accelerated Graphics Port, Puerto de Gráficos Acelerados) es una especificación de bus que permite que se desplieguen rápidamente gráficos en 3D en ordenadores personales comunes. El AGP es una interfaz especial diseñada para transmitir imágenes en 3D (por ejemplo, de páginas Web o CD-ROM’s) mucho más veloz y ágilmente de lo que es posible hoy en una ordenador que no sea una costosa estación de trabajo gráfica.

 

La interfaz usa el almacenamiento principal del ordenador (RAM) para refrescar la imagen del monitor y soportar el mapeo de texturas, el z-buffering y la mezcla alfa que se requiere para el despliegue de imágenes en 3D.

 

El uso que hace el AGP de la memoria principal es dinámico, lo cual significa que cuando no se está utilizando para gráficos acelerados, la memoria principal se devuelve para uso del sistema operativo u otras aplicaciones.

 

Intel, que se ha situado a la vanguardia en el desarrollo de sus especificaciones, ha integrado el AGP en un chipset para su microprocesador Pentium II.

 

Los Pentium II se han diseñado para trabajar con el chipset AGP. Según Intel, la unidad de coma flotante avanzada y el algoritmo de caché más rápido del Pentium II están mejor adaptados para las aplicaciones tridimensionales.

 

 

Publicado en Junio de 2003 por:

José Eduardo Niño

www.angelfire.com/al3/joseddon

joseddon@yahoo.com

joseddon@cantv.net