Descargar

Buses de Comunicación (página 3)

Enviado por Pablo Turmero


Partes: 1, 2, 3
edu.red

41 Tipos de transferencia de datos Algunos buses permiten transferencias de bloques de datos Hay un ciclo de dirección y luego varios ciclos de datos El primer dato se transmite a/desde la dirección especificada, mientras que el resto de datos se transfieren a/desde las direcciones siguientes

edu.red

42 El bus PCI El bus PCI (Peripheral Component Interconnect) es un bus muy popular de ancho de banda elevado e independiente del procesador

Está diseñado para permitir una cierta variedad de configuraciones basadas en sistemas monoprocesador y sistemas multiprocesador Proporciona un conjunto de funciones de uso general Las direcciones y datos están multiplexadas en el tiempo El esquema de arbitraje empleado es centralizado Utiliza temporización síncrona

edu.red

43 El bus PCI El diseño del bus PCI se ha realizado específicamente para ajustarse a los requisitos de E/S de los sistemas actuales

Podemos distinguir tres ventajas del bus PCI Es económico: se implementa con muy pocos circuitos Es flexible: permite que otros buses se conecten a él Es rápido: comparado con otras especificaciones comunes de bus, proporciona un mejor rendimiento para los subsistemas de E/S de alta velocidad Puede utilizarse como bus de periféricos También puede utilizarse para una arquitectura de entreplanta

edu.red

44 El bus PCI Las especificaciones del bus PCI son de dominio público Son respetadas por un amplio abanico de fabricantes de procesadores y periféricos, por lo que los productos de diferentes compañías son compatibles La asociación PCI SIG (special interest group) continúa el desarrollo de las especificaciones y vela por que se mantenga la compatibilidad

El resultado ha sido que el bus PCI no solo está ampliamente adoptado en la actualidad sino que su uso se sigue extendiendo

edu.red

45 PCI en sistemas monoprocesador Un dispositivo integra el controlador de memoria y el adaptador al bus PCI Proporciona el acoplamiento al procesador (buffer temporal) Aísla la capacidad de E/S del procesador de la velocidad real del bus, lo que posibilita transmitir datos a alta velocidad

edu.red

46 PCI en sistemas multiprocesador Se pueden conectar una o varias configuraciones PCI al bus del sistema por medio de adaptadores Al bus del sistema sólo se conectan las unidades procesador/caché, la memoria principal y los adaptadores Los adaptadores mantienen la independencia procesador-PCI

edu.red

47 Estructura del bus PCI El estándar actual permite configurar el bus PCI como un bus de 32 ó 64 bits Hay 49 líneas de señal obligatorias que se dividen en los siguientes grupos funcionales: Terminales de sistema: reloj y reinicio Terminales de direcciones y datos 32 líneas para direcciones y datos multiplexadas en el tiempo Líneas adicionales para interpretar y validar las direcciones y datos Terminales de control de interfaz: controlan la temporización de las transferencias y permiten la coordinación entre emisor y receptor Terminales de arbitraje: no son líneas compartidas – cada maestro tiene su propio par de líneas que lo conectan con el árbitro del bus Terminales para señales de error: utilizadas para indicar errores (paridad…)

edu.red

48 Estructura del bus PCI

edu.red

49 Estructura del bus PCI

edu.red

50 Estructura del bus PCI

edu.red

51 Estructura del bus PCI El estándar actual permite configurar el bus PCI como un bus de 32 ó 64 bits La especificación también define 51 señales opcionales que se dividen en los siguientes grupos funcionales: Terminales de interrupción: no son líneas compartidas – cada dispositivo tiene sus propias líneas para generar peticiones a un controlador de interrupciones Terminales de soporte de caché: necesarios para permitir memorias caché en el bus asociadas a un procesador o a otro dispositivo Terminales de ampliación a bus de 64 bits 32 líneas para direcciones y datos multiplexadas en el tiempo que se pueden combinar con las obligatorias para tener un total de 64 Líneas adicionales para interpretar y validar las direcciones y datos, así como para permitir que dos dispositivos acuerden el uso de los 64 bits Terminales de test: siguen estándar IEEE para procedimientos de test

edu.red

52 Estructura del bus PCI

edu.red

53 Estructura del bus PCI

edu.red

54 Órdenes del bus PCI La actividad del bus consiste en transferencias entre dispositivos conectados al bus El dispositivo que inicia la transferencia es el maestro Cuando el maestro adquiere el control del bus determina el tipo de transferencia que se realizará (líneas C/BE)

Los tipos de órdenes son: Reconocimiento de interrupción Orden de lectura generada por el controlador de interrupciones del bus Las líneas de dirección no se utilizan para direccionar el dispositivo Las líneas de byte activo (byte enable) indican el tamaño del identificador de interrupción a devolver

edu.red

55 Órdenes del bus PCI Los tipos de órdenes son: Ciclo especial: se utiliza para iniciar la difusión de un mensaje a uno o más destinatarios Ciclo de dirección dual: el maestro utiliza esta orden para indicar que la transferencia utiliza direcciones de 64 bits Lectura de E/S y Escritura de E/S Se utilizan para intercambiar datos entre el maestro y un controlador de E/S Cada dispositivo de E/S tiene su propio espacio de direcciones Las líneas de direcciones se utilizan para indicar un dispositivo concreto y para especificar los datos a transferir a/desde ese dispositivo

edu.red

56 Órdenes del bus PCI Los tipos de órdenes son: Lectura de memoria Se utiliza para especificar la transferencia de una secuencia de datos desde memoria durante uno o más ciclos de reloj Si el controlador de memoria utiliza el protocolo PCI para las transferencias entre la caché y la memoria principal, la transferencia se realizará en términos de líneas de caché Hay tres órdenes de lectura de memoria distintas:

edu.red

57 Órdenes del bus PCI Los tipos de órdenes son: Escritura en memoria Se usa para transferir datos a memoria durante uno o más ciclos del bus Hay dos órdenes de escritura en memoria distintas Escritura en memoria Escritura e invalidación de memoria Transfiere datos e indica que al menos se ha escrito una línea de caché Permite el funcionamiento de una caché write back (postescritura) Lectura de configuración y Escritura de configuración Permiten que el maestro lea y actualice los parámetros de configuración de un dispositivo conectado al bus Cada dispositivo puede disponer de hasta 256 registros internos que permitan configurarlo

edu.red

58 Transferencias de datos en el bus PCI Toda transferencia de datos en un bus PCI es una transacción única que consta de una fase de direccionamiento y una o más fases de datos

Como ejemplo veremos la temporización de una operación de lectura típica (la de escritura es análoga) Los dispositivos conectados al bus interpretan las líneas en los flancos de subida de la señal de reloj (comienzo del ciclo) Todos los eventos se sincronizan en los flancos de bajada de la señal de reloj (punto medio del ciclo)

edu.red

59 Transferencias de datos en el bus PCI

edu.red

60 Transferencias de datos en el bus PCI Una vez que el maestro del bus tiene el control del mismo inicia la transacción Sitúa la dirección de inicio en AD y la orden de lectura en C/BE Activa la señal FRAME, la cual debe permanecer activa hasta que el maestro esté listo para terminar la última fase de datos Al comienzo del segundo ciclo de reloj, el dispositivo del que se lee reconocerá su dirección en las líneas AD El dispositivo de lectura activa DEVSEL para indicar que reconoce su dirección (se mantendrá activa durante toda la transmisión) mientras que el maestro deja libre AD En todas las líneas que pueden ser activadas por más de un dispositivo se necesita un ciclo de cambio para que la liberación se complete El maestro cambia las líneas C/BE para indicar cuáles de las líneas AD se utilizarán para transferir el dato El maestro activa IRDY indicando que está listo para recibir el primer dato

edu.red

61 Transferencias de datos en el bus PCI El dispositivo de lectura responde Sitúa el dato solicitado en las líneas AD Activa TRDY para indicar que hay un dato válido en el bus El maestro lee el dato al comienzo del cuarto ciclo de reloj y cambia las líneas de habilitación de byte según se necesite para la próxima lectura En este ejemplo, el dispositivo de lectura necesita algún tiempo para preparar el segundo bloque de datos Desactiva TRDY para indicar que no transmitirá el próximo ciclo El maestro, en consecuencia, no lee las líneas de datos al comienzo del quinto ciclo de reloj y no cambia la señal de habilitación de byte El nuevo bloque de datos se leerá al comienzo del sexto ciclo

edu.red

62 Transferencias de datos en el bus PCI Durante el sexto ciclo de reloj, el dispositivo de lectura sitúa el tercer bloque de datos en el bus, pero el maestro no está preparado para leerlo El maestro desactiva IRDY El dispositivo de lectura mantiene el dato en el bus durante un ciclo extra El maestro sabe que el tercer bloque de datos es el último, Desactiva FRAME para indicarle al dispositivo de lectura que éste es el último dato a transferir Activa IRDY para indica que está listo para completar la transferencia El maestro desactiva IRDY y el dispositivo de lectura desactiva TRDY y DEVSEL: el bus vuelve a estar libre

edu.red

63 Arbitraje del bus PCI El bus PCI utiliza un esquema de arbitraje centralizado síncrono en el que cada maestro tiene una única señal de petición (REQ) y cesión (GNT) del bus Estas líneas se conectan a un árbitro central, lo que permite que los dispositivos accedan al bus tras un simple intercambio de señales de petición y cesión

edu.red

64 Arbitraje del bus PCI La especificación del bus PCI no indica un algoritmo particular de arbitraje El árbitro puede utilizar cualquier esquema de prioridad Primero en llegar, primero en servirse Rotatorio (round robin) … El maestro establece, para cada transferencia que desee realizar, si tras la fase de dirección sigue una o más fases de datos consecutivas Como ejemplo veremos el intercambio de señales necesario para decidir cual de entre dos dispositivos, A y B, obtiene el control del bus

edu.red

65 Arbitraje del bus PCI

edu.red

66 Arbitraje del bus PCI Al comienzo del primer ciclo de reloj el árbitro detecta que A ha activado su señal REQ Durante el primer ciclo de reloj, B activa también su señal REQ Al mismo tiempo, el árbitro activa GNT-A para ceder el bus a A A detecta al comienzo del segundo ciclo de reloj que se le ha cedido el bus IRDY y TRDY están desactivadas, por lo que el bus está libre En consecuencia activa FRAME, pone la dirección en el bus AD y la orden correspondiente en las líneas C/BE Además, mantiene activa su señal REQ porque debe realizar otra transferencia después de ésta

edu.red

67 Arbitraje del bus PCI Al comienzo del tercer ciclo de reloj el árbitro vuelve a comprobar las líneas REQ y decide ceder el bus a B para la siguiente transacción El árbitro desactiva GNT-A y activa GNT-B A pesar de tener acceso al bus, B tendrá que esperar a que esté libre, pues IRDY y TRDY indican que sigue ocupado A desactiva FRAME para indicar que su última transferencia de datos está activa Pone los datos en el bus AD y se lo indica al dispositivo destino con IRDY El dispositivo lee el dato al comienzo del siguiente ciclo de reloj Al comienzo del quinto ciclo de reloj, B encuentra IRDY y TRDY desactivadas Toma el control del bus activando FRAME Desactiva REQ porque no desea transmitir un segundo dato

edu.red

68 Arbitraje del bus PCI Más adelante, el dispositivo A (que mantenía REQ activa) recuperará el control del bus y continuará la transmisión pendiente

Es importante destacar que el arbitraje se produce al mismo tiempo que el actual maestro del bus realiza una transferencia No se pierden ciclos de bus para realizar el arbitraje Esto se conoce como arbitraje oculto o solapado (hidden arbitration)

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente