Академический Документы
Профессиональный Документы
Культура Документы
Elementos de diseo de un bus n Tipo de bus Anchura del bus Temporizacin o Mtodo de arbitraje e Tipo de transferencia de datos 5. Arbitraje del bus 6. Ejemplos de buses estndar a PCI (Peripheral Component Interconnect) SCSI (Small Computer Systems Interface) USB (Universal Serial Bus) y FireWire
Bibliograf a Organizacin y arquitectura de computadores, William Stallings. Prentice Hall. o Computer Organization and Design: The hardware/software interface, David A. Patterson and John L. Hennessy. Morgan Kaufmann Publishers, Inc. Estructura y diseo de Computadores (Tomo 2), David A. Patterson y John L. Hennessy. Ed. n Revert. e
Introduccin o
Las distintas unidades funcionales de un computador necesitan comunicarse. Deben existir, por lo tanto, l neas para interconectar estos mdulos. o
Read Write
Memory
N Words
Address Data
0 N1
Data
I/O Module
M Ports
Instructions Data
Interrupt Signals
Address
CPU
Control Signals
Data
Tipos de transferencias a las que debe dar cobertura la estructura de interconexin: o Memoria procesador Procesador memoria E/S procesador Memoria E/S (DMA)
Introduccin o
Un bus es un canal de comunicacin compartido que utiliza un conjunto de cables para o conectar mltiples subsistemas. Cada cable o l u nea transmite un unico bit de informacin o en un determinado momento. Ventajas: versatilidad bajo coste Desventaja: supone un cuello de botella, limitando la productividad mxima del sistema. a Caracter sticas deseables: heterogeneidad escalabilidad baja latencia alto ancho de banda
Las l neas de datos del bus proporcionan el camino para transmitir datos entre los mdulos del sistema. El nmero de l o u neas del bus de datos determina el nmero u mximo de bits que es posible transmitir al mismo tiempo. a Las l neas de direccin se utilizan para designar (direccionar) la fuente o el destino o de los datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad mxima de memoria (y de dispositivos de E/S) direccionable en el a sistema. Las l neas de control se emplean para gestionar el acceso y el uso de las l neas de datos y direccin, sealizando peticiones y reconocimientos e indicando qu tipo de o n e informacin pasa por las l o neas de datos.
Apple Macintosh II
IBM RS-6000
Ms conguraciones a
Dise o de un bus n
Tipo de transferencia de datos Lectura Escritura Lectura-modicacin-escritura o Lectura-despus de-escritura e Bloque Transaccin partida o
Temporizacin o
Bus s ncrono. Entre sus l neas de control se incluye una seal de reloj. El protocolo para n la comunicacin es jo y est gobernado por la seal de reloj se asume que los env o a n os llegan correctamente. Ventajas: Puede funcionar a gran velocidad y se puede implementar con un sistema secuencial sencillo. Inconvenientes: No es adecuado para mezclar dispositivos con grandes diferencias de velocidad. Su diseo tiene que ser muy cuidadoso. Problema del sesgo del reloj (clock skew ). n Los buses de memoria suelen ser s ncronos.
Bus as ncrono. Sin reloj. Las transmisiones de datos se coordinan con un protocolo de handshaking entre emisor y receptor: un evento origina el siguiente, y as sucesivamente. Ventajas: Permite la conexin de dispositivos de un amplio rango de velocidades diferentes. o Escalan mejor tanto con el nmero de dispositivos como con los cambios tecnolgicos en u o los mismos. No hay problemas de sesgo de reloj, por lo que permite distancias ms largas. a Inconvenientes: Es ms lento, debido a la sobrecarga introducida para sincronizar a emisor a y receptor. Puede necesitar un cierto nmero de l u neas de control adicionales para implementar el protocolo. Es ms dif predecir el tiempo que va a llevar una determinada a cil transaccin. o Los buses de E/S son habitualmente as ncronos.
Ejemplo de escritura.
Temporizacin o
Otro ejemplo diferente de protocolo handshaking para realizar una lectura as ncrona:
0. El protocolo comienza con el maestro (el procesador, por ejemplo) poniendo una direccin de memoria en el bus de datos y activando la seal de peticin de lectura o n o (ReadReq). 1. El esclavo (la memoria, por ejemplo) ve la peticin y coge la direccin de memoria o o del bus de datos, activando la seal de aceptacin (ACK ). n o 2. El maestro ve activa la seal de ACK y libera el bus de datos y desactiva la seal n n de peticin de lectura, que sirve de aviso al esclavo. o 3. El esclavo ve la desactivacin de la seal de peticin y contesta as mismo con la o n o desactivacin de la seal de ACK. o n 4. Cuando el esclavo tiene listo el dato a leer lo pone en el bus y activa la seal que n indica que el dato est listo (DataReady). a 5. El maestro ve la seal DataReady, con lo que sabe que el dato est listo en el bus y n a realiza su lectura. Cuando completa la operacin activa la seal de ACK. o n 6. El esclavo ve la seal de ACK, lo que le dice que el maestro ya tiene el dato le n do, y desactiva la seal DataReady y libera el bus de datos. n 7. Por ultimo, el maestro responde a la desactivacin de DataReady con la bajada de o su seal de ACK, lo que da por concluida la transmisin. n o
Esquemas de arbitraje
Gestin del uso del bus por parte de mltiples maestros. o u Dos factores a considerar: prioridad imparcialidad (fairness) Clasicacin genrica de tcnicas de arbitraje: o e e 1. Arbitraje en serie (daisy chain arbitration). La l nea de concesin de bus (grant) o recorre los dispositivos desde el ms hasta el menos prioritario. Las prioridades se a determinan as en funcin de la posicin del dispositivo en el bus. o o
2. Arbitraje paralelo centralizado. Se utilizan mltiples l u neas de peticin, por las o que los diferentes dispositivos piden acceso al bus de forma independiente. Un rbia tro centralizado selecciona uno de entre los dispositivos que han solicitado el bus y le notica que ahora es el maestro del bus.
3. Arbitraje distribuido por autoseleccin. Se emplean tambin mltiples l o e u neas de peticin de bus, pero ahora cada dispositivo determina de forma independiente o si l es el solicitante de mayor prioridad sin necesidad de un rbitro. e a 4. Arbitraje distribuido por deteccin de colisin. Cada dispositivo solicita de o o forma independiente el bus. En caso de mltiples peticiones simultneas de bus u a se produce una colisin. Una vez detectada la colisin se aplica un esquema que o o determine el dispositivo que ser maestro de bus entre las partes en colisin. a o
Decisiones de dise o n
Rendimiento vs. Coste Opcin o Alto rendimiento Ancho de bus l neas de datos y direcciones indep. Ancho de bus Ms ancho es ms rpido a a a Tamao transfers transfer bloq de mltiples palabras n u Maestros de bus mltiples maestros (req. arbitraje) u Transac. partida S Aumenta ancho de banda . Temporizacin o s ncrono Bajo coste l neas de datos y direcciones multiplexadas Menos ancho es ms barato a transfer bloq. de una palabra un unico maestro No. Conexin continua ms barata o a as ncrono
Despus de PCI: e PCI-X (PCI eXtended ): diseado para aumentar el rendimiento (hasta 1 GB/s) en la n conexin de dispositivos con grandes necesidades de ancho de banda: Gigabit Ethernet, o bra ptica, procesadores en un cluster. . . Es compatible con PCI. o AGP (Accelerated Graphics Port): interfaz diseada por Intel, basndose en PCI, para n a conexin de tarjetas grcas. Introduce canal punto-a-punto dedicado de 32 bits - 66 M hz o a para acceso de procesador grco a memoria principal (1X 266 M Bs/s). a PCI Express: diseado para sustituir tanto a PCI como a AGP. Basado en canales serie n punto-a-punto (200 M Bs/s por canal).
Bus PCI
Variedad de conguraciones diferentes, con uno o ms procesadores. a Conjunto de funciones de uso general. Temporizacin s o ncrona y esquema de arbitraje centralizado.
Transferencias de datos
Cada transferencia de datos en el bus PCI es una transaccin unica. o Transaccin PCI: 1 fase de direccionamiento + 1 o ms fases de datos. o a Todos los eventos se sincronizan en transiciones de bajada del reloj (mitad de ciclo de reloj). Los dispositivos del bus interpretan las l neas del bus en los ancos de subida (comienzo del ciclo del bus). Fase de direccionamiento 1. Maestro de bus identica dispositivo destino (esclavo) y tipo de transaccin o 2. Maestro de bus activa la sea F RAM E# n 3. Cada dispositivo conectado al bus PCI decodica la direccin para determinar si o pertenece a su espacio de direcciones. El dispositivo al que pertenece la direccin o activa la seal DEV SEL# n Fase de datos 1. Las seales C/BE# determinan el nmero de bytes habilitados para la transmisin n u o en el bus de datos 2. Las seales IRDY # y T RDY # controlan la transferencia. Los datos son transmin tidos solo cuando ambas seales estn activada. n a Duracin y nalizacin de la transaccin o o o 1. El maestro de bus mantiene la seal F RAM E# activada desde el comienzo de la n transaccin hasta que est preparado para nalizar la fase de datos o a 2. La nalizacin de la transaccin se indica mediante la desactivacin de F RAM E# o o o junto con la activacin de IRDY # o 3. Cuando el ultimo dato ha sido transferido se libera el bus mediante la desactivacin o de IRDY #
Transaccin de lectura o
CLK FRAME# AD C/BE# IRDY#
Wait ADDRESS
d c
h
DATA-1 DATA-2 DATA-3
BUS CMD
Byte Enable
Byte Enable
Byte Enable
g
Data Transfer Wait Wait
TRDY# DEVSEL#
Address Phase
Data Transfer
a) El maestro del bus ha obtenido control del bus e inicia transaccin activando F RAM E#. o Esta l nea permanecer activa hasta que el maestro se disponga a nalizar la ultima fase a de datos. El maestro sita la direccin de comienzo de lectura en el bus de direcciones y u o la orden de lectura en las l neas C/BE# b) A partir del comienzo del segundo ciclo de reloj el dispositivo del que se lee reconocer su a direccin en las l o neas AD. c) El maestro libera l neas AD. Ciclo de cambio para evitar contienda. Maestro cambia informacin en C/BE# para habilitar las l o neas de AD a utilizar. Tambin activa IRDY # e para indicar que est preparado para recibir primer dato. a d) El dispositivo de lectura seleccionado activa DEV SEL# para indicar que ha reconocido la direccin y va a responder. Sita dato solicitado en AD y activa T RDY # para indicar o u que hay un dato vlido en el bus. a e) El maestro lee el dato al comienzo del cuarto ciclo. f) En este ejemplo dispositivo de lectura requiere tiempo para preparar segundo bloque de datos. Desactiva T RDY # para indicar a maestro que NO proporcionar nuevo dato en a siguiente ciclo. Maestro no leer bloque de datos hasta el sexto ciclo. a g) Dispositivo de lectura coloca tercer dato en el bus. Ahora es maestro el que no est prea parado para leer el dato, desactivando IRDY #. h) El maestro desactiva F RAM E#, para indicar a dispositivo que es el ultimo dato a trans ferir, y activa IRDA# para indicar que est listo para completar la transferencia. a i) El maestro desactiva IRDY #, liberando el bus. El esclavo desactiva T RDY # y DEV SEL#.
Data Transfer
El arbitraje se solapa con la comunicacin del maestro de bus actual, de forma que no se pierden o ciclos: arbitraje de bus solapado u oculto. La especicacin PCI no indica un algoritmo particular de arbitraje. o Ejemplo de procedimiento de arbitraje:
a b c e d f g
Address access-A
Data
Address access-B
Data
La interfaz externa
Interfaz de comunicacin mdulo E/S - perifrico o o e Interfaz paralela vs. interfaz serie
Conexin punto-a-punto vs. multipunto o Enlaces externos punto-a-punto t picos: teclado, puerto serie, puerto paralelo. . . Enlaces externos multipunto: buses externos. Importancia creciente. Ejemplos: SCSI, USB y FireWire.