Вы находитесь на странице: 1из 34

ARQUITECTURA DE COMPUTADORES DESCRIPCIN BUS PCI (Tema 1: Conexin Externa de Procesadores.

Buses)

http:// www.atc.us.es

ndice
1. 2. 3. 4. 5. 6. 7. 8. 9. Caractersticas bus PCI Seales PCI Transferencias PCI Comandos PCI Configuracin PCI Condiciones de terminacin por parte del target. Arbitracin y Bus Mastering Extensin de 64 bits PCI a 66 Mhz

Caractersticas bus PCI (1)


Bus alto ancho de banda: desde 132 MB/s hasta 528MB/s Versin a 33 Mhz y a 66 Mhz Versin de 32 y 64 bits de ancho de bus. Versin a 5V y a 3.3V Transferencias en rfaga para mejorar eficiencia. Limitada la latencia mxima de los dispositivos. Posibilidad bus mastering (arbitracin bus).

Caractersticas bus PCI (2)


Datos y direcciones multiplexados para ahorrar lneas. Independiente de la plataforma.
Extensiones ROM para varias plataformas: posibilidad de tener tarjetas PCI con memoria ROM

32 dispositivos por bus, 8 funciones por dispositivo. Posibilidad de tener diferentes puentes interconectados buses PCI independientes
Ej.: Bus PCI 5v, 33Mhz, 32 bits y bus PCI 3.3v, 66Mhz y 64bits

Posibilidad bus mastering (arbitracin de buses).


Arbitracin oculta para mejor aprovechamiento del bus

Soporte dispositivos plug and play (espacio configuracin programable por el S.O.) Seal de paridad para garantizar integridad de los datos.

Sistema general con bus PCI

Seales bus PCI (1)

Seales bus PCI (2)


Principales grupos de seales:
Datos y direccin Control de la interfaz (FRAME#, DEVSEL#, etc) Sealizacin de errores (PERR# y SERR#) Arbitracin (REQ# y GNT#) Sistema (CLK y RST#) Extensiones 64 bits (AD[63..32], C/BE[7..4], REQ64#, ACK64#) Interrupcin (INTA#..INTD#)

Seales bus PCI (3): Lneas de datos y direccin


Datos y direccin:
Bus multiplexado direcciones/datos: AD[31..0]
Lneas direccin AD[31..0] direccin de los accesos a memoria o a entrada/salida. Lneas dedicadas a datos AD[31..0]: durante fase de datos

Bus comando/byte enable: C/BE[3..0]#


Comando durante direccin Habilitacin de bytes durante datos

Lnea de control de paridad


Paridad par de AD[31..0] y C/BE[3..0]#

Seales bus PCI (4): Seales de control del interfaz


FRAME#: Inicio y final de transacciones IRDY#: Dispositivo Initiator Ready TRDY#: Dispositivo Target Ready DEVSEL#: Dispositivo seleccionado (seal del Target) STOP#: Interrupcin de la transaccin (seal del Target) IDSEL: Seleccin para configuracin

Seales bus PCI (5): Otros grupos seales


Sealizacin de errores:
PERR#: Indica errores de paridad SERR#: Indica errores graves del sistema

Arbitracin (slo dispositivos master)


REQ#: Solicitud del bus GNT#: Concesin del bus

Sistema:
CLK: Reloj del sistema RST#: Seal de reset (inicializacin)

Interrupcin (hasta 4 interrupciones Hw por parte del dispositivo PCI):


INTA# .. INTD#

Transferencias PCI (1)


Transferencia entre dos dispositivos:
Master: Iniciador de la transferencia Target: Objeto de la transferencia Existe ciclo especial broadcast para enviar mensajes a todos los dispositivos del bus

Bus multiplexado: una transferencia se divide en dos fases:


Fase de direccin: se indica la direccin Fase de datos: se transfieren los datos

Transferencias PCI (2): Fase de Direccionamiento


Fase de direccin:
Tiene lugar al comenzar la transaccin. Se indica la direccin desde la que leer o hacia la que escribir los datos. Mediante el comando se indica:
Lectura o escritura Memoria o Entrada/Salida Accesos avanzados (read line, read multiple, etc.) Comandos adicionales (interrupcin, ciclos especiales)

Transferencias PCI (3): Fase de transferencia de datos


Fase de Datos:
Puede haber una o ms fases de datos en una transferencia donde se transmiten datos Transferencia en rfaga Una fase de datos solo se completa cuando tanto master como target estn preparados Alguna fase de datos puede estar vacia, aunque no es frecuente (todos byte enable C/BE desactivados) Una transaccin puede terminarse sin haberse terminado ninguna fase de datos: (retry, abort, etc)

Transferencias PCI (4): Ejemplo transferencia

Transferencias PCI (5): Ejemplo de transferencia

Dependiendo de la velocidad del Target, DEVSEL# puede activarse en diferentes momentos.

Comandos bus PCI (1)

Comandos PCI (2): Comandos de memoria


Comandos lectura de memoria. Dependiendo del dispositivo PCI puede que los siguientes comandos de lectura sean equivalentes:
Memory Read (0110): menos de una lnea de cach. Memory Read Line (1110): una lnea de cach. Memory Read Multiple(1100): ms de una lnea de cach.

Comandos de escritura de memoria


Memory Write (0111): escritura normal. Memory Write and Invalidate (1111): escribe e invalida el bloque de la memoria cach si est all el dato.

Comandos PCI (3): Comandos de configuracin


Comandos acceso a entrada/salida:
I/O Read (0010) I/O Write (0011)

Comandos de acceso de configuracin


Configuration Read (1010) Configuration Write (1011) 1. Acceden a un tercer espacio de direccionamiento independiente: Plug and play. 2. No se contemplan rfagas. 3. Las lneas de direccin indican desplazamiento del registro a leer. Seleccin de tarjetas mediante IDSEL.

Comandos PCI (4): Otros comandos


Comando reconocimiento de interrupcin (permite transmitir vector de interrupciones)
Indicar CPU una interrupcin El controlador de interrupciones se conecta a la CPU mediante bus PCI

Comando special cycle


Mensajes broadcast al resto de las tarjetas. Ninguna debe activar DEVSEL#

Comando dual address cycle (siguiente cronograma)


Permite direccionamiento de 64 bits en un bus de 32 bits La fase de direccin dura dos ciclos de reloj

Comandos PCI (5): Comando Dual-Address

Configuracin PCI (1)


Plug and play gracias a espacio de direcciones de configuracin. Todo dispositivo PCI debe implementar los registros de configuracin. Permite ubicar de forma automtica los diferentes dispositivos dentro de los espacios de direcciones de E/S y memoria. POST (arranque de la BIOS) enumera los dispositivos y los configura (S.O. no Plug and play).

Ciclo de configuracin PCI (2): Transferencia


El puente se encargar de activar el IDSEL correspondiente al dispositivo elegido

Configuracin PCI (3): Registros configuracin

Registros de configuracin (4)


El espacio de configuracin consta de 64 registros de 32 bits (256 bytes). Los primeros 16 registros tienen una funcin predefinida. Los dems registros son dependientes de cada dispositivo. Cualquier dispositivo PCI debe implementar este espacio de direccionamiento (MEM o E/S son opcionales).

Descripcin registros de configuracin (5)


Vendor ID: Identifica el fabricante del dispositivo. PCISIG gestiona que cada fabricante tenga un cdigo nico que lo identifique del resto. El valor 0FFFFh esta prohibido. Device ID: Identifica un dispositivo particular para un fabricante determinado. Cada fabricante gestiona sus identificadores de dispositivos. Revision ID: Identifica una revisin determinada de un dispositivo. Puede interpretarse como una extensin del Device ID.

Descripcin registros de configuracin (6)


Registro BAR0 a BAR5: Indican 6 diferentes ubicaciones del dispositivo dentro del espacio de direcciones o de entrada/salida. Expansin ROM Base Address: Define la direccin base y tamao para la ampliacin ROM del dispositivo si la implementase.

Condiciones terminacin del target (1)


Disconect with data:
Indica al master que la fase de datos actual ser la ultima de la transaccin en curso

Disconnect without data:


Termina la transaccin actual sin completar la fase de datos actual

Retry:
Similar a disconnect without data pero en la primera fase de datos

Target Abort:
Indica una condicin de terminacin grave desactivando TRDY# y DEVSEL# al activar STOP#

Condiciones terminacin del target (2)


Disconnect with data:

Condiciones terminacin del target (3)


Disconnect without data o Retry (volver a continuar transferencia o pedir de nuevo transferencia):

Condiciones terminacin del target (4)


Target Abort: Indica error grave y no debe reintentarse (Desactiva DEVSEL#)

Arbitracin y Bus Mastering (1)


Seales adicionales de arbitracin
REQ#: Solicitud del bus GNT#: Concesin del bus

La arbitracin del bus PCI se produce de forma separada para cada acceso. Un dispositivo master no puede mantener el bus entre dos accesos. Para realizar mltiples transferencias deber solicitarse el bus independientemente para cada una de ellas y obtener la concesin por parte del arbitrador. La arbitracin es oculta por lo que no reduce ancho de banda del bus. Se produce de forma independiente a la transferencia de datos.

PCI Master (2): Ejemplo arbitracin

Extensiones 64 bits
Bus datos y direcciones: AD[63..32] Comando/byte enable: C/BE[7..4]#
Comando slo si C/BE[3..0]# = 1101 (dual address cicle). Byte enable parte alta del bus en fase de datos

Paridad parte alta del bus: PAR64


Paridad par lneas AD[63..32] y C/BE[7..4]#

Peticin de transaccin de 64 bits: REQ64# Concesin transaccin 64 bits: ACK64#

PCI 66 Mhz
La seal M66EN indica a un dispositivo que el bus esta operando a una velocidad de 66 o 33 Mhz. Las tarjetas de expansin y los segmentos de bus que no pueden operar a 66Mhz deben conectar esta seal a GND. Un segmento de bus PCI que opere a 66Mhz debe conectar esta lnea a Vcc por medio de una resistencia de pull-up. Si se conecta una tarjeta a 33Mhz que no puede funcionar a 66Mhz, como tiene esta seal conectada a tierra, forzara al circuito generador a funcionar a 33Mhz.

Вам также может понравиться