Desarrollos con interfaz PCI - PowerPoint PPT Presentation

About This Presentation
Title:

Desarrollos con interfaz PCI

Description:

Hardware limitado. Ej.: punto flotante. Tiempo de desarrollo ... Desarrollar una biblioteca hardware transparente al programador. Desarrollar un driver Linux ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 20
Provided by: juanpo
Category:

less

Transcript and Presenter's Notes

Title: Desarrollos con interfaz PCI


1
Desarrollos con interfaz PCI
  • J. P. Oliver, S. Fernández
  • Instituto de Ingeniería Eléctrica
  • Facultad de Ingeniería
  • Universidad de la República

2
Coprocesadores con FPGAs
  • Ventajas
  • Velocidad
  • Flexible
  • con un mismo hardware puedo hacer varias
    funciones
  • Paralelismo
  • Desventajas
  • Hardware limitado
  • Ej. punto flotante
  • Tiempo de desarrollo
  • Problemas de cuellos de botella I/O de datos
  • ISA
  • PCI
  • 32 bits, 33MHz
  • 64 bits, 66MHz
  • PCI-X
  • 64 bits 133MHz

3
Placa ARC-PCI
4
Placa ARC-PCI
5
Placa ARC-PCI
6
PCI bus commands
  • cben3..0 Bus Command
  • 0000 Interrupt acknowledge
  • 0001 Special cycle
  • 0010 I/O read
  • 0011 I/O write
  • 0100 Reserved
  • 0101 Reserved
  • 0110 Memory read
  • 0111 Memory write
  • cben3..0 Bus Command
  • 1000 Reserved
  • 1001 Reserved
  • 1010 Configuration read
  • 1011 Configuration write
  • 1100 Memory read multiple
  • 1101 Dual address cycle (DAC)
  • 1110 Memory read line
  • 1111 Memory write and invalidate

7
Master / Target
  • Master
  • pide el bus
  • inicia transferencias RD o WR
  • Target
  • acepta transf. si es direccionado RD o WR
  • puede terminar

8
PCI configuration registers
9
Configuration cycle
10
Burst-Read cycle
11
Burst-Write cycle
12
PCI Core de Altera
13
Problemas
  • Lograr burst en ambos sentidos en plataformas PC
  • Velocidad del diseño
  • Target solo ó Master Target ?
  • DMA ?
  • Software si usamos un SO de verdad es
    necesario implementar un DEVICE DRIVER

14
Guías para un diseño eficiente
  • Las elecciones en el diseño de la interfaz PCI
    son de vital importancia para determinar la
    performance del sistema.
  • Las diferencias de performance en diferentes
    placas PCI son causadas por diferencias en la
    implementación de la interfaz PCI.
  • Hay reglas a seguir que determinan un sistema
    eficiente y de alta performance.

15
Reglas Para Un Diseño PCI Eficiente
  • Implementar comandos PCI avanzados.
  • Usar Memory Read Line (MRL) para lecturas menores
    a 1 línea de cache y de más de 4 bytes (en lugar
    de realizar una Lectura Común). En porcesadores
    Pentium y Pentium pro una línea de cache es de 32
    bytes (8 Dwords).
  • Usar Memory Read Multiple (MRM) para lecturas de
    un tamáño mayor a 1 línea de cache.
  • Usar Memory Write Invalidate (MWI) para
    escrituras a múltiples líneas de cache (deben
    estar alineadas). No terminar un comando Memory
    Write (MW) largo para empezar un comando MWI.

16
Reglas Para Un Diseño PCI Eficiente
  • Usar bursts largos.
  • Para lecturas, es necesario utiliar bursts de al
    menos 64 Dwords (32 bit words) para obtener buena
    performance en algunas plataformas.
  • Para escrituras, los bursts deben ser al menos
    tan largos como el cache line.
  • Usar comandos de memoria, no comandos de I/O.

17
Reglas Para Un Diseño PCI Eficiente
  • Minimizar Latencia.
  • Responder a accessos lo más rápido posible y
    tratar de evitar insertar estados de WAIT en de
    las transferencias de bloques.
  • Seguir las reglas, NO experimentar.
  • Es posible obtener sistemas de buena performance
    sin seguir las reglas, pero este sistema puede no
    comportarse bien en sistemas futuros.

18
Algunas Conclusiones
  • PCI no es fácil (comparado con ISA)
  • Un core PCI requiere gran cantidad de celdas
  • Diseño cuidadoso para cumplir requisitos de
    tiempos (con los chips de la ARC-PCI)
  • Para lograr buena velocidad es necesario
    Master/Target con DMA

19
En Qué Estamos?
  • ARC-PCI
  • Desarrollar una interfaz PCI que pueda transferir
    burts sin wait en ambos sentidos
  • Desarrollar una biblioteca hardware transparente
    al programador
  • Desarrollar un driver Linux
  • Desarrollar un core PCI propio
  • Diseñar una nueva placa PCI con chips más rápidos
    y SDRAM
Write a Comment
User Comments (0)
About PowerShow.com