Un sistema
computacional es un sistema complejo
que puede llegar a estar constituido por millones de componentes
electrónicos elementales.
Esta naturaleza
multinivel 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.
BUS
INTRODUCCIÓN
A pesar de que el bus tiene una
significación muy elemental en la forma de funcionamiento
de un sistema de
ordenador, el desarrollo del
bus del PC
representa uno de los capítulos más oscuros en la
historia del PC.
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. Con
el fin de hacer factible estas características el bus de expansión
XT presentaba el mismo ancho de bus (8 bits) y operaba a la misma
velocidad de
reloj (4.77 MHz) que el propio procesador
8088.
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 practica 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.33 Mhz. Este enfoque de diseño
no oficial se denominó oficialmente 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 10 Mhz 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.33 Mhz).
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 33 Mhz y el bus ISA a 8.33 Mhz). La
solución era enlazar el adaptador gráfico y otros
periféricos seleccionados directamente al
microprocesador.
Es aquí donde surgen los buses locales. Fue VESA ( un
organismo de estandarización de dispositivos de
vídeo) quién presentó el primer tipo de bus
local. Se le llamo VESA LOCAL BUS (VLB). Este tipo de bus
revolucionó el mercado ya que
permitía una velocidad de
33 Mhz pudiéndose alcanzar una máxima de 50 Mhz y
su ancho de
banda era de 32 bits (aunque en su especificación
2.0 se alcanzan los 64 bits).
En el año 1992 Intel presentó un nuevo bus
local llamado PCI, que aunque no mejoró el rendimiento del
VLB, superó las carencias que presentaba este bus que
estaba orientado al diseño
de los procesadores
80486. Así pues el PCI se desarrolló como un bus de
futuro. La velocidad de
este bus era inicialmente de 20 Mhz y funcionaba a 32 bits,
aunque en la actualidad su
velocidad de transferencia alcanza los 33 Mhz y su ancho
de banda llega hasta los 64 bits. Otra característica de este tipo de bus es la
posibilidad de que se le conecten tarjetas que
funcionen a distintos voltajes.
FUNCIONAMIENTO
En el bus se encuentran dos pistas separadas, el bus de
datos y el bus
de direcciones. La CPU escribe la
dirección de la posición deseada de
la memoria en
el bus de direcciones accediendo a la memoria,
teniendo cada una de las líneas carácter binario.
Es decir solo pueden representar 0 o 1 y de esta manera forman
conjuntamente el numero de la posición dentro de la memoria (es
decir: la dirección). Cuanto mas líneas haya
disponibles, mayor es la dirección máxima y mayor es la memoria a
la cual puede dirigirse de esta forma. En el bus de direcciones
original habían ya 20 direcciones, ya que con 20 bits se
puede dirigir a una memoria de 1 MB y
esto era exactamente lo que correspondía a la CPU.
Esto que en le teoría
parece tan fácil es bastante mas complicado en la
práctica, ya que aparte de los bus de datos y de
direcciones existen también casi dos docenas más de
líneas de señal en la
comunicación entre la CPU y la
memoria, a las
cuales también se acude. Todas las tarjetas del bus
escuchan, y se tendrá que encontrar en primer lugar una
tarjeta que mediante el envío de una señal adecuada
indique a la CPU que es responsable de la dirección que se ha introducido. Las
demás tarjetas se
despreocupan del resto de la
comunicación y quedan a la espera del próximo
ciclo de transporte de
datos que quizás les incumba a ellas.
PROCESADOR | Bus de | Bus de datos |
8086 | 20 | 16 |
8088 | 20 | 8 |
80186 | 20 | 16 |
80188 | 20 | 8 |
80286 | 24 | 16 |
80386 SX | 32 | 16 |
80386 DX | 32 | 32 |
80486 DX | 32 | 32 |
80486 SX | 32 | 32 |
PENTIUM | 32 | 64 |
PENTIUM PRO | 32 | 64 |
Este mismo concepto es
también la razón por la cual al utilizar tarjetas de
ampliación en un PC surgen problemas una
y otra vez, si hay dos tarjetas que reclaman para ellas el mismo
campo de dirección o campos de dirección que
se solapan entre ellos.
Los datos en si no se mandan al bus de direcciones sino
al bus de datos. El bus XT tenía solo 8 bits con lo cual
sólo podía transportar 1 byte a la vez. Si la CPU
quería depositar el contenido de un registro de 16
bits o por valor de 16
bits, tenía que desdoblarlos en dos bytes y efectuar la
transferencia de datos uno detrás de otro.
De todas maneras para los fabricantes de tarjetas de
ampliación, cuyos productos
deben atenderse a este protocolo, es de
una importancia básica la regulación del tiempo de las
señales del bus, para poder trabajar
de forma inmejorable con el PC. Pero precisamente este protocolo no ha
sido nunca publicado por lBM con lo que se obliga a los
fabricantes a medir las señales con
la ayuda de tarjetas ya existentes e imitarlas. Por lo
tanto no es de extrañar que se pusieran en juego
tolerancias que dejaron algunas tarjetas totalmente
eliminadas.
ESTRUCTURACIÓN DE LOS BUSES
Existen dos organizaciones
físicas de operaciones E/S
que tienen que ver con los buses que son:
Bus único
Bus dedicado
La primera gran diferencia entre estas dos tipos de
estructuras es
que el bus único no permite un controlador DMA (todo se
controla desde la CPU), mientras que el bus dedicado si que
soporta este controlador.
El bus dedicado trata a la memoria de manera
distinta que a los periféricos (utiliza un bus especial) al
contrario que el bus único que los considera a ambos como
posiciones de memoria (incluso
equipara las operaciones E/S
con las de lectura/escritura en
memoria). Este
bus especial que utiliza el bus dedicado tiene 4 componentes
fundamentales:
Datos: Intercambio de información entre la CPU y los periféricos.
Control: Lleva información referente al estado de los
periféricos (petición de
interrupciones).
Direcciones: Identifica el periférico
referido.
Sincronización: Temporiza las señales de
reloj.
La mayor ventaja del bus único es su simplicidad
de estructura que
le hace ser más económico, pero no permite que se
realice a la vez transferencia de información entre la memoria y el
procesador y entre los periféricos y el procesador.
Por otro lado el bus dedicado es mucho más
flexible y permite transferencias simultáneas. Por contra
su estructura es más compleja y por tanto sus costes son
mayores.
EL BUS XT y EL BUS ISA (AT)
Cuando en 1980 IBM fabricó su primer PC, este
contaba con un bus de expansión conocido como XT que
funcionaba a la misma velocidad que los procesadores
Intel 8086 y 8088 (4.77 Mhz). El ancho de banda de este bus (8
bits) con el procesador 8088 formaba un tandem perfecto, pero la
ampliación del bus de datos en el 8086 a 16 bits dejo en
entredicho este tipo de bus (aparecieron los famosos cuellos de
botella).
Dada la evolución de los microprocesadores
el bus del PC no era ni mucho menos la solución para una
comunicación fluida con el exterior del
micro. En definitiva no podía hablarse de una autopista de
datos en un PC cuando esta sólo tenía un ancho de 8
bits. Por lo tanto con la introducción del AT
apareció un nuevo bus en el mundo del PC, que en
relación con el bus de datos tenía finalmente 16
bits (ISA), pero que era compatible con su antecesor. La
única diferencia fue que el bus XT era síncrono y
el nuevo AT era asíncrono. Las viejas tarjetas de 8 bits
de la época del PC pueden por tanto manejarse con las
nuevas tarjetas de 16 bits en un mismo dispositivo. De todas
maneras las tarjetas de 16 bits son considerablemente más
rápidas, ya que transfieren la misma cantidad de datos en
comparación con las tarjetas de 8 bits en la mitad de
tiempo
(transferencia de 16 bits en lugar de transferencia de 8
bits).
No tan solo se amplió el bus de datos sino que
también se amplió el bus de direcciones,
concretamente hasta 24 bits, de manera que este se podía
dirigir al AT con memoria de 16 MB. Además también
se aumentó la velocidad de cada una de las señales
de frecuencia, de manera que toda la circulación de bus se
desarrollaba más rápidamente. De 4.77 Mhz en el XT
se
pasó a 8.33 Mhz. Como consecuencia el bus forma
un cuello de botella por el cual no pueden transferirse nunca los
datos entre la memoria y la CPU lo suficientemente rápido.
En los discos duros
modernos por ejemplo, la relación (ratio) de transferencia
de datos ya es superior al ratio del bus.
A las tarjetas de ampliación se les ha asignado
incluso un freno de seguridad,
concretamente en forma de una señal de estado de
espera (wait state), que deja todavía mas tiempo a las
tarjetas lentas para depositar los datos deseados en la
CPU.
Especialmente por este motivo el bus AT encontró
sucesores de más rendimiento en Micro Channel y en el Bus
EISA, que sin embargo, debido a otros motivos, hasta ahora no se
han podido introducir en el mercado.
La coexistencia hoy en día de tarjetas de
ampliación de 8 bits y de tarjetas de ampliación de
16 bits es problemática mientras el campo de direcciones,
del cual estas tarjetas son responsables, se encuentre en
cualquier área de 128 KB. El dilema empieza cuando una
tarjeta de 16 bits debe señalizar mediante una
línea de control al
principio de una transferencia de datos, que ella
puede recoger una palabra de 16 bits del bus y que al
contrario de una tarjeta de 8 bits no tiene que desdoblar la
transferencia en dos bytes.
Sin embargo esta señal la tiene que mandar en un
momento en el que todavía no puede saber que la
dirección del bus de datos se refiere verdaderamente a
ella y que por tanto tiene la obligación de contestar. Ya
que de las 24 líneas de dirección que contienen la
dirección deseada, hasta este momento sólo
están inicializadas correctamente las líneas A17
hasta A23, con lo cual
la tarjeta reconoce sólo los bits 17 hasta 23 de
la dirección. Estos sin embargo cubren siempre un
área completa de 128 KB, independientemente de lo que
pueda haber en los bits de dirección 0 hasta 16. La
tarjeta en este momento sólo sabe si la dirección
de la memoria se encuentre en el área entre 0 y 127 KB,
128 y 255, etc.
Si en este momento la tarjeta de 16 bits manda por tanto
una señal para una transmisión de 16 bits,
hablará de esta forma por el resto de las tarjetas que se
encuentren dentro de este área. Esto podrá notarse
acto seguido ya que una vez también hayan llegado al bus
los bits de dirección 0 a 16, quedará claro cual es
la tarjeta a la cual realmente se estaba dirigiendo. Si realmente
se trata de una tarjeta de 16 bits todo irá bien. Pero si
se estaba dirigiendo a una tarjeta de 8 bits, la tarjeta de 16
bits se despreocupa del resto de la transferencia y deja la
tarjeta de 8 bits a su propia suerte. Ésta no podrá
resolver la transferencia ya que está configurada
sólo para transmisiones de 8 bits. En cualquier caso el
resultado será una función de error de la tarjeta
de ampliación.
Conector | Función |
B1 | Tierra |
B-13 | Escritura E/S |
B-14 | Lectura E/S |
B21-B25 | Interrupciones entre 7-3 |
A1-A13 | Mira si E/S preparado y envía los datos a |
D1-D18 | Hace peticiones y reconocimiento de DMA |
C1-C18 | Desbloquea las Direcciones y pasa los datos a |
BUS MICRO CHANNEL (MCA)
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 10 Mhz, con una velocidad de
transferencia máxima de 20 Mbps frente a los 8 Mbps 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.
EISA (Extended ISA)
El principal rival del bus MCA fue el bus EISA,
también basado en la idea de controlar el bus desde el
microprocesador y
ensanchar la ruta de datos hasta 32 bits. Sin embargo EISA
mantuvo compatibilidad con las tarjetas de expansión ISA
ya existentes lo cual le obligo a funcionar a una velocidad de 8
Mhz (exactamente 8.33). Esta limitación fue a la postre la
que adjudico el papel de
estándar a esta arquitectura, ya
que los usuarios no veían factible cambiar sus antiguas
tarjetas ISA por otras nuevas que en realidad no podían
aprovechar al 100%.
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.
LOCAL BUS
Teniendo en cuenta las mencionadas limitaciones del bus
AT y la infalibilidad de los buses EISA y MCA para asentarse en
el mercado, en estos
años se han ideado otros conceptos de bus. Se
inició con el llamado Vesa Local Bus (VL-Bus), que fue
concebido y propagado independientemente por el comité
VESA, que se propuso el definir estándares en el
ámbito de las tarjetas gráficas y así por
primera vez y realmente tuviera poco que ver con el diseño
del bus del PC. Fueron y son todavía las tarjetas
gráficas quienes sufren la menor velocidad del bus AT. Por
eso surgió, en el Comité VESA, la propuesta para un
bus más rápido que fue el VESA Local
Bus.
Vesa Local Bus
Al contrario que con el EISA, MCA y PCI, el bus VL no
sustituye al bus ISA sino que lo complementa. Un PC con bus VL
dispone para ello de un bus ISA y de las correspondientes ranuras
(slots) para tarjetas de ampliación. Además, en un
PC con bus VL puede haber, sin embargo, una, dos o incluso tres
ranuras de expansión, para la colocación de
tarjetas concebidas para el bus VL, casi siempre gráficos.
Solamente estos slots están conectados con la CPU a
través de un bus VL, de tal manera que las otras ranuras
permanecen sin ser molestadas y las tarjetas ISA pueden hacer su
servicio sin
inconvenientes.
El VL es una expansión homogeneizada de bus
local, que funciona a 32 bits, pero que puede realizar operaciones a 16
bits.
VESA presentó la primera versión del
estándar VL-BUS en agosto de 1992. La aceptación
por parte del mercado fue inmediata. Fiel a sus orígenes,
el VL-BUS se acerca mucho al diseño del procesador 80486.
De hecho presenta las mismas necesidades de señal de dicho
chip, exceptuando unas cuantas menos estrictas destinadas a
mantener la compatibilidad con los
386.
La especificación VL-Bus como tal, no establece
límites, ni superiores ni inferiores, en la velocidad del
reloj, pero una mayor cantidad de conectores supone una mayor
capacitancia, lo que hace que la fiabilidad disminuya a la par
que aumenta la frecuencia. En la práctica, el VL-BUS no
puede superar los 66 Mhz. Por este motivo, la
especificación VL-BUS original recomienda que los
diseñadores no empleen más de tres dispositivos de
bus local en sistemas que
operan a velocidades superiores a los 33 Mhz. A velocidades de
bus superiores, el total disminuye: a 40 Mhz solo se pueden
incorporar dos dispositivos; y a 50 Mhz un único
dispositivo que ha de integrarse en la placa. En la
práctica, la mejor combinación de rendimiento y
funciones
aparece a 33 Mhz.
Tras la presentación del procesador Pentium a 64
bits, VESA comenzó a trabajar en un nuevo estándar
(VL-Bus versión 2.0).
La nueva especificación define un interface de 64
bits pero que mantienen toda compatibilidad con la actual
especificación VL-BUS. La nueva especificación 2.0
redefine además la cantidad máxima de ranuras
VL-BUYS que se permiten en un sistema sencillo. Ahora consta de
hasta tres ranuras a 40 Mhz y dos a 50 Mhz, siempre que el
sistema utilice un diseño de baja capacitancia.
En el nombre del bus VL queda de manifiesto que se trata
de un bus local. De forma distinta al bus ISA éste se
acopla directamente en la CPU. Esto le proporciona por un lado
una mejora substancial de la frecuencia de reloj (de la CPU) y
hace que dependa de las línea de control de la CPU y del
reloj. A estas desventajas hay que añadirle que no en
todos los puntos están bien resueltas las especificaciones
del comité VESA, hecho que a la larga le llevará a
que el éxito del bus VL se vea empañado por ello.
En sistemas 486
económicos se podía encontrar a menudo, pero su
mejor momento ya ha pasado.
PCI
Visto lo anterior, se puede ver que el bus del futuro es
claramente el PCI de Intel. PCI significa: interconexión
de los componentes periféricos (Peripheral Component
Interconnect) y presenta un moderno bus que no sólo
está meditado para no tener la relación del bus ISA
en relación a la frecuencia de reloj o su capacidad sino
que también la sincronización con las tarjetas de
ampliación en relación a sus direcciones de puerto,
canales DMA e interrupciones se ha automatizado finalmente de tal
manera que el usuario no deberá preocuparse más por
ello.
El bus PCI es independiente de la CPU, ya que entre la
CPU y el bus PCI se instalará siempre un controlador de
bus PCI, lo que facilita en gran medida el trabajo de
los diseñadores de placas. Por ello también
será posible instalarlo en sistemas que no
estén basados en el procesador Intel si no que pueden usar
otros, como por ejemplo, un procesador Alpha de DEC.
También los procesadores PowerMacintosh de Apple se
suministran en la actualidad con bus PCI.
Las tarjetas de expansión PCI trabajan
eficientemente en todos los sistemas y pueden ser intercambiadas
de la manera que se desee. Solamente los controladores de
dispositivo deben naturalmente ser ajustados al sistema
anfitrión (host) es decir a su correspondiente
CPU.
Como vemos el bus PCI no depende del reloj de la CPU,
porque está separado de ella por el controlador del bus.
Si se instalara una CPU más rápida en su ordenador.
no debería preocuparse porque las tarjetas de
expansión instaladas no pudieran soportar las frecuencias
de reloj superiores, pues con la separación del bus PCI de
la CPU éstas no son influidas por esas
frecuencias de reloj. Así se ha evitado desde el
primer momento este problema y defecto del bus VL.
El bus PCI emplea un conector estilo Micro Channel de
124 pines (188 en caso de una implementación de 64 bits)
pero únicamente 47 de estas conexiones se emplean en una
tarjeta de expansión( 49 en caso de que se trate de un
adaptador bus-master); la diferencia se debe a la
incorporación de una línea de alimentación y otra
de tierra. Cada
una de las señales
activas del bus PCI está bien junto o frente a
una señal de alimentación o de
tierra, una
técnica que minimiza la radiación.
El límite práctico en la cantidad de
conectores para buses PCI es de tres; como ocurre con el VL,
más conectores aumentarían la capacitancia del bus
y las operaciones a
máxima velocidad resultarían menos
fiables.
A pesar de presentar un rendimiento similar al de un bus
local conectado directamente, en realidad PCI no es más
que la eliminación de un paso en el micropocesador. En
lugar de disponer de su propio reloj, un bus PCI se adapta al
empleado por el microprocesador y su circuitería, por
tanto los componentes del PCI están sincronizados con el
procesador. El actual estándar PCI autoriza frecuencias de
reloj que oscilan entre 20 y 33 Mhz.
A pesar que de que las tarjetas ISA no pueden ser
instaladas en una ranura PCI, no debería renunciarse a la
posibilidad de inserción de una tarjeta ISA. Así
pues, a menudo se puede encontrar en un equipo con bus PCI la
interfaz «puente» llamada
«PCI-To-ISA-Bridge». Se trata de un chip que se
conecta entre los distintos slots ISA y el controlador del bus
PCI. Su tarea
consiste en transponer las señales provenientes
del bus PCI al bus ISA. De esta manera pueden seguir siendo
utilizadas las tarjetas ISA al amparo del bus
PCI.
A pesar de que el bus PCI es el presente, sigue y
seguirá habiendo buses y tarjetas de expansión ISA
ya que no todas las tarjetas de expansión requieren las
ratios de transferencia que permite el bus PCI. Sin embargo las
tarjetas gráficas, tarjetas SCSI y tarjetas de red
se han decantando cada vez más fuertemente hacia el bus
PCI. La ventaja de la velocidad de este sistema de bus es que
este hardware puede
participar del continuo incremento de velocidad de los
procesadores.
SCSI (Small Computer System Interface)
Además de todas las arquitecturas mencionadas
anteriormente, también hay que mencionar a SCSI. Esta
tecnología
tiene su origen a principios de los
años 80 cuando un fabricante de discos desarrollo su
propia interface de E/S denominado SASI (Shugart Asociates System
Interface) que debido a su gran éxito comercial fue
presentado y aprobado por ANSI en 1986.
SCSI no se conecta directamente al microprocesador sino
que utiliza de puente uno de los buses anteriormente
nombrados.
Podríamos definir SCSI como un subsistema de E/S
inteligente, completa y bidireccional. Un solo adaptador host
SCSI puede controlar hasta 7 dispositivos inteligentes SCSI
conectados a él.
Una ventaja del bus SCSI frente a otros interfaces es
que los dispositivos del bus se direccionan lógicamente en
vez de físicamente. Esto sirve para 2
propósitos:
Elimina cualquier limitación que el PC-Bios imponga a
las unidades de disco.
El direccionamiento lógico elimina la sobrecarga
que el host podría tener en manejar los aspectos
físicos del dispositivo como la tabla de pistas
dañadas. El controlador SCSI lo maneja.
Es un bus que a diferencia de otros buses como el ESDI
puede tener hasta 8 dispositivos diferentes conectados al bus
(incluido el controlador). Aunque potencialmente varios
dispositivos pueden compartir un mismo adaptador SCSI,
sólo 2 dispositivos SCSI pueden comunicarse sobre el bus
al mismo tiempo.
El bus SCSI puede configurarse de tres maneras
diferenciadas que le dan gran versatilidad a este bus:
Único iniciador/Único objetivo: Es
la configuración más común donde el
iniciador es un adaptador a una ranura de un PC y el objetivo es el
controlador del disco duro.
Esta es una configuración fácil de implementar pero
no aprovecha las capacidades del bus SCSI, excepto para controlar
varios discos
duros.
Único iniciador/Múltiple objetivo:
Menos común y raramente implementado. Esta
configuración es muy parecida a la anterior excepto para
diferentes tipos de dispositivos E/S que se puedan gestionar por
el mismo adaptador. Por ejemplo un disco duro y
un reproductor de CD-ROM.
Múltiple iniciador/Múltiple objetivo: Es
mucho menos común que las anteriores pero así es
como se utilizan a fondo las capacidades del bus.
Dentro de la tecnología SCSI hay 2
generaciones y una tercera que está a la vuelta de la
esquina. La primera generación permitía un ancho de
banda de 8 bits y unos ratios de transferencia de hasta 5 MBps.
El mayor problema de esta especificación fue que para que
un producto se
denominara SCSI solo debía cumplir 4 códigos de
operación de los 64 disponibles por lo que
proliferaron en el mercado gran cantidad de dispositivos
SCSI no compatibles entre sí.
Esto cambió con la especificación 2.0 ya
que exigía un mínimo de 12 códigos, por lo
que aumentaba la compatibilidad entre dispositivos. Otro punto a
favor de SCSI 2.0 es el aumento del ancho de banda de 8 a 16 y 32
bits. Esto se consigue gracias a las implementaciones wide
(ancho) y fast (rápido). Combinando estas dos
metodologías se llega a conseguir una
transferencia
máxima de 40 Mbps con 32 bits de ancho (20 Mbps
con un ancho de banda de 16 bits).
El protocolo SCSI
3.0 no establecerá nuevas prestaciones
de los protocolos, pero
si refinará el funcionamiento de SCSI. Además de
incluir formalmente el uso del conector P de 68 pines wide SCSI,
por ejemplo, también especifica el uso de cables de
fibra
óptica. Otra posible modificación es el soporte
para más de 8 dispositivos por cadena.
BIBLIOGRAFÍA
"Estructura y tecnología de
computadores II"
S. Dormido, M. A. Canto, J. Mira y A.
Delgado.
Editorial Sanz y Torres, 1994
HAYES, J. P.
"Computer Architecture and Organization (Second
Edition)"
McGraw-Hill, New York (1988).
Autor: