PDF de programación - Periféricos Interfaces y Buses - V. Buses

Imágen de pdf Periféricos Interfaces y Buses - V. Buses

Periféricos Interfaces y Buses - V. Busesgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.191 visualizaciones desde el 14 de Enero del 2017
1,0 MB
55 paginas
Creado hace 14a (12/05/2009)
Periféricos Interfaces y Buses

UNIVERSIDAD
DE CANTABRIA

I. Arquitectura de E/S
II. Programación de E/S
III. Interfaces de E/S de datos
IV. Dispositivos de E/S de datos
V. Buses

Buses de E/S (PCI, PC104, AGP). Sistemas de interconexión de
periféricos en entornos industriales (bus I2C, bus CAN). Modelo de
programación de dispositivos con los buses descritos.

VI. Controladores e interfaces de dispositivos de almacenamiento
VII. Sistemas de almacenamiento

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
8

© J. Javier Gutiérrez, Michael González

12/ma/09

1

Buses

UNIVERSIDAD
DE CANTABRIA

Bloque I
• El bus PCI
• Programación del bus PCI
• Programación de la tarjeta PCI-9111DG

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

2

Introducción al bus PCI

UNIVERSIDAD
DE CANTABRIA

El bus PCI (Peripheral Component Interconnect) es uno de los más
habituales en las arquitecturas PC, así como en Alpha, PowerPC,
SPARC64 e IA-64

Aparece como solución alternativa a buses como ISA o EISA
• para periféricos más rápidos
• pero también como solución conceptual a dispositivos

autodetectables y de fácil configuración

No se utiliza para tarjetas gráficas que disponen de otro tipo de
buses como por ejemplo AGP o PCI-Express

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

3

Introducción al bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

Principales características:
• desacoplo entre el procesador y
el bus de expansión mediante un
puente (bridge)

• bus estándar de 32 bits con una

transferencia máxima de 133
MB/s

• extensión a 64 bits con

transferencias máximas de 266
MB/s

• soporte para sistemas

multiprocesadores

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

4

Introducción al bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

• transferencias a ráfagas (burst) de cualquier longitud
• soporta alimentaciones de 5 V. y 3.3 V.
• capacidad de tener varios masters
• frecuencias de operación de hasta 33 MHz
• multiplexado de las líneas de datos y direcciones
• configuración mediante software y registros
• especificación independiente del procesador

Todos los dispositivos se conectan a un bus único y el bridge de
conexión con la RAM es transparente para el usuario

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

5

Estructura del bus PCI

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

[1]

6

Estructura del bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

En la estructura normal de un PC, el bridge de conexión con el bus
local de la CPU se conoce como Northbridge (bus primario)

El bridge que conecta el bus PCI con el resto de las unidades se
conoce como Southbridge (bus secundario)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

El ciclo del bus PCI

[1]

7

UNIVERSIDAD
DE CANTABRIA

Los ciclos de bus requieren dos o tres ciclos de reloj por cada
transferencia simple
• envío de la dirección en el primero
• escritura de datos en el segundo
• lectura de datos en el tercero

Así, el ritmo de transferencia máximo para 32 bits a 33 MHz es de
66 MB/s en escritura y 44 MB/s en lectura

Sin embargo, en el modo a ráfagas la dirección sólo se transfiere
una vez por lo que el máximo ritmo de transferencia se duplica
• los accesos a direcciones consecutivas los transforma en un

único acceso a ráfagas

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

8

El ciclo del bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

El PCI reconoce 12 tipos de acceso al bus (diferenciados por 4
líneas de control):
• secuencia INTA (0000)

- direccionamiento del controlador de interrupciones
- no hay dirección explícita
- en la fase de datos se transfiere el vector de interrupción por las

líneas de datos (ADx)

• ciclo especial (0001)

transferencia de datos a todas las unidades PCI conectadas

-
- p.e., sobre el estado del procesador
-

las líneas de datos menos significativas (AD15-AD0) codifican la
información: 0000h (procesador apagado), 0001h (procesador
parado), 0002h (código x86), 0003h-ffffh (reservados)

- el código específico x86 va en las líneas de datos AD31-AD16

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

9

El ciclo del bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

• acceso de lectura I/O (0010)

- acceso de lectura a una unidad en el área de I/O

• acceso de escritura I/O (0011)

- acceso de escritura a una unidad en el área de I/O

• acceso de lectura de memoria (0110)

- acceso de lectura a una unidad en el área de memoria

• acceso de escritura de memoria (0111)

- acceso de escritura a una unidad en el área de memoria

• acceso de lectura de configuración (1010)

- acceso al área de configuración
-

las líneas AD7-AD2 en direccionamiento indican la palabra de 32
bits a leer del área de configuración

- AD10-AD8 seleccionan la unidad de un dispositivo multifunción

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

10

El ciclo del bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

• acceso de escritura de configuración (1011)

- como el anterior pero para escribir

• acceso de lectura de memoria de línea (1110)

-

indica al dispositivo que se quieren leer más de dos bloques de 32
bits

- el acceso consta de una fase de direccionamiento y varias de datos

• acceso de escritura de memoria con invalidación (1111)

- es como el caso anterior pero para escritura
-

indica que se quiere escribir al menos una línea completa de caché

• acceso de lectura múltiple de memoria (1100)

- es una extensión de la lectura de memoria de línea, e indica al
dispositivo que se quiere leer más de una línea de caché, o el
bloque de datos correspondiente si no hay caché

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

11

El ciclo del bus PCI (cont.)

UNIVERSIDAD
DE CANTABRIA

• ciclo de direccionamiento dual (1101)

- se usa para transferir una dirección de 64 bits a una unidad PCI de

32 bits

- en el primer ciclo se transfieren los 32 bits menos significativos y

en el segundo los 32 más significativos

- permite accesos de dispositivos o CPUs con menos de 64 bits de

datos o direcciones

En un ciclo de lectura se introduce un ciclo dummy en el cambio
de la dirección del bus ADx entre las direcciones y los datos (en
un ciclo de escritura no es necesario)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

12

Arbitrio del bus

UNIVERSIDAD
DE CANTABRIA

El arbitrio del bus se realiza en base a dos señales
• REQ: petición de uso del bus por el dispositivo
• GNT: concesión de uso del bus

Una vez concedido el uso del bus se puede comenzar la
transferencia dentro de los siguientes 16 ciclos de reloj

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

13

Arbitrio del bus (cont.)

UNIVERSIDAD
DE CANTABRIA

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

[1]

14

DMA y master de bus

UNIVERSIDAD
DE CANTABRIA

Los dispositivos PCI tiene la posibilidad de convertirse en masters
del bus por lo que no necesitan ningún controlador de DMA
• las transferencias directas a memoria las hace un master de bus

usando el modo burst

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

15

Interrupciones

UNIVERSIDAD
DE CANTABRIA

Normalmente cada unidad conectada al PCI dispone de una línea
de interrupción INTA
• las unidades multifunción pueden tener además otras tres

líneas de interrupción INTB, INTC e INTD

• las interrupciones son disparadas por nivel (activo bajo)

La petición de interrupciones se canaliza a través de las mismas
líneas INTx del bus ISA, con varias posibilidades de mapeado de
interrupciones PCI a las del procesador

Las unidades PCI suelen tener asociada la misma IRQ en el PC, lo
que nos lleva a la situación de compartir interrupciones
• Linux ofrece esta posibilidad

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

16

Modelo de programación

UNIVERSIDAD
DE CANTABRIA

Cada periférico PCI viene caracterizador por:
• un número de bus (hasta 256 buses)
• un número de dispositivo (hasta 32 dispositivos)
• un número de función (hasta 8 funciones)

Además, puede haber varios dominios PCI, cada uno con hasta
256 buses

Cuando hay varios buses se suelen conectar mediante un bridge,
dando una estructura en árbol
• suele haber también un puente a otros buses (ISA)

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

17

Modelo de programación (cont.)

UNIVERSIDAD
DE CANTABRIA

Los periféricos PCI atienden a tres tipos de direccionamiento
• posiciones de memoria (32 o 64 bits)
• puertos de entrada/salida (32 bits)
• registros de configuración

Los dos primeros están compartidos por todos los periféricos de
un mismo bus
• se accede con las funciones de memoria y entrada/salida
• se configuran para que cada periférico use direcciones distintas

GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS

© J. Javier Gutiérrez, Michael González

12/ma/09

18

Modelo de programación (cont.)

UNIVERSIDAD
DE CANTABRIA

Los registros de configuración usan direccionamiento
"geográfico", dirigido específicamente al periférico
• se accede con funciones especiales
• 256 bytes para cada función y aquí se puede leer la

configuración de las direcciones de memoria e I/O
  • Links de descarga
http://lwp-l.com/pdf1058

Comentarios de: Periféricos Interfaces y Buses - V. Buses (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad