pci ii. estructura del bus el bus puede tener varios segmentos. un puente une dos segmentos cada...

16
PCI II

Upload: mateo-santana

Post on 07-Feb-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

PCI II

Page 2: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Estructura del bus

• El bus puede tener varios segmentos.• Un “puente” une dos segmentos• Cada segmento recibe un número de

identificación dentro del sistema de buses.• La asignación de números de identificación se

realiza en profundidad• Cada “puente” conoce qué segmentos hay

“debajo” de ella.• La interfaz host-pci es la raíz del árbol y sabe

cuántos segmentos hay en el sistema.

Page 3: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Estructura

Host-PCI

Procesador

Maestros Esclavos PCI -PCI

EsclavosMaestros

Bus local

Bus PCI

Bus PCI

Page 4: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Estructura del bus

• Dispositivos:– Un dispositivo puede hospedar hasta 8

funciones. – La función es la que proporciona la

funcionalidad de entrada/salida– Los dispositivos en un segmento están

ordenados por una línea IDSEL#• Dos configuraciones:

– conectadas al “puente”. – Conectadas a las líneas de dirección del bus.

Page 5: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Estructura del bus

• Funciones– Cada función tiene un conjunto de registros

de configuración.• VendorID: indica si la función está implementada

en el dispositivo o no.– Si sólo hay una función en un dispositivo debe ser la 0. – Si hay más de 1, las otras pueden ser cualquiera (no

necesariamente en orden secuencial)

Page 6: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Estructura

• Registros de configuración.– 64 registros de 32 bits

• Tipo de función, requerimientos de configuración, datos del fabricante.

• Genéricos-Obligatorios Device Independent(16)– DeviceID, VendorID, ClassCode, Status, Command...

• Dependientes de la función-Obligatorios Device Header(48)– Dispositivos Estándares

– PCI-PCI Bridges

– CardBus Bridges

• Dependientes de la función-Específicos Device Dependent(192)

Page 7: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Registros de configuración.

Page 8: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Registros de Configuración

DEVICE INDEPENDENT

DEVICE HEADER

Page 9: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Device Independent

• VendorID: Identificador del fabricante (PCI SIG)• DeviceID: Identificador del dispositivo (Fabricante)• Command: Capacidades del dispositivo para generar y

responder a los accesos.• ¿Es maestro o esclavo?• Responde a transacciones de I/0, Mem, Ciclos especiales, Escritura

e Invalidación? Etc

• Status: graba los eventos que ocurren en el bus. (monitorización)

• RevisionID: Revisión del dispositivo (fabricante)• ClassCode: Describe la función genérica del dispositivo.

Page 10: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Class Code Reg

Page 11: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Device Dependent

• I/O and Memory Base Registers– Es el medio por el que un dispositivo solicita

direcciones I/O y memoria del espacio de direcciones del procesador.

– Permite que el espacio asignado sea dinámicamente mapeado en el espacio de direcciones del procesador.

Page 12: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Registro base de I/0

Escribir en el registro 0ffffffffh

Leer el registro. El primer bit ha de estar a 1

A partir del bit 2, buscar el primer bit a 1, sea la posición i

Se solicitan 2i localizaciones de memoria.

Asignarle una dirección alineada a 2i

Page 13: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Registro base de memoria

Escribir en el registro 0ffffffffh

Leer el registro.

El primer bit ha de estar a 0

A partir del bit 4, buscar

el primer bit a 1, sea la posición i

Se solicitan 2i localizaciones de memoria.

Asignarle una dirección alineada a 2i

Page 14: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Asignación de interrupciones.

• Interrupt Line: Identifica a qué línea de interrupción del controlador de interrupciones está conectado este dispositivo.

• Interrupt Pin: Identifica a qué línea de interrupción de PCI está conectado este dispositivo– INTA#,INTB#,INTC#, INTD#

Page 15: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del

Espacio de direcciones de configuración.

• Para acceder al espacio de configuración: – 0CF8h: CONFIG_ADDRESS

• Registro de 32 bits. Accesos en DWord (32)

– 0CFCh: CONFIG_DATA• Ventana: 8, 16, 32 bits.

E

(1)

Reservado

(7)

Id Bus

(8)

Nº Dispositivo

(5)

Función

(3)

Registro

(6)

00

(2)

Page 16: PCI II. Estructura del bus El bus puede tener varios segmentos. Un puente une dos segmentos Cada segmento recibe un número de identificación dentro del