Académique Documents
Professionnel Documents
Culture Documents
ARQUITECTURA DE COMPUTADORAS
NUM DE CONTROL
11191026
PERIDO ESCOLAR
ENERO-JUNIO 2014
HEROICA CD. DE JUCHITAN DE ZARAGOZA OAX. A 30 DE JUNIO DEL 2014
UNIDAD III.- BUSES
3.1.- INTRODUCCION
En los capitulos anteriores se ha expuesto la estructura basica de un
computador, en este esquema junto a los elementos principales (CPU, memoria y
E/S) aparecen en caminos de comunicación a traves de los cuales se intercambian
informacion (instrucciones y datos). Este intercambio de informacion se produce de
forma continua entre el procesador y la memoria, para acceder a las intrucciones y
realizar la lectura y escrituras de los datos. De manera adicional, el procesador
tambien realiza un intercabio de informacion de informacion con el exterior a traves
de los dispositivos de E/S y los controladores de DMA accden a la memoria para
intercambiar bloques de datos con algun controlador de forma autonoma.
Toda esta comunicación entre dispositivos se realizan mediante la transmision de
señales electricas a traves de cables o de pistas de un circuito impreso. Cada linea
es capaz de transmitir un nivel de tensión, que representa un `1´ ó un `0´ binario.
Esta estructura forma lo que se denomina bus, donde ademas de las caracteristicas
electricas y fisicas tambien se definen un conjunto de protocolos que hacen posible
la comunicación entre los diferentes subsistemas.
Habitualmente los buses estan compartidos por los dispositivos. Es, por tanto,
Necesaria la implementacion de mecanismos que aseguren que nunca va a habaer
mas de un dispositivo controlando el estado (el nivel de tension) de las lineas del
bus. Si varios dispositivos tratan de trasmitir informacion por el mismo bus en el
mismo tiempo las señales se colocarian produciendo un error llamado contencion
del bus. En todas las transferencias siempre existe un elemento emisor, o
dispositivos origen, que envia informacion a uno o varios elementos receptores o
dispositivos destinos.
Todos los elementos conectados a un mismo bus deben ser capaces de interpretar
de manera concreta la informacion que se transmite por el bus. Para conseguir que
diferentes modulos de distintos fabricantes puedan interactuar entre ellos sin
problemas, todos los buses deben estar estandarizados, cumpliendo una serie de
requisitos electricos (niveles de tension en el bus), mecanicos (tipos de conectores),
y de protocolos (como se envia la informacion). De manera adicional, la
estandarizacion tiene otras ventajas como son la flexibilidad y el bajo coste, ya que
si se define un unico sistema de conexión con los mismos conectores para todos o
para un conjunto grande de dispositivos, se podra intercambiar dispositivos entre
diferentes ordenadores o añadir nuevos.
Por otro lado, el principal inconveniente que planea el uso del buses para la
interconexion de los elementos de un computador es que puede convertirser en un
cuello de botella que limite las prestaciones del sistema. Esta situacion se porduce
si las necesidades que tienen los diferentes elementos conectados a un mismo bus
(CPU, memoria y E/S) de transferir informacion, supera la capacidad de
transferencia, produciendose multiples estados de espera que desgradan el
rendimiento del sistema, la maxima velocidad en las comunicaciones vendra dada
por el ancho de banda del bus que indica la cantidad de datos que se pueden
transferir por unidad de tiempo (habitualmente en bytes/s). si la velocidad del bus
no es suficiente para evitar la degradacion del rendimiento, se puede aunmentar el
numero de buses del sistema contruyendo una jerarquia que permita realizar
transferencias simultaneas.
NIVEL FISICO
La longitud de las pistas individuales que forma un bus en un circuito impreso puede
no ser la misma. Este hecho no tiene importancia para bajas frecuencias, pero llega
A ser un factor crítico a medida que aumenta la frecuencia de funcionamiento del
sistema. Las pequeñas diferencias en la longitud de las pistas provocan pequeñas
diferencias temporales de propagación de la señal. Este retraso de las señales se
denomina skew y puede producir la perdida de sincronización entre varios
dispositivos. Este problema es especialmente crítico en la señales de reloj y para
evitarlo se incluyen drivers especiales, que generan la misma señal del reloj pero
con diferentes retrasos para que llegue al mismo tiempo a todos los dispositivos.
Por último, también es necesario especificar los niveles de tensión que acepta el
bus y los tipos de salida de los drivers de bus. Esta especificación es necesaria,
para que los dispositivos conectados no interfieran eléctricamente sobre el nivel de
tensión de las señales del bus, únicamente aquel que posea permiso en un
determinado instante debe controlar el nivel eléctrico de las señales. Esto se
consigue utilizando los siguientes tipos de salida en los drivers de bus:
1. TOTEM-POLE: Es el tipo de salida que siempre esta activada, tomando
corriente cuando está a nivel bajo y suministrando corriente en el caso
contrario. se utiliza para las señales que solo tienen conectados un driver por
línea como son: las señales de interrupción o de arbitraje encadenada Daisy
chain que se describirán a continuación.
Reloj.
Reset.
Existen buses donde las mismas líneas físicas se utilizan para llevar información
tanto de datos como de direcciones. El ciclo de bus se divide en dos en primer lugar
se envían direcciones y se validan. A continuación, por las mismas líneas se envían
o se leen los datos dependiendo del tipo de ciclo. A los buses que presentan esta
característica de les denomina buses multiplexados y tiene la ventaja de utilizar
menos líneas, lo que abarata su coste. Como desventaja se tiene que el control del
bus es más complejo.
MODO DE OPERACIÓN
El estándar también regula el modo de operación del bus que indica la forma en la
que se realiza una transferencia, incluyendo protocolo, ordenación y temporización
de las señales. Se distinguen entre buses síncronos, donde todas las acciones se
realizan en instantes de tiempo determinados en función de la señal de reloj
perteneciente al bus, y asíncronos, que utilizan señales de control para indicar la
realización de determinadas acciones.
Dentro de los elementos conectados se pueden diferenciar los maestros y los
esclavos de bus. Un dispositivo maestro es aquel capaz de iniciar una transferencia
de datos en el bus, mientras que un esclavo solo puede enviar datos como
respuesta a una petición de un maestro. Hay buses en los que se permiten la
existencia de varios maestros de bus. Como dichos dispositivos se conectan en
cualquier instante de tiempo, para evitar la contención del bus, solo uno de ellos
puede estar seleccionado en cada momento.
BUS DE EXPANSION: Conecta los controladores de E/S más lentos con los
procesadores. A este bus se conectan muchos dispositivos, por lo que suele
tener un ancho de banda variable. Normalmente suele estar estandarizados
para que se puedan acoplar múltiples dispositivos distintos. A esta clase de
buses también se les denomina buses de E/S.
TRANSFERENCIA ASINCRONA
En este tipo de trasferencias la ocurrencia de un evento depende únicamente de la
ocurrencia de un evento anterior. Por lo tanto no existe ninguna relación directa con
el reloj del sistema. Para coordinar la transferencia es necesario un protocolo de
intercambio de información (handshake protocol) que consiste en un conjunto de
pasos donde solo se llega a la siguiente etapa si el emisor y el receptor están de
acuerdo.
Para implementar este protocolo el bus dispone de un conjunto de líneas asíncrona
de memoria solo se utiliza 3 líneas de control:
LECTURA: con ella el dispositivo que la activa indica que quiere realizar un
ciclo de lectura de memoria.
RDY: se utiliza para indicar que los datos están estabilizados en el bus. Esta
línea la activa el procesador o la memoria.
TRANSFERENCIA READ-MODIFY-WRITE
Este tipo de transferencia se utiliza para implementar una secuencia de eventos
interrumpible en la que primero el maestro lee un dato, lo modifica y a continuación
escribe el resultado en la misma posición. Este tipo de transferencia es importante
en sistemas multiprocesador con memoria compartida, ya que mientras un
procesador accede a un dato para modificarlo, los demás procesadores no deben
acceder a esa posición de memoria hasta que el dato haya sido actualizado. En la
figura 6.5 se muestra este tipo de transferencia en el caso de un bus asíncrono.
Primero se produce una lectura sincronizada con DS y DK y posteriormente una
escritura sin dar una nueva dirección. Durante toda la transferencia el bus
permanece bloqueado hasta la desactivación de AS-AK.
3.6.- INTERRUPCIONES
Los buses como medio de conexión entre los distintos elementos de un sistema
informático deben permitir que cualquier esclavo pueda producir interrupciones en
el sistema. Dependiendo de la prioridad de la interrupción, el maestro parara la tarea
actual en un instante determinado y lo atenderá cual es la más prioritaria y dejar las
demás en espera. Los métodos más utilizados para la implementación de las
interrupciones son:
MEDIANTE LINEAS INDIVIDUALES: En este primer método cada uno de
los esclavos tiene una línea individual que llega hasta el maestro. Con la
activación de cada línea, el maestro reconoce el esclavo que ha producido la
petición. Las ventajas del método son la velocidad y la flexibilidad a la hora
de priorizar las interrupciones, ya que se pueden modificar las prioridades de
cada esclavo reprogramando el maestro, así como las sencillez. Sin
embargo, tiene como desventajas la existencia de un gran número de líneas
y el posicionado geográfico del maestro, que debe situarse siempre en el
mismo slot del bus, al cual llegan todas las líneas de interrupciones de los
esclavos, tal como se muestra en la figura 6.7.
EXPLORACION SECUENCUAL: En este caso todos los esclavos
comparten una misma línea de interrupción. El maestro tiene constancia de
que se ha solicitado una interrupción pero no conoce la fuente. Mediante
líneas dedicadas, el maestro genera una serie de códigos, cuando el
generador de la interrupción reconoce su código en el bus, responde
mediante otras líneas destinadas para tal fin. Es un método lento, pero tiene
las ventajas de la flexibilidad y de que se trata de un método no geográfico.
En la figura 6.8 se puede observar su esquema.
RST#: es la señal de reset para todos los registros, contadores y señales del
bus.
C/BE [3; 0]: Los comandos de bus y la habilitación de los bytes (byte enables)
están multiplexados en los mismos pines. Durante la fase de dirección se
define los comandos. Durante la fase de datos se usan como señales de
habilitación de los bytes.
SEÑALES DE CONTROL:
FRAME#: Es utilizada por el maestro para indicar el principio y la duración
de un acceso.
TRANSFERENCIA EN EL BUS
El mecanismo básico de transferencia es en modo bloque (burst), tanto a memoria
como a E/S. una transacción siempre es iniciada por un maestro tras ser autorizado
por el árbitro del bus. El esquema de arbitraje es centralizado con líneas
independientes para cada dispositivo. Cada uno de los maestros de bus debe
realizar el arbitraje para cada acceso. El algoritmo de arbitraje utilizado en cada
caso depende del diseñador y es implementado por las señales REQ# y GNT#. A
continuación, en la figura 6.11 se muestra una transacción de lectura.
La transacción se inicia con la activación de la línea FRAME# al mismo tiempo que
se da la dirección y el comando. Las líneas IRDY#, TRDY# Y DEVESL# por su parte
tiene un periodo de contención. El siguiente ciclo presenta la contención en las
líneas AD, debido a que es una lectura, para que el maestro deje paso al esclavo
en la activación de dichas señales. En este mismo ciclo se produce la respuesta del
esclavo direccionado mediante DESEVEL#. A continuación se inician los ciclos de
datos. En cada uno de ellos, para que se pueda producir la transferencia, tanto la
línea IRDY# como la TRDY# debe estar activas, y al ser transferencias en bloques
cada nuevo dato corresponde a una dirección consecutiva a la anterior. La
transacción finaliza cuando el maestro desactiva la señal FRAME#, indicando que
la próxima transferencia es la última y esta se completa. A continuación hay un ciclo
de contención en las líneas FRAME#, C/BE# y AD, antes de comenzar una nueva
trasferencia.
CONCLUSION
Hoy en día el bus PCI está presente en todos los computadores personales PC.
Existen una gran cantidad de tarjetas periféricas que utilizan este bus, además la
mayoría de dispositivos que utilizaban el bus de expansión ISA están siendo
rediseñados para PCI, ya que ofrece mejores prestaciones. Por otra parte el bus
PCI en computadores personales ha dejado de ser el bus de interconexión con la
tarjeta gráfica, esto es debido a la aparición del bus AGP, que ha sido diseñado
específicamente para este fin y ofrece unas velocidades de transferencia
superiores.
3.3.2.- BUS VME
El bus VME (Versa Module Europe) aparece en 1981 como sucesor del versabus,
fue desarrollado conjuntamente por Motorola, signetics y mostek, siendo
actualmente el bus se sistemas más utilizados dentro de un conjunto en el que
podemos encontrar buses como fastbus, futurebes y miltibus. Aceptado como
estándar por IEEE en las normas 1014, es el más sencillo y el que menos
prestaciones tienen de todos los buses de sistema, sin embargo su gran aceptación
es debida a que es posible encontrar más de 200 módulos comerciales para este
tipo de bus. Sus aplicaciones se centran en los campos de sistemas industriales en
tiempo real, aplicaciones militares e investigación.
CARACTERISTICAS DEL BUS
Es un bus multiproceso, lo que significa que múltiples procesadores pueden
compartir el mismo bus. El chasis mecánico (rack) es del tipo eurocad de 19” y tiene
hasta 21 ranuras de expansión. Los módulos pueden ser simpes con un solo
brackplane denominado P1/J1 que maneja hasta 21 bits de direcciones y 16 bits de
datos o de dos backplane P1/J1 + P2/J2 con 32 bits de direcciones y datos. El bus
tiene una adaptación dinámica del tamaño y acepta datos de 8, 16 o 32 bits con
una justificación (low-end byte).
Es asíncrono y no multiplexado con velocidades máximas de transmisión de hasta
20 Mbyte/s. con transferencia en bloques y 40 Mbyte/s con transferencias en
bloques con datos de 32 bits. Las líneas de alimentación utilizadas son de +5V y
±12V utilizando tecnologías TTL. Las interrupciones y e arbitraje del bus utilizan un
esquema Daisy chain y no disponen de direccionamiento geográfico.
SEÑALES
Las señales que utiliza el bus son:
AD (AD31-AD0): son las líneas de direcciones que pueden utilizarse como
líneas de 16, 24 o 32 bits. Sin embargo solo pueden utilizarse 8 bits para
acceder a dispositivos de entrada/salida.
TRANSFERENCIA EN EL BUS
El bus presenta cuatro tipos de ciclos:
Ciclo simple de lectura o escritura.
Ciclo read-modify-write.
CONCLUSION
Los buses de sistema ni están presentes en computadores personales, sino que se
reservan para aplicaciones informáticas más sofisticadas en la que es necesario
añadir módulos específicos, ya sea de memoria o varias tarjetas procesadoras, que
permiten construir sistemas con mayores prestaciones. Esta es la razón por la que
no son buses muy populares y es más difícil encontrar módulos que las soporten.
3.9.- CONCLUSIONES
Dentro de cualquier computador se encuentra una jerarquía de buses que
interconectan todos sus elementos. Cada uno de los niveles que forman esta
jerarquía engloba buses que están orientados a la interconexión de unos
determinados elementos, con unos requisitos de ancho de banda y prestaciones
distintas para cada nivel. Las especificaciones de un bus se realizan mediante un
estándar en el cual recogen todas sus características, desde el número de líneas
hasta los modelos de operación, incluyendo la sincronización, los tipos de
transferencias, el arbitraje y las interrupciones. Esta estandarización es necesaria
para que todos los módulos que se conecten al bus puedan intercambiar
información, y permite la construcción de sistemas de forma modular.
3.10.- CUESTIONES
3.1.- ¿Qué utilidad tiene el driver triestado mediante el cual los dispositivos acceden
a las líneas de un bus?
3.2.- ¿a qué bus se conectarían las tarjetas de interfaz con la conexión RS-232
dentro de la jerarquía de buses?
3.3.- ¿Cuál es el mínimo intervalo de tiempo que debe esperar un maestro antes de
enviar o recibir un nuevo dato, en una transferencia en bloques asíncrona?
3.4.- realiza el cronograma de una transferencia en bloques asíncrona, en la que las
transacciones de datos se realicen solamente en los flancos de subida de las
señales DS-DK. ¿Cuál sería el mínimo tiempo de espera entre dos datos en este
caso?
3.5.- enumerar las ventajas y desventajas de cada uno de los métodos de arbitraje
del bus.
3.6.- ¿Qué tipo de arbitraje tiene el bus VME? ¿Cómo funciona este tipo de
arbitraje?
3.7.- enumerar las ventajas y desventajas de cada uno de los métodos de
implementación las interrupciones en un bus.
3.8.- ¿Cuál fue la causa que impulso la aparición del bus PCI? ¿Qué problemas
soluciono?
3.9.- ¿tarda el mismo tiempo en producirse la lectura y la escritura de un dato en el
bus PCI? ¿Por qué?
3.11.- BIBLIOGRAFIA
Desing of microprocessor Based Systems. Nikitas alexandridis. Prentice-Hall
International, Inc. ISBN 0-13-588567-1. 1993.