Bus PCI - PowerPoint PPT Presentation

About This Presentation
Title:

Bus PCI

Description:

PCI Local Bus Specification Rev 2.2, Dec. 1998. ... las reglas, pero este sistema puede no comportarse bien en sistemas futuros. ... – PowerPoint PPT presentation

Number of Views:98
Avg rating:3.0/5.0
Slides: 28
Provided by: juanpo
Category:
Tags: pci | bus | comportarse

less

Transcript and Presenter's Notes

Title: Bus PCI


1
Bus PCI
  • J. P. Oliver
  • Instituto de Ingeniería Eléctrica
  • Facultad de Ingeniería
  • Universidad de la República

2
Introducción
  • ISA
  • EISA
  • VESA
  • Micro Channel
  • PCI
  • PCI PCI-X 64 bits 133MHz
  • PCI Special Interest Group.
  • PCI Local Bus Specification Rev 2.2, Dec. 1998.
  • PCI to PCI Bridge Architecture Specification Rev
    1.1, Dec. 1998.
  • PCI System Design Guide
  • PCI BIOS Specification
  • www.pcisig.com

32 bits, 33MHz 64 bits, 66MHz
3
Características principales
  • Síncrono
  • Arbitrado
  • Configurable en booteo
  • Master / Target
  • 3 espacios de direcciones
  • Transferencias BURST (ráfagas)
  • Direcciones y datos multiplexadas
  • 5V ó 3.5V
  • Configuración
  • Memoria
  • I/O

4
CPU local bus
Memory bus
Host/PCI Cache/Bridge
CPU
Memory
Video
Audio
PCI bus
ISA bridge
PCI/PCI bridge
LAN
SCSI
ISA bus
SCSI bus
ISA board
PCI bus
5
Intel 430HX PCIset System Block
Diagram http//www.intel.com/design/chipsets/desi
gnex/29746702.PDF
6
Memory Space Organization
7
(No Transcript)
8
(No Transcript)
9
Master / Target
  • Master (Iniciator)
  • pide el bus
  • inicia transferencias RD o WR
  • Target
  • acepta transf. si es direccionado RD o WR
  • puede terminar

10
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

11
PCI configuration registers
12
Configuration cycle
13
Burst-Read cycle
14
Burst-Write cycle
15
Software
  • Cómo acceder a un periférico PCI?
  • En general están mapeados en memoria
  • Hay funciones del BIOS para detectar los
    diferentes dispositivos y sus rangos de
    direcciones.
  • PCI usa direcciones físicas
  • Hay funciones para copiar
  • PCI - memoria
  • memoria - PCI

16
Software
  • Sistemas operativos en serio Linux, NT
  • solo se puede acceder con un device driver
  • En DOS puro no se llega a direcciones de memoria
    tan altas
  • DPMI (DOS Protected Mode Interface)
  • http//www.delorie.com/djgpp/

17
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

18
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.

19
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.

20
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.

21
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.

22
PCI Core de Altera
23
Placa ARC-PCI
24
Placa ARC-PCI
25
Placa ARC-PCI
26
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

27
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