Escolar Documentos
Profissional Documentos
Cultura Documentos
Buses de Entrada/Salida
Perifricos e Interfaces
Referencias:
Tema 3/1
[Stallings03] Chapter 3
[Messmer02] Chapter 25
Conceptos Generales
Sumario
Normalizacin de un Bus
Niveles de Especificacin Fsico, Elctrico y Lgico
Temporizacin de las Seales
Protocolo de Transferencia
Mtodo de arbitraje
Direccionamiento
Anchura del bus
Tipos de transferencias
Tema 3/2
5 conectores PCI
2 conectores IDE
Placa base
Perifrico esclavo
Perifrico maestro
Tema 3/3
USB
Memoria
Principal
Interfaz
serie
Interfaz
paralelo
Maestro
Controlador
de cinta
Esclavo
Esclavo
Lneas de Direcciones
Tema 3/4
Lneas de Datos
Operaciones Bsicas
Transacciones: agrupacin de eventos que se
producen en un bus entre Fuente y Destino
Partes en las que frecuentemente se dividen las
Transacciones
Tema 3/5
Ventajas
Procesador
Dispositivo E/S
Dispositivo E/S
Dispositivo E/S
BUS
Memoria
Versatilidad:
Nuevos dispositivos pueden ser aadidos fcilmente
Los Perifricos pueden ser conectados a distintos
computadores que usen el mismo estndar de bus
La reparacin consiste en sustituir los mdulos daados
Bajo Costo:
Un nico conjunto de cables es compartido de mltiples
formas
Se maneja la complejidad particionando el diseo
Tema 3/6
Desventajas
BUS
Procesador
Dispositivo 1
Dispositivo 2
Dispositivo 3
Memoria
Tipos de Buses
Dedicados: asignar un conjunto de
lneas a una funcin determinada
(datos, direcciones, etc.)
Mayor rendimiento debido a
menor contencin del bus
Incremento del tamao del sistema
Maestro
Esclavo
Lneas de Control
Lneas de Direccin
Lneas de Datos
Esclavo
Bus Local
Procesador
Vdeo
LAN
FireWire
Interfaz de Memoria
Adaptador
Bus
Bus Sistema
PCI, AGP
Adaptador
Bus
Adaptador
Bus
Memoria
Principal
Bus Expansin E/S (IDE, USB, etc.)
Un pequeo nmero de buses de la placa base se obtienen a partir del Bus Local
La interfaz de memoria se usa para el trfico entre procesador y memoria
A travs de adaptador se obtienen los buses del sistema (PCI)
Los buses de E/S se conectan al bus del sistema (IDE, USB, SCSI, etc.)
Ventaja: la carga del bus del procesador se reduce
Tema 3/9
Bus LOCAL:
Procesador/Cache
Interfaz de MEMORIA
Tipos de
Transferencias:
Procesador-Memoria
Procesador-E/S
E/S-Memoria
Tema 3/11
R/W
Direc
Temporizacin de Seales
Datos
Nivel Lgico
Especificacin Elctrica
de las Seales
Caractersticas Fsicas/Mecnicas
BUS
Tema 3/12
v
t
Normalizacin de un Bus
Caractersticas Fsicas/Mecnicas
Topologa de conexin, Nmero mximo de dispositivos
conectados al bus (Capacidad de Conexin), Tipos de cables
y conectores, Longitud
Nivel Lgico
Tema 3/13
Temporizacin de Seales
Definicin: forma en la que se coordinan los eventos en el bus
Temporizacin Sncrona (Bus Sncrono):
Incluye una seal de reloj entre las lneas de control
La activacin de seales siempre se realiza de forma relativa a la seal de
reloj
Ventaja: implica muy poca lgica y puede ser muy rpido
Desventajas:
Cada dispositivo en el bus debe funcionar a la misma velocidad
Para evitar el desfase de reloj, las lneas del bus no deben ser muy largas si se
quiere que sea rpido
Temporizacin Sncrona
RELOJ
Bus- Acceso
Bus- Peticin
Direccin + Orden
Cmd+Addr
Espera (Wait)
Datos
Data1
Data1
Data2
Temporizacin Asncrona
Transaccin de
ESCRITURA
Direccin
Datos
CICLO de Bus
Maestro activa Direccin
Prxima Direccin
Lectura/Escritura
Peticin
Reconocimiento
t0
t1
t2
t3
t4
t5
Arbitraje
Un maestro que quiere usar el bus activa la seal de peticin del bus
Que se dirige a un rbitro central (Arbitraje Centralizado)
Que es compartida por otros maestros y stos detectan la actividad de esta lnea
compartida (Arbitraje Distribuido por Deteccin de Colisin de Seales)
Dependiendo del estado de unas seales de arbitraje (cdigo identificativo,
habilitacin), los mdulos se abstienen de usar el bus o acceden a l (Arbitraje
Distribuido por Autoseleccin)
Tema 3/18
Tipos de Arbitrajes
BUS
Centralizado
Arbitro
PCI
Dispositivo
PCI
GNT#
REQ#
Dispositivo
PCI
GNT#
REQ#
Centralizado
Daisy Chain
Arbitro
PCI
Tema 3/19
Dispositivo
PCI
GNT#
REQ#
Dispositivo
PCI
GNT#
REQ#
BUS
Dispositivo
PCI
REQ# GNT#
Dispositivo
PCI
REQ# GNT#
Dispositivo
PCI
REQ# GNT#
Dispositivo
PCI
REQ# GNT#
Tipos de Arbitrajes
BUS
Dispositivo
PCI
GNT# REQ#
Dispositivo
PCI
GNT# REQ#
Distribuido por
Deteccin de Colisin de
Seales (Ethernet)
Tema 3/20
Dispositivo
PCI
GNT# REQ#
Dispositivo
PCI
GNT# REQ#
Tipos de Arbitrajes
Distribuido por
Autoseleccin
(SCSI)
Tema 3/21
Protocolo: Direccionamiento
Lgico: informacin de direccin de destino
est almacenada en el destinatario
Geogrfico: la direccin est asociada a
una posicin fsica
Multicast: forma de distribuir informacin
a ms de un destinatario
Broadcast: forma de distribuir informacin
a todos los destinatarios
Tema 3/22
Data1
Data2
Data3
Buses Dedicados
Tiempo
Direccin
Dato
Direccin
Dato
Direccin
Tiempo
acceso
Operacin de escritura
(no multiplexada)
Dato
Direccin
Lect Escr
Lectura-Modificacin-Escritura
Direccin Escri
Lect
Tema 3/24
Direccin
Dato
Operacin de lectura (no multiplexada)
BCLK
Arbitraje
Peticin
Error
Snoop
Respuesta Datos
Trasaccin 1
Arbitraje
Trasaccin 2
Tema 3/25
Peticin
Error
Snoop
Respuesta Datos
Colores
8 bits
8 bits
24 bits
24 bits
Bus PCI 0
BRIDGE
Agente PCI
Bus PCI
Tema 3/27
Control
PCI
PCI
HOST
HOST
C/BE0-3
AD0-31
(Puente
(Puente
Norte)
Norte)
Arbitro
PCI
Dispositivo
PCI (Slot 1)
GNT# REQ#
Dispositivo
PCI (Slot 2)
GNT# REQ#
Dispositivo
PCI (Slot 3)
GNT# REQ#
/INTA..D
Controlador de Interrupciones
(Puente Sur)
Tema 3/29
Dispositivo
PCI (Slot 4)
GNT# REQ#
5 voltios
Niveles FsicoMecnico-Elctrico:
Conector PCI
Organizacin de pines
para eliminar Paradiafona
(Crosstalk)
Tema 3/31
Tema 3/32
Sincronizacin PCI
Interpretacin de eventos:
Activacin de eventos por maestro del bus: en
transiciones negativas de clk
Interpretacin de eventos por esclavos del bus: en
transiciones positivas de clk
Tema 3/33
Arbitraje PCI
Centralizado
Interrupciones activas por nivel, se pueden
unir varias lneas
Sin algoritmo especificado para prioridad
No relentiza las transferencias
BUS PCI
Arbitro
PCI
Tema 3/34
Dispositivo
PCI
GNT# REQ#
Dispositivo
PCI
GNT# REQ#
Dispositivo
PCI
GNT# REQ#
Dispositivo
PCI
GNT# REQ#
Tema 3/35
Arbitro
PCI
GNT#B
REQ#B
GNT#A
REQ#A
FRAME#,
IRDY#,
TRDY#,
AD, CLK
Arbitraje PCI
Bus PCI
Transferencias
de Datos
Modos multiplexados :
ciclo completo (escritura: 2
clk/dato, lectura: 3 clk/dato),
ciclo partido (bloques datos, 1
clk/dato)
Estructura de la transferencia:
1 fase de direccionamiento
1 varias fases de datos
Ritmos de Transferencia
Ciclo Completo 1X: escritura= 66 MB/s,
lectura= 44 MB/s
Ciclo Partido: 1X=132 MB/s (33MHz, 32
bits), 4X=528 MB/s (66 MHz, 64 bits)
Tema 3/36
Comandos/Ordenes PCI
Se utilizan las seales C/BE(3:0)
Lectura/Escritura E/S: leer/escribir en registros del controlador de
perifricos
Lectura/Escritura Memoria: transferencias de bloques de datos,
permite ser utilizado en sistemas multiprocesadores en el que se
utiliza un algoritmo de coherencia de cache
Lectura/Escritura Configuracin: permite al usuario del bus leer y
escribir en registros de configuracin del dispositivo conectado a
PCI, mximo nmero registros: 256, utilizado en Plug&Play
Ciclo de Direccin Dual: permite la utilizacin de direcciones de
64 bits
Reconocimiento de Interrupcin: el controlador de interrupciones
utiliza el bus de datos para leer el identificador de la interrupcin
Ciclos Especiales
Tema 3/37
Tema 3/38
Tema 3/39
Autoconfiguracin PnP-PCI:
Mecanismo Configuracin #1
3er tipo de espacio direccionamiento en PCs
Registros de Configuracin: 2 registros E/S de
32 bits para acceso a la Memoria de
Configuracin PCI
CONFIG_ADDRESS: 0x0cf8
CONFIG_DATA: 0x0cfc, 32 bits
Autoconfiguracin PnP-PCI:
Mecanismo Configuracin #1
ECD=1: acceso a Espacio Configuracin PCI
ECD=0: acceso a Direccionamiento E/S
CONFIG_ADDRESS (E/S= 0x0cf8)
31 30
EC
D=
1
24 23
RESERVADO
16 15
11 10
N de dispositivo
PCI (0...31)
conectado a bus
Funcin
(multifunci
onales)
N de Registro de la
Ventana Configuracin
(64 regs)
Tipo
DATO
Tema 3/41
CONFIG_DATA
Offset
En el interior del
controlador PCI
31
Formato
64 Byte Header
Fijo
Cabecera
16B
16 15
Unit ID
Status
Class Code
BIST
Header
Manufacturer ID
Command
Revision
Latency
CLS
Dependiente
del Dispositivo
00h
04h
08h
0Ch
10h
(6)
Reserved
Reserved
Expansion ROM Base Address
Reserved
Reserved
INT-Line
INT-Pin
MinGNT
MaxLat
24h
28h
2Ch
30h
34h
38h
3Ch
Campos de Configuracin
Command (16 bits: 9+7): configura cmo reacciona el mdulo PCI a los
distintos ciclos de bus
Status (16 bits): estado del mdulo PCI
Class code (24 bits): indica el tipo de mdulo PCI. MSB=clase,
MediumSB=sub-clase, LSB= interfaz de programacin
Latency (8 bits): duracin mx de operaciones de bus (/FRAME=0, >8 clks)
Header: permite indicar el contenido de los otros 48 bytes de la cabecera
BIST (8 bits): autotest
BAR (32/64 bits): punteros a zonas de memoria o E/S donde se almacenan
datos o programas
INT-Line (8 bits): lnea interrupcin asignada, IRQx (0 .. 15)
INT-Pin (8 bits): peticin de interrupcin, 0000 (no int), 0001 (/INTA),
0010 (/INTB), etc
(MaxLat,MinGNT): mxima y mnima latencia que requiere el mdulo PCI,
y que es indicado por el fabricante de la placa
Tema 3/43
Ejemplo
pci_bios_present:
find_pci_device();
DX: fabricante (8086=Intel)
CX: unidad (7190=440BX Host/PCI)
SI= indice
Versin: x.y; x=BH, y=BL EDX=PCI; 00 49 43 50
Tema 3/45
Carry=NC; si PCI-BIOS
Carry=NC; comando OK
Programacin a travs de
BIOS con C++
getinterrupt(0x1a);
pci_bios_present(); indica si BIOS PCI presente
find_pci_device(); encuentra perifricos PCI
read_configuration_byte(); lee espacio
configuracin
write_configuration_byte(); escribe registro de
configuracin
Tema 3/46
Ejemplo: Arranque PC
Tema 3/47
Bus
No
Device No.
Func.
No.
Vendor
ID
Device
ID
Device Class
IRQ
8086
7111
IDE controller
14/15
8086
7112
10
11
1307
000B
N/A
12D2
0018
Display controller
11
Ejemplo:
PCItree
(www.pcitree.de)
Jerarqua PCI
Interrupcin IRQx
Interrupcin PCI
DID.VID
Area de
Configuracin
Situacin del mdulo en la jerarqua PCI
Tema 3/48