Buses de expansión. - IES Juan de la Cierva. Vélez

Anuncio
MANTENIMIENTO
DE
EQUIPOS INFORMÁTICOS
Ignacio Moreno Velasco
UNIVERSIDAD DE BURGOS
Versión 7.0 Abril 2012
4.- LA PLACA BASE DEL PC: BUSES DE EXPANSIÓN.
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Tabla de contenido
4.2.-
BUSES DE EXPANSIÓN
4.2.1.-
4
Comunicación con los dispositivos de E/S
4
4.2.1.1.-
E/S Programada:
4
4.2.1.2.-
Interrupciones hardware
4
4.2.1.3.-
DMA (Acceso directo a memoria)
5
Ventajas e inconvenientes ..................................................................................... 5
4.2.2.PCI (Peripheral Component Interconnect)
6
4.2.2.1.-
Arquitectura
6
Puentes Host-PCI ................................................................................................ 6
Puente PCI a ISA (PCI to ISA bridge).......................................................................... 6
Puentes PCI-PCI.................................................................................................. 7
4.2.2.2.-
Señales del bus
8
4.2.2.3.-
Transferencia de datos
9
Fase de direccionamiento...................................................................................... 9
Fase de transferencia de datos ..............................................................................10
Fin de la transferencia ........................................................................................10
Control de errores..............................................................................................10
4.2.2.4.-
Control del bus
11
Señal LOCK#.....................................................................................................11
Ranuras master y slave ........................................................................................11
4.2.2.5.-
Configuración
12
1º BIOS ...........................................................................................................12
2º Sistema operativo ...........................................................................................12
4.2.2.6.-
Interrupciones hardware
14
Reconocimiento de la interrupción..........................................................................14
Compatibilidad .................................................................................................15
4.2.2.7.-
Extensiones de la revisión 2.1
16
Extensión a 64 bits .............................................................................................16
Extensión a 66 Mhz.............................................................................................16
Direccionamiento de 64 bits..................................................................................16
4.2.2.8.-
PCI-X
17
Revisión 1.0: ....................................................................................................17
Revisión 2.0 .....................................................................................................17
4.2.2.9.-
PCI Hot-Plug
18
Elementos implicados .........................................................................................19
Versiones ........................................................................................................19
Ejemplo: sistema con 2 puentes PCI-X y ranuras Hot-plug ..............................................19
4.2.3.PCI Express
20
4.2.3.1.-
Características de transmisión
20
Transmisión diferencial .......................................................................................20
Transmisión síncrona ..........................................................................................20
Transmisión bidireccional.....................................................................................20
Enlace múltiple .................................................................................................21
Transmisión isócrona ..........................................................................................22
Distancia .........................................................................................................22
4.2.3.2.-
Evolución del PCI Express
23
Características PCI Express® 3.0: ...........................................................................23
4.2.3.3.-
Mantenimiento
23
Conector .........................................................................................................23
Tema 4: Placa base
versión 7.0
2/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Consumo energético ...........................................................................................23
Ahorro de costes................................................................................................24
Conexión sustitución...........................................................................................24
Integridad de la señal .........................................................................................24
Errores ...........................................................................................................24
Compatibilidad con PCI........................................................................................24
Interrupciones Hardware......................................................................................25
4.2.3.4.-
Topología de sistemas PCI-Express
26
Ejemplos de aplicación:.......................................................................................27
Tema 4: Placa base
versión 7.0
3/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
4.2.- BUSES DE EXPANSIÓN
Permiten la comunicación de la CPU y de la memoria hacia/desde las distintas controladoras hardware de
los periféricos del sistema (Video, puertos, discos duros, etc).
 Físicamente están implementados mediante pistas de circuito impreso y disponen de ranuras
donde conectar tarjetas de expansión: PCI, PCI-Express
 No contemplan cables como sí hacen los buses periféricos (USB, e-SATA).
4.2.1.- COMUNICACIÓN CON LOS DISPOSITIVOS DE E/S
Las tres técnicas básicas de controlar la transferencia de datos hacia/desde un periférico son:



4.2.1.1.-
E/S Programada.
Interrupciones.
DMA (Acceso directo a memoria).
E/S Programada:
En inglés programmed I/O (PIO) esta técnica se basa en la ejecución de instrucciones E/S como la IN y
OUT del repertorio del 8086. Mediante esta técnica la CPU envía una orden al dispositivo (lectura,
escritura, configuración, chequeo), y se mantiene ocupada hasta que concluye la operación. El dispositivo
no interrumpe a la CPU para comunicar que ya ha terminado la operación, sino que es la CPU quien debe
ocuparse de comprobarlo periódicamente, consumiendo así mucho tiempo de CPU.
4.2.1.2.-
Interrupciones hardware
Cada dispositivo pide servicio a través de una linea de interrupción. Desde el 8086 se dispone de una
entrada de petición de interrupción (INTR - INTerrupt Request) y una salida de concesión de interrupción
(INTA – INTerrupt Acknowledge). Ante la posibilidad de que varios dispositivos activen su interrupción
simultaneamente, las interrupciones no las trata directamente la CPU, sino un controlador. En los
primeros PC’s, el circuito integrado 8259 o compatible conocido como PIC que ahora se encuentra
integrado en el puente sur. Actualmente se emplean otros mecanismos.
5
Controlador
1
Controlador
a de red
IRQ 9
Driver RED
de
Linea
IRQ9
E000:01AA
interrupcione
s 8259
3
2
INTR INTA
CPU
4
0000:01C7
0000:01C4
E000:01AA
Figura 1: Secuencia de ejecución de una interrupción harware
Tema 4: Placa base
versión 7.0
4/27
Ignacio Moreno Velasco
1) El dispositivo
Apuntes Mantenimiento de Equipos Informáticos
pide servicio a través de una de las lineas de interrupción. En la figura la
controladora de red usa la interrupción hardware IRQ9 que corresponde a la interrupción nº 71h de
la tabla de vectores de interrupción, según la tabla que veremos más adelante.
2) El controlador de interrupciones activa la señal INTR de la CPU.
3) El micro guarda en la pila el estado actual de los registros, deshabilita la posibilidad de atender
cualquier otra interrupción (mediante el flag IF) y accede a la petición activando la señal INTA.
4) El controlador de interrupciones 8259 sitúa en el bus de datos el vector de interrupción. Cada IRQ
tiene asignada una posición de memoria (vector de interrupción) donde se halla la dirección del
controlador (driver) que se ocupará de tratar dicha interrupción. (En el ejemplo el vector nº 21h
que ocupa las direcciones 1C4 – 1C7, es decir 4 bytes)
5) Se ejecuta la rutina de atención que puede hallarse en memoria RAM o en el BIOS.
6) Se restaura el estado de los registros desde la pila al estado anterior de atender la interrupción.
Esto incluye volver a habilitar las interrupciones (flag IF).
7)
Se continúa la ejecución del programa en el punto donde se interrumpió.
También existen las llamadas “interrupciones software”. Se “llaman” desde un programa para hacer que se
ejecute una función del BIOS o del DOS que accede al hardware. Estas funciones son contempladas por la
CPU como subrutinas, que una vez finalizadas, devuelven el control al programa que las llamó.
4.2.1.3.-
DMA (Acceso directo a memoria)
La técnica DMA (Direct Memory Access) permite transferir datos entre un dispositivo y memoria o de una
zona de memoria a otra sin la intervención del micro (excepto para arbitrar la transferencia). Esto es mas
rápido que el método tradicional donde cada dato llega a la CPU que lo graba en memoria.
 Requiere de un dispositivo que controle la operación en sustitución del micro.
 El bus ISA permite DMA mediante el obsoleto controlador DMA (8237).
 El bus PCI ya contempla entre sus características la posibilidad de acceder a memoria, por lo que
no necesita de hardware adicional.
Ventajas e inconvenientes
 Es útil cuando se deben transferir grandes bloques de datos (P. ej. lectura/escritura en disco).
 No es tan útil cuando la CPU tiene que procesar uno por uno los datos que se leen/escriben.
Tema 4: Placa base
versión 7.0
5/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
4.2.2.- PCI (PERIPHERAL COMPONENT INTERCONNECT)
Su arquitectura es independiente del procesador, por lo que es necesario que entre ambos haya un
controlador de bus. Esto permite su utilización en otras plataformas (Alpha, Power PC, etc.). Así por
ejemplo, una misma tarjeta pueda instalarse en sistemas distintos, cambiando únicamente los
controladores de dispositivo (drivers).
 Bus paralelo, compartido, de 32 bits de datos y direcciones.
 Bus de direcciones y datos multiplexados en las lineas AD[31-0]. Esto permite al conector
mantener unas medidas reducidas a costa de aumentar la latencia.
 Hasta la llegada de la versión 2.1 sólo funcionaba a 33,3 MHz. Velocidad de transferencia
máxima teórica: 33,3 MHz x 32 bits  127 MiB/s.
4.2.2.1.-
Arquitectura
Los dispositivos de conexión al bus, generalmente circuito integrados son llamados puentes (bridges):
Puentes Host-PCI
El elemento principal de un sistema basado en PCI es el llamado puente Host-PCI que conecta micro y bus.
Figura 2: Sistema basado en un puente Host-PCI
Figura 3: Sistema basado en dos puentes Host-PCI
Puente PCI a ISA (PCI to ISA bridge)
Es un circuito integrado que permite colgar un bus ISA de un bus PCI consiguiendo que convivan ambos
buses en una misma placa base. Este elemento se encuentra integrado en el puente sur del chipset, como
por ejemplo, en la Figura 4:
Figura 4: Puente
sur Intel PIIX4E
que incluye un
puente del bus
PCI al bus ISA
Tema 4: Placa base
versión 7.0
6/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Puentes PCI-PCI
Permite incrementar la capacidad
del bus a un mayor número de
dispositivos.
La arquitectura Bridged Bus utiliza
un puente de bus PCI a PCI para
ampliar la capacidad de
dispositivos. Estos puentes suelen
ser ASICs (Circuitos integrados de
propósito específico) que aislan
eléctricamente dos buses PCI,
permitiendo que las transferencias
pasen de un bus a otro.
Figura 5: Arquitectura “bridge bus” para la ampliación del bus de expansión
mediante puente PCI-PCI
Ejemplo: chipset Intel 440 BX:
La Figura 6 constituye un ejemplo típico de la
arquitectura “bridge bus”. Podemos observar:
 Puente Host-PCI entre la CPU-Memoria y el bus
PCI #0 del que cuelgan 4 ranuras y el 82371EB.
 Circuito integrado 82371EB que contiene un
puente PCI-PCI del que cuelgan:

Controladoras IDE, USB y SMB.

Un puente PCI-ISA.
Figura 6: Sistema basado en chipset Intel 440 BX
Tema 4: Placa base
versión 7.0
7/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Figura 7:
Arquitectura de
un sistema
Macintosh basada
en PCI.
4.2.2.2.-
Señales del bus
A continuación se enumeran las señales que componen el bus PCI en sus primeras versiones.
AD[0-31]:
(AdressData). Estas 32 señales corresponden tanto al bus de direcciones como al bus de
datos, ya que se encuentran multiplexados. Esto permite una ahorro de 32 líneas, patillas,
contactos o cables, según el caso, a costa de aumentar la latencia.
C/BE[0-3]#: En estas 4 señales se encuentran multiplexados en el tiempo las órdenes de bus
(Command) y las habilitaciones de byte (Byte Enable). Las órdenes de bus definen el tipo
de transferencia que se quiere realizar. Las habilitaciones de byte sirven para determinar
la validez de cada uno de los cuatro bytes que se intercambian en cada operación de
transferencia. Por ejemplo, cuando estas líneas funcionan como habilitación de byte, un
valor 0001 indica que solo el último byte es válido, por lo que deben ingnorarse los tres
primeros. Se permiten así transferencias de datos de tamaños distintos a 32 bits.
PAR:
Esta señal implementa el sistema de paridad empleado para la detección de errores en la
transmisión. Se emplea paridad par sobre el conjunto de los 36 bits de las señales
anteriores.
CLK:
Proporciona la señal de reloj que sincroniza todas las operaciones. Como se ha
mencionado, se puede tratar de un reloj de 33 o 66 MHz.
RST#:
Se emplea para inicializar los dispositivos PCI colocando en sus registros de configuración
los valores originales. Se trata de una señal activa a nivel bajo.
FRAME#:
También activa a nivel bajo, indica el inicio de una operación de transferencia.
Lógicamente es el maestro quien se encarga de activarla.
IRDY#:
(Initiator ReaDY). Con ella el maestro indica que está listo para completar una
transferencia de datos: Si se trata de una transferencia para escritura, indicará que los
datos son válidos. Si la transferenica es de lectura, establece que el maestro está listo
para recibirlos.
TRDY#:
(TaRget ReaDY) Tiene el mismo funcionamiento que la anterior, pero en este caso referida
al esclavo.
Tema 4: Placa base
versión 7.0
8/27
Ignacio Moreno Velasco
STOP#:
Apuntes Mantenimiento de Equipos Informáticos
Es empleada por el esclavo para pedir al maestro que concluya la operación de
transferencia en curso.
LOCK#:
Mediante esta señal un maestro solicita un acceso exclusivo para realizar múltiples
operaciones de transferencia sobre un mismo esclavo.
IDSEL:
(Initialization Device Select). Permite realizar operaciones de lectura o escritura de la
configuración de los dispositivos PCI. Existe una de estas señales en cada ranura.
DEVSEL#:
(Device Select). Es activada por un esclavo cuando reconoce su dirección en el bus.
REQ#:
(REQuest). Es activada por un maestro para solicitar la utilización del bus. Existe una de
estas señales para cada maestro.
GNT#:
(GraNT). Indica que el maestro que ha solicitado el uso del bus ha sido autorizado a
utilizarlo. Obviamente también existe una de estas señales por cada maestro.
PERR#:
(Parity ERRor). Se emplea para indicar que se ha detectado un error de paridad durante
una transferencia.
SERR#:
(System ERRor). Se emplea para señalar un error grave de sistema.
INTA #:
Señal de petición de interrupción empleada por un dispositivo PCI para reclamar la
atención de su correspondiente controlador software (driver).
INTB#, INTC#, INTD#: Señales de interrupción empleadas por los dispositivos PCI multifunción. Por
ejemplo una tarjeta de modem que incluya un chip de sonido utilizaría INTA# y INTB#.
4.2.2.3.-
Transferencia de datos
En terminología PCI las transferencias de datos se realizan entre un iniciador (initiator) que asume el
control del bus (bus master) y un destinatario (target) que funcionará como esclavo (bus slave).
Una transferencia de datos está compuesta por una primera fase de direccionamiento y por una o varias
fases posteriores de lectura/escritura de datos. Estas fases se explican a continuación:
Fase de direccionamiento
Las 4 líneas denominadas C/BE[3:0]# (Command/Byte Enable) se encuentran multiplexadas, de manera
que durante esta fase se utilizan para codificar órdenes.
La fase de direccionamiento comienza con la activación de la señal FRAME#. Durante esta fase
 El iniciador activa las señales C/BE[3:0]# que codifican el tipo de transferencia que va a tener
lugar (Lectura de memoria, escritura en memoria, lectura de dispositivo E/S, escritura en
dispositivo E/S, etc...).
 Las direcciones aparecen en el bus multiplexado, lineas AD[31-0].
El sufijo # ante el nombre de una señal indica que es activa a nivel bajo.
Tema 4: Placa base
versión 7.0
9/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Tabla 1: Señales de control del bus PCI. C/BE[3:0]#
Orden
0000
0001
0010
0011
0100
Interrupt Acknowledge
Special Cycle
I/O Read
I/O Write
Reserved
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Reserved
Memory Read
Memory Write
Reserved
Reserved
Configuration Read
Configuration Write
Memory Read Multiple
Dual Address Cycle
Memory Read Line
Memory Write and Invalidate
Fase de transferencia de datos
Durante esta fase las señales multiplexadas C/BE[3:0]# se utilizan como Byte Enable, es decir, indican
cual de los 4 bytes de datos es válido y cual no. Esto permite transferencias de datos de longitud variable:
 Los datos aparecen en el bus multiplexado, lineas AD[31-0].
 Tanto el iniciador como el destinatario pueden insertar estados de espera durante la
transferencia desactivando las señales IRDY# (Initiator ReaDY) y TRDY# (Target ReaDY).
Fin de la transferencia
 El iniciador puede terminar la transferencia desactivando la señal FRAME# durante la última fase
de datos.
 El destinatario puede finalizar la transferencia activando la señal STOP#.
La multiplexación de direcciones y datos hace que la se necesiten al menos 2 ciclos de reloj para una
transferencia simple de datos. De esta forma la velocidad de transferencia se reduciría a la mitad. Para
paliar esto el bus PCI contempla la transferencia de ráfagas de datos (burst mode) como veremos a
continuación.
Control de errores
El bus dispone de la señal PAR que compone la paridad par sobre las señales AD[31:0] y BE[3:0]#.
Esta señal tiene la misma temporización que AD[31:0] pero retrasada un ciclo de reloj para permitir el
cálculo de paridad.
Tema 4: Placa base
versión 7.0
10/27
Ignacio Moreno Velasco
4.2.2.4.-
Apuntes Mantenimiento de Equipos Informáticos
Control del bus
A diferencia del bus ISA que proporciona un
controlador específico para el acceso directo a
memoria de los periféricos (Controlador DMA
8237), PCI no proporciona un circuito especial para
ese propósito. En cambio contempla un mecanismo
de transferencia llamado Bus mastering.
El iniciador activa la señal REQ#
(REQuest=petición) para indicar al controlador PCI
que desea tomar el control del bus. El controlador
PCI confirma la propiedad del bus activando la
señal GNT# (GraNT=cesión) convirtiendo al
iniciador en lo que se conoce como Bus master.
Señal LOCK#
El iniciador puede activar la señal LOCK# pidiendo
acceso exclusivo al bus para realizar múltiples
transacciones con el destinatario.
 Impide que otros iniciadores modifiquen las
direcciones bloqueadas (mínimo de 16 bytes
Figura 8: Transferencia a memoria de una tarjeta de adquisición de datos siBus mastering (arriba) y conus mtering (abajo).  National Instruments. bloqueables).
 Durante el bloqueo pueden realizarse otras transacciones no exclusivas a direcciones no
bloqueadas.
Figura 9:
Configuración del
tiempo que puede
bloquearse el bus
en el BIOS Setup
de una placa base
En este modo ráfaga, con un solo ciclo de direccionamiento pueden realizarse varios ciclos de
transferencia de datos a direcciones consecutivas, disminuyendo drásticamente la latencia y rozando los
teóricos 127 MiB/s (133MB/s).
Ranuras master y slave
Cada slot PCI tiene sus propias lineas REQ# y GNT# que van unidas al controlador PCI. Por ejemplo el
Host Bridge incluido en el puente norte de los chipsets de Intel dispone de 4 patillas para REQ# y otras 4
Tema 4: Placa base
versión 7.0
11/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
para GNT#. Es por esto que, en principio, sólo puede haber 4 ranuras PCI con capacidad Bus master en las
placas madre basadas en esos chipsets.
Figura 10: Algunas placas base
con las primeras versiones del
estándar PCI añaden un quinto
slot llamado "Slave" . Éste no
puede alojar tarjetas bus
master, al no disponer de las
señales REQ# y GNT# y debe
realizar las tareas de
transferencia mediante
interrupciones (modo PIO), lo
que involucra al procesador.
Sin embargo el puente sur Intel® ICH7, más moderno, especifica sobre la interfaz PCI que incluye:
- Supports PCI Rev 2.3 Specification at 33 MHz
- New: Six available PCI REQ/GNT pairs
4.2.2.5.-
Configuración
Cada dispositivo PCI incluye un conjunto de registros de configuración que permiten identificar su tipo
(RAID, vídeo, Ethernet, etc...), y fabricante. Además, otros registros de configuración permiten la
asignación de recursos: direcciones E/S, direcciones de memoria e interrupciones que se necesitan para la
comunicación con el sistema.
1º BIOS
Durante el arranque, las rutinas PCI/PnP del BIOS asignan
los recursos a los dispositivos y guardan esta información
dentro de la CMOS-RAM (ocupando memoria superior: E000EDFF) en una parte que se denomina ESCD (Extended
System Configuration Data). Esto permite que la
información permanezca hasta el próximo arranque. (Salvo
que se active la opción “Clear ESCD” desde el BIOS-Setup).
Figura 11: Recursos del sistema usados por una tarjeta de red
Para acceder a las rutinas PCI del BIOS se utiliza la interrupción software INT 1AH. Antes debe escribirse el
valor 1BH en la parte alta del acumulador, y el número de función en la parte baja del acumulador.
2º Sistema operativo
Después de que las rutinas PCI del BIOS han inicializado los dispositivos, el control pasa al sistema
operativo. Aquí es donde el sistema operativo comienza a cargar los drivers. El driver llama a las rutinas
Tema 4: Placa base
versión 7.0
12/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
BIOS PCI para obtener información sobre los recursos que "su" hardware utiliza. Para ello usa la
identificación del dispositivo (ID) y el nº de fabricante (p. ej. 8086 = Intel). Durante la carga de drivers, el
bus PCI permanece bajo el control del sistema operativo, pero una vez finalizada el control vuelve al BIOS.
Figura 12: Asignación de dispositivos PCI incluidos en el puente sur de Intel 82801 ICH3.
Windows 9x puede acceder directamente a los registros de configuración de los dispositivos y además
puede acceder al ESCD. Esto le permite modificar las asignaciones de recursos de cada dispositivo. Sin
embargo desde Windows NT nunca se usa el ESCD. El sistema operativo utiliza llamadas directas a los
registros de configuración de los dispositivos.
Figura 13: Observar
como puede elegirse si
el proceso será
automático o manual y
además puede borrarse
el ESCD desde el BIOS
Setup ante un eventual
conflicto surgido por la
instalación de una
nueva tarjeta.
Figura 14:
Ejemplo de
configuración
desde el BIOS
setup.
Tema 4: Placa base
versión 7.0
13/27
Ignacio Moreno Velasco
4.2.2.6.-
Apuntes Mantenimiento de Equipos Informáticos
Interrupciones hardware
Cada ranura PCI cuenta con 4 lineas ( INTA#, INTB#, INTC#,
INTD#) para solicitar interrupción al controlador PCI. Las
tarjetas insertadas pueden utilizar una linea para cada función
que implementen. Una tarjeta que únicamente implementa
una función (P. Ej. tarjeta de red) utilizará solamente la linea
INTA#. Sin embargo, una tarjeta PCI que incorpore interfaz de
red y modem utilizaría INTA#, INTB#.
Figura 15: Pines de petición de interrupción de
un dispositivo PCI
P. ej. La tarjeta de red Kingston KNE30BT especifica:
I/O Base Address: 0000h-FFFFh (set by BIOS PCI).
Interrupt (IRQ) Levels: INTA (set by BIOS PCI).
El controlador PCI cuenta con varias líneas (PIRQA#, PIRQB#, PIRQC#, PIRQD#, etc.) que se conectan a las
de las ranuras y dispositivos PCI integrados: INTA#, INTB#, INTC#, INTD#.
Reconocimiento de la interrupción
El reconocimiento de interrupción es una orden de lectura proporcionada por el dispositivo que actúa
como controlador de interrupciones en el bus PCI. Las líneas de direcciones no se utilizan en la fase de
direccionamiento, y las líneas BE# indican el tamaño del indentificador de interrupción a devolver.
 Fase de direccionamiento:


Las líneas C/BE# contienen 0000  Interrupt Acknowledge. (véase Tabla 1)
Las líneas de direcciones no se usan en esta fase
 Fase de datos:


Se transfiere el vector de interrupción a la CPU.
Este vector apuntará al código encargado de gestionar las necesidades del dispositivo que ha solicitado
la interrupción, es decir, el llamado driver del dispositivo.
Tema 4: Placa base
versión 7.0
14/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Compatibilidad
De la compatibilidad con las interrupciones estándar (IRQs) se encarga el enrutador de interrupciones
que forma parte del controlador PCI que enruta las INTn# hacia las IRQs:
Figura 16: PCI Interrupt Table. Placas base Asrock de la serie K7S8X con 6 ranuras PCI.
 Los dispositivos pueden utilizar las lineas INTx# de las ranuras PCI que son redirigidas a las IRQs
por el enrutador según una tabla que reside en la BIOS PCI.

Los dispositivos PCI pueden entonces usar su linea INTx# para generar la IRQ y mantener así la
compatibilidad con el software antiguo.
 Hasta hace poco era muy común el llamado puente PCI-ISA (PCI to ISA bridge) que formaba parte
del puente sur desde la aparición del bus PCI (P. Ej. Incorporado en el PIIX4 de los chipsets
430TX, 440LX y 440BX). Como su nombre indica tiene como propósito mapear los viejos
dispositivos ISA en el bus PCI, permitiendo su coexistencia.
Supongamos que tenemos una aplicación MS-DOS diseñada para una tarjeta de sonido ISA antigua.
Deseamos que dicha aplicación funcione sobre una tarjeta PCI. Ese viejo software usará un driver MS-DOS
que accede al hardware mediante una IRQ y puertos E/S. Cuando la tarjeta PCI requiera servicio activará su
linea INTx#. Mediante la tabla de la BIOS PCI se enrutará dicha petición generando la IRQ que el driver
espera. Esto hará que la CPU busque el vector de interrupción correspondiente a esa IRQ y se ejecute el
driver MS-DOS.
 La BIOS puede asignar más de una IRQ al mismo dispositivo.
 Además dos dispositivos pueden compartir la misma IRQ. Este aparente conflicto lo resuelve el
sistema operativo, que cuando activa una interrupción, llama de forma encadenada a cada
gestor de interrupción hasta que uno de ellos reclama dicha interrupción.
Tema 4: Placa base
versión 7.0
15/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Figura 17: En la
imagen podemos
observar como en
un sistema la
interrupción 9 es
compartida por
todos los
dispositivos PCI
además de un
dispositivo ISA.
4.2.2.7.-
Extensiones de la revisión 2.1
Extensión a 64 bits
Utiliza un conector extendido compatible con
tarjetas de 32 bits.
Dobla el ancho de banda teórico, lo que permite
soportar mejor tecnologías como Gigabit Ethernet y
Fibre Channel.
Extensión a 66 Mhz
Motivos de carga eléctrica y restricciones en la
temporización impiden soportar más de dos
dispositivos. Para solucionar este problema se suele
utilizar la arquitectura peer bus vista
Figura 18: Tarjetas y ranuras PCI de 32 bits y 64 bits
anteriormente.
Pueden conectarse dispositivos de 33 MHz en un bus de 66 MHz. Hay que tener en cuenta que el bus
trabajará tan rápido como el más lento de los dispositivos conectados.
Este bus resulta ideal para interconexiones de sistemas que formen un cluster donde es crítica la baja
latencia de las señales de control y datos entre los servidores del cluster.
Velocidad transferencia
Frequencia Bus
32-Bit
64-Bit
33 MHz
127 MiB/seg
254 MiB/seg
66 MHz
254 MiB/seg
508 MiB/seg
Direccionamiento de 64 bits.
La especificación 2.1 de PCI define la capacidad de direccionar mas de 4 GB (32 bits  232 = 4 GB) de
memoria del sistema mediante el uso de 64 bits de direcciones. Este direccionamiento es posible en
Tema 4: Placa base
versión 7.0
16/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
dispositivos de 32 bits, pero necesitan que la fase de direccionamiento dure dos ciclos de bus, mientras
que los dispositivos de 64 bits lo hacen en uno.
4.2.2.8.-
PCI-X
Ante la creciente demanda de ancho de banda de servidores y estaciones de trabajo, se desarrolló esta
mejora del bus PCI. Se destacan a continuación algunas características:
 Mejoras en el protocolo que permiten un uso más eficiente del bus.
 Compatibilidad con PCI convencional a nivel de sistema, controlador de dispositivo y ranuras. Si
insertamos una tarjeta PCI-X en una ranura PCI, el dispositivo queda limitado a las velocidades
de PCI.
 Capacidad de inserción/sustitución en caliente: Hot-plug
Revisión 1.0:
 PCI-X 66: 64 Bits @ 66 MHz,
 PCI-X 133: 64 Bits @ 133 MHz,
Revisión 2.0
 PCI-X 266: Utiliza doble transferencia de datos (Double Data Rate), por lo que la frecuencia
efectiva es de 266 MT/s
 PCI-X 533: Cuádruple transferencia de datos (Quad Data Rate), por lo que la frecuencia efectiva
es de 533 MT/s.
Figura 19:
Ejemplo de
arquitectura
basada en PCI-X.
Tema 4: Placa base
versión 7.0
17/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Figura 20:
Ejemplo de
arquitectura
basada en PCI-X.
Todas estas mejoras tienen un coste, pues al aumentar el número de patillas-pistas y la frecuencia se
elevan las exigencias de diseño PCB.
4.2.2.9.-
PCI Hot-Plug
Figura 21: Obsérvese en la figura la arquitectura hardware y software de un sistema PCI Hot Plug
Permite la inserción/sustitución en caliente de tarjetas en el bus PCI, eliminando los tiempos muertos tan
importantes en servidores (i.e. disponibilidad).
La especificación PCI hot-plug en su revisión 1.0, define interfaces software y hardware para tarjetas PCI,
pero no define como deben ser implementados por los fabricantes.
Permite la coexistencia con tarjetas PCI que no soporten Hot-Plug.
Cuando falle una tarjeta, se desactiva su ranura PCI, se sustituiye dicha tarjeta y se vuelve a activar.
Tema 4: Placa base
versión 7.0
18/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Elementos implicados
 Placa base:



El controlador PCI debe soportar Hot-plug para controlar individualmente las señales de cada ranura PCI.
Modificaciones para evitar riesgos eléctricos en las ranuras PCI activas.
Facilidad para el acceso a las ranuras.
 Tarjetas y driver del dispositivo:

Lógicamente las tarjetas y sus drivers deben estar diseñados para soportar esta tecnología.
 Sistema operativo:

Cada sist. op. debe definir capas de interfaz entre el hardware y el núcleo del sistema operativo.
Por ejemplo, un servidor PC con tecnología PCI hot-plug puede utilizar dos tarjetas de red, una de ellas
redundante. Al fallar la tarjeta principal, la de reserva se activará automáticamente. Puede reemplazarse la
tarjeta averiada sin necesidad de apagar el sistema, eliminándose los tiempos muertos.
Versiones
La especificación, según las características que se implementen, contempla varios tipos de hot-plug:
 Hot plug PCI replacement: Sustituir un dispositivo que falla por otro idéntico.
 Hot plug PCI upgrade: Sustituir dispositivos y controladores por nuevas versiones.
 Hot plug PCI Expansion: Instalar tarjetas adicionales y drivers.
Ejemplo: El servidor Intel® Server Platform SR4850HW4 describe entre sus características 7 ranuras PCI:
• 1 PCI Express* x8 (hot-plug)
• 3 PCI Express x4 (hot-plug)
• 1 PCI-X 133MHz (hot-plug)
• 2 PCI-X 100MHz (non-hot-plug)
Ejemplo: sistema con 2 puentes PCI-X y ranuras Hot-plug
Figura 22: Ejemplo de sistema PCI-X Hot-plug  Fuente: Preliminary AMD-8131TM HyperTransportTM PCI-X Tunnel Data Sheet
Tema 4: Placa base
versión 7.0
19/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
4.2.3.- PCI EXPRESS
Las revisiones del bus PCI (PCI 2.3, PCI-X) aumentan el rendimiento a costa de elevar el número de
señales y las restricciones en cuanto a la integridad de señal lo que eleva los costes (patillas, pistas,
zócalos). Por todo ello se ha ido fraguando una tecnología sustitutiva basada en la transmisión diferencial
en serie: PCI Express.
4.2.3.1.-
Características de transmisión
Transmisión diferencial
Al igual que otros buses del ordenador que han evolucionado a la transmisión serie (USB, Serial ATA)
utiliza la técnica LVDS (Low Voltage Differential Signaling).
Transmisión síncrona
La señal de reloj está mezclada con la propia información. Para ello, usa una codificación 8b/10b que
transmiste 10 bits por cada 8 de información, por lo que genera una sobrecarga del 20 %.
Figura 23: Codificación 8b/10b usada en las versions 1.0 y 2.0 de PCI Express
Transmisión bidireccional
Un enlace (link) elemental está compuesta de 1 vía (lane), dos hilos de ida y dos de vuelta que transmiten
simultáneamente (conexión full-duplex).
Figura 24: Enlace simple (x1) de PCI Express
Tema 4: Placa base
versión 7.0
20/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Enlace múltiple
PCI Express puede utilizar varias vías (lanes) para el mismo enlace (link) dando lugar a configuraciones
llamadas x1, x2, x4, x8, x12, x16, x32. Las conexiones x16 y x32 permiten conectar dispositivos que
requieren grandes velocidades de transmisión como tarjetas gráficas.
Figura 25: Codificación 8b/10b usada en las versions 1.0 y 2.0 de PCI Express
Se pueden establecer múltiples canales virtuales en un enlace múltiple.
Cada vía puede transmitir hasta 2’5 Gbit/s (5 Gbits/s en la versión 2.0 y 8 Gbits/s en la 3.0).
Figura 26: Ranuras de
conexión para los
distintos tipos de
conexiones PCIExpress
Ejemplo: Velocidad de transferencia de una conexión PCI Express 2.0 x32
En una dirección se puede tranmistir:
5 Gbit/s x 32 vías x 2 sentidos = 320 Gbit/s = 40 GByte/s
Si contamos la transferencia en un único sentido:
160 Gbit/s = 20 GByte/s
 Propuesto 4.8: ¿Cuál será la velocidad de transferencia de datos teniendo en cuenta la sobrecarga que se produce
al añadir la señal de reloj?
 Ejemplo: ATI Radeon Xpress 200P North Bridge features 22 PCI Express lanes. Two of them are
assigned for the connection with the South Bridge, four of them are responsible for PCI Express x1 slots.
As a result there are 16 lanes left for the graphics interface, which can be used either by a single PCI
Express x16 graphics bus or by two PCI Express x8 graphics buses simultaneously.
 www.xbitlabs.com
Tema 4: Placa base
versión 7.0
21/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Para la transmisión, la información se divide en bytes que se reparten por las vías disponibles:
Figura 27: Un enlace (link) está compuesto de varias vías (lane). Los bytes se reparten entre las vías disponibles
 PROPUESTO 4.9: ¿Cuánto se tardará en transmitir esos 8 bytes?
Transmisión isócrona
Es posible reservar y garantizar un ancho de banda bajo demanda consiguiendo una transmisión en tiempo
real. A esto se le conoce como transferencia isócrona, pues se puede garantizar el tiempo que durará una
transmisión de datos (i.e. tiempo real). Esto es útil, por ejemplo, en la transmisión de vídeo en tiempo
real (sin cortes).
Figura 28: La
edición de vídeo,
por sus altos
requerimientos de
ancho de banda, es
una tarea que se
ve favorecida por
las características
del bus PCI
Express.
Distancia
La inclusión de la señal de reloj permite mayores distancias respecto a los buses paralelo cuya señal
discurre por una línea separada. En el diseño de este bus se ha marcado como objetivo permitir hasta 50
cm de distancia entre dispositivos con tecnología de placa de circuito impreso de 4 capas y conectores
estándard. Se podría aumentar la distancia usando componentes de mayor calidad.
Tema 4: Placa base
versión 7.0
22/27
Ignacio Moreno Velasco
4.2.3.2.-
Apuntes Mantenimiento de Equipos Informáticos
Evolución del PCI Express
Mientras versión 3.0 dobla la tasa de transferencia teórica respecto a la 2.0, la próxima versión 4.0 hace
lo propio con la versión 3.0 alcanzando las 16 GT/s.
Características PCI Express® 3.0:
 Dobla el tasa de transmisión respecto a PCIe 2.0

Data rate: 8 GT/s
 Optimiza consumo respecto a PCIe 2.0
 Codificación 128b/130b

Esta codificación permite que 8 GT/s ≈ 8 Gb/s
 Compatible con PCIe 1.x y 2.x
4.2.3.3.-
Mantenimiento
Conector
Figura 29: Descripción de los contactos del conector PCI-Expres x1  www.overclockers.com.au
Observar la presencia del SMBus, y de los contactos para Hotplug
Consumo energético
 Bajo consumo debido a las bajas tensiones de funcionamiento. (recordar que utiliza LVDS)
 Implementa funciones de ahorro de energía, incluyendo una línea WAKE#.
Tema 4: Placa base
versión 7.0
23/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Ahorro de costes
La transmisión serie ahorra muchas líneas y por tanto ahorra también:
 Patillas en los circuitos integrados
 Pistas en las placas de circuito impreso,
 Hilos en los cables permitiendo conectores más pequeños.
Conexión sustitución
 Conexión en caliente (hot-plug)
 Cambio en caliente (hot-swap)
Integridad de la señal
 Al disminuir el nº de pistas, facilita tomar medidas
contra las interferencias electromagnéticas (EMI):
 La conexión serie tiene menos problemas con la
propagación por la diferencia de longitud de las pistas.
 La señal diferencial disminuye los problemas con el
ruido eléctrico.
Figura 30: Como puede observarse
en la imagen, las pistas que
discurren en paralelo tienen
distinta longitud en cuanto cambian
de dirección.
Errores
Figura 31: El nivel de enlace añade la información CRC para asegurar la integridad de los datos.  Intel.
Toda esa información que se añade a los datos supone una sobrecarga, que añadida a la codificación
8b/10b o 128b/130b, reduce aún más la velocidad de transferencia de datos.
Compatibilidad con PCI
Aunque la incompatibilidad hardware es evidente, se mantiene una compatibilidad con PCI en las capas
software:
 Compatibilidad con el mecanismo de configuración del bus (bus enumeration) y los dispositivos:


Evita problemas con las rutinas de configuración PCI/PnP del BIOS y su espacio de configuración ESCD.
Permite abaratar los costes en la implementación de los controladores de dispositivo (drivers)
Tema 4: Placa base
versión 7.0
24/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Figura 32: Capas definidas en la arquitectura PCI Express.  Intel.
Interrupciones Hardware
El método nativo para las interrupciones hardware es mediante Mensajes (MSI = Message Signaled
Interrupt). Ya no se trata de activar una patilla o señal del bus, sino de realizar una escritura en una zona
reservada al efecto en la RAM.
Por compatibilidad con el modelo PCI, se emula el método tradicional de PCI las INTA# …INTD#
permitiendo que lo usen los drivers PCI (i.e. Sist. Op.). Para ello se encapsula la información de las
interrupciones INTx dentro de una transacción de mensajes de PCI-Express
Figura 33: Coexistencia de los métodos de solicitud de interrupción.  www.oohoo.org
Tema 4: Placa base
versión 7.0
25/27
Ignacio Moreno Velasco
4.2.3.4.-
Apuntes Mantenimiento de Equipos Informáticos
Topología de sistemas PCI-Express
Basada en conmutación (switching) que permite establecer canales virtuales de comunicación.
Figura 34:
Ejemplo de
topología de placa
base con PCI
Express. Observar
que en el sitio
ocupado
anteriormente por
el puente sur se
halla ahora un
switch.
Actualmente, este
switch está
integrado en el
puente sur.
 Intel.
En la Figura 35, podemos observar en detalle el switch de la Figura 34. Se observa como la compatibilidad
con PCI se consigue gracias a que el sistema “ve” puentes PCI-PCI, de ahí que se les adjetive como
virtuales:
Figura 35:
Diagrama de
bloques de un
switch PCI
Express.
 Intel.
Tema 4: Placa base
versión 7.0
26/27
Ignacio Moreno Velasco
Apuntes Mantenimiento de Equipos Informáticos
Ejemplos de aplicación:
Figura 36: Imagen de placa base
donde puede observarse en
primer término dos ranuras PCI.
Tras ellas dos PCI-Express x1 y
una PCI-Express x16
Figura 37: Chipset
con la estructura
habitual de puente
norte (MCH) y
puente sur (ICH)
basado en
arquitectura PCI
Express.  Intel
Figura 38: Chipset
de un solo circuito
integrado. El Root
coomplex se
encuentra en el
propio micro.
 Intel.
Tema 4: Placa base
versión 7.0
27/27
Descargar