Está en la página 1de 38

4 Buses e interfaces

Índice
1. Introducción
2. Conexión de periféricos al computador
3. Bus paralelo
1. Características
2. Protocolos
3. Arbitraje
4. Jerarquía
5. Ejemplos: PCI, AGP
4. Bus diferencial serie
1. PCIe
Bibliografía
• Departament d’Informàtica. Àrea d’Arquitectura i Tecnologia de Computadors. Estructura de Computadores
(Apuntes para los grados de Ingeniería Informática e Ingeniería Multimedia)
• Patterson, David A.; Hennessy, John L. Estructura y Diseño de Computadores. La Interfaz hardware/software.
4ta edición. Editorial Reverté. 2011.
• Martínez, Rafael J; Boluda, José A; Pérez Juan. J. Estructura de Computadores y Periféricos. Editorial RA-MA
2001.
• Budruk, R; Anderson, D; Shanley, T. PCI Express System Architecture. MindShare, Inc. Addison-Wesley Pub
Co. 2004.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 1
4.1 Introducción
• Los buses son las conexiones de comunicación a través de los
cuales se intercambia información (instrucciones y datos).
• Este intercambio de información se produce de forma continua
entre procesador, memoria, módulos de E/S, controladores de
DMA etc y se realiza mediante la transmisión de señales eléctricas
a través de cables o de pistas de un circuito impreso.
• Cada línea se transmite un nivel de tensión, que representa un ’1’
ó un ’0’ binario.
• Además de las características eléctricas y
físicas también se definen los protocolos
de comunicación y arbitraje.
• En todas las transferencias siempre existe
un elemento emisor, que envía información
a uno o varios elementos destino.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 2
4.2 Conexión de periféricos al
computador
• El bus es la interconexión entre los elementos del computador.
• El Bus que conecta la CPU con el puente norte (NB) se denomina
bus del procesador (Front-Side Bus o FSB). Hoy en día con
conexión punto a punto, como el QuickPath Interconnect de Intel.
• El bus que conecta la CPU con los otros elementos del
computador se conoce como bus local.
• Las conexiones entre diversas tarjetas procesadoras (p.ej. En un
multicomputador) se realizan a través de un bus más general
llamado bus del sistema.
• Algunos periféricos requieren un bus especializado que se adapte
a sus características. A estos buses se les llama bus de
entrada/salida o bus de expansión.
• El enlace exterior conecta los controladores de E/S con los
periféricos asociados.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 3
4.3 Bus paralelo
4.3.1 Modo de operación (1/4)
• El estándar del bus regula el modo de operación del bus que indica
la forma en la que se realiza una transferencia, incluyendo
protocolo, y temporización de las señales.
• Se distingue entre buses síncronos, donde todas las acciones se
realizan en función de la señal de reloj del bus, y asíncronos, que
utilizan señales de control.
• Dentro de los elementos conectados se pueden diferenciar los
maestros y los esclavos de bus:
• Un dispositivo maestro es aquel capaz de iniciar una transferencia
de datos en el bus. Es necesario un arbitraje, para evitar la
contención del bus entre varios maestros.
• Un esclavo sólo puede enviar datos como respuesta a una petición
de un maestro.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 4
4.3 Bus paralelo
4.3.1 Modo de operación (2/4). Protocolo de bus (1/3)
Transferencia Síncrona.
• Todos los eventos
tienen lugar en un
instante de tiempo
específico,
sincronizadas con una
señal de reloj incluida
entre las líneas de
control del bus.
• En el ejemplo se
realiza una lectura de
memoria simple en el
bus PCI.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 5
4.3 Bus paralelo
4.3.1 Modo de operación (3/4). Protocolo de bus (2/3)
Transferencia Asíncrona.
• La ocurrencia de un evento depende únicamente de un evento
anterior → no existe ninguna relación con el reloj del sistema.
• Para coordinar la transferencia es necesario un protocolo de
intercambio de información (handshake protocol) que consiste en
un conjunto de pasos donde sólo se llega a la siguiente etapa si el
emisor y el receptor están de acuerdo.
• Para implementar este
protocolo el bus dispone
de un conjunto de líneas
adicionales y no utiliza
la señal de reloj.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 6


4.3 Bus paralelo
4.3.1 Modo de operación (4/4). Protocolo de bus (3/3)
Transferencia en Modo Ráfaga.
• Se caracterizan porque se realiza la transferencia de más de una
palabra (un bloque), especificando solamente la dirección de
comienzo, ya que las demás posiciones son consecutivas.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 7


4.3 Bus paralelo
4.3.2 Arbitraje del bus
• Sirve para evitar la contención de bus. Éste puede ser:
o Priorización de peticiones: El maestro de prioridad más alta será el
próximo dueño del bus.
o Juego limpio (fairness): Cualquier dispositivo que quiera usar el bus
tiene garantizado que tarde o temprano lo podrá usar.
• Algunos tipos:
o Arbitraje daisy-chain.

o Arbitraje centralizado-paralelo.
(en la imagen con líneas independientes)

o Arbitraje distribuido por autoselección.


o Arbitraje distribuido por detección de colisión.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 8
4.3 Bus paralelo
4.3.3 Ejemplos: PCI, AGP
PCI principales características:
• Bus síncrono a 33MHz.
• 32 o 64 bits de datos → 133 MB/s o 266 MB/s.
• Bus de datos y direcciones multiplexado.
• El puente incorpora lectura adelantada (read prefetching) y
almacenamiento de escrituras (write posting) → modo ráfaga
(burst mode) es el modo básico de transferencia.
• Arbitraje centralizado, separado para cada acceso, con líneas
independientes y oculto.
• Configuración mediante software y registros.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 9
4.3 Bus paralelo
4.3.3 Ejemplos: PCI, AGP
PCI presenta problemas :
• Bus multiplexado (AD y C/BE): Reduce el
número de líneas pero aumenta el tiempo
en las transacciones.
• Reglas de latencia: El iniciador y el destino
pueden retrasar las transferencias →
desaprovechamiento del bus.
• Desconexiones y reintentos: Pueden
forzarse por el destino.
• El ancho de banda PCI (133 MB/s) limita
las capacidades gráficas.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 10
4.3 Bus paralelo
4.3.3 Ejemplos: PCI, AGP
 AGP es un puerto especializado para la conexión de dispositivos
gráficos no un bus de propósito general.
• Las mejoras respecto a la conexión vía PCI son significativas:
 Se aumenta el ancho de banda de 133 MB/s a 1 GB/s.
 AGP separa la fase de direccionamiento de la fase de
transacción de datos, con lo que se evitan latencias innecesarias.
 AGP puede utilizar señales separadas para encauzar peticiones y
para transmitir datos, con lo que se supera la multiplexación del
bus PCI.
 AGP supera la política de ciclos de espera y reintentos PCI.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 11


4.3 Bus paralelo
4.3.3 Ejemplos: PCI, AGP
Ejemplo transferencia
4x AGP (lectura
de datos)

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 12


4.3 Bus paralelo
• El alto número de pines de la interfaz AGP incrementa él
coste de las tarjetas madres (conectores, trazado,
encapsulados, verificación, etc) → costes justificados sólo
en servidores.
• AGP continua sin incorporar el concepto de transferencias
isócronas ni de latencia garantizada, lo cual dificulta la
implementación de sistemas de audio y video en tiempo
real (streaming audio and video)
• El incremento de frecuencias y transacciones por ciclo
disminuye la longitud del bus y reduce el nº de conectores.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 13


4.4 Bus serie diferencial
PCI Express. Introducción
• PCIe 1.x (2004) 250 MB/s por sentido de lane (x16 → 8 GB/s, 4 GB/s
por sentido)
• PCIe 2.0 (2007) 500 MB/s
por sentido de lane. (x16 →
16 GB/s, 8 GB/s por
sentido)
• PCIe 3.0 (2010) 1 GB/s por
sentido de lane. (x16 → 32
GB/s, 16 GB/s por sentido)
• PCIe 4.0 (2017) 2 GB/s por
sentido de lane. (x16 → 64
GB/s, 32 GB/s por sentido)

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 14


4.4 Bus serie diferencial

PCI Express. Evolución del ancho de banda de PCI

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 15


4.4 Bus serie diferencial
PCI Express. La capa física
• La capa física consiste en un simple enlace serie implementado con dos
pares de señales diferenciales, un par emisor y otro receptor. Ambos
pares de conductores forman un lane.
• PCIe emplea drivers con señales diferenciales. Un voltaje positivo entre
D+ y D- es un 1 lógico. Un voltaje negativo es un 0 lógico. Si no hay
diferencia de voltaje, se considera que está en idle.
• Incorpora un codificación serie 8b/10b que incluye el reloj → se elimina el
efecto desfase (skew) de los buses paralelos.
• Velocidad de 2.5 Gb/s sentido → 250 MB nominales por sentido.
• Escalabilidad añadiendo lanes: x1, x2, x4, x8, x12, x16 y x32 → aumento
de la tasa de transferencia linealmente, en función de las necesidades.
• Velocidad dependiente únicamente de la capa física! Incorporación de
futuras tecnologías de transmisión sin cambiar el resto de capas.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 16
4.4 Bus serie diferencial
PCI Express. Protocolos y transacciones
• Protocolos basados en paquetes: Al contrario que PCI y AGP, con
protocolos basados en ciclos de bus, los protocolos de PCIe se
basan en el intercambio de paquetes a través de los diferentes
lanes del enlace.
• Modelo de transacciones posted (paquetes enviados
unidireccionalmente desde el requester al completer sin esperar
respuesta, ej. escritura en memoria) y non-posted (comunicación
bidireccional, ej. lectura desde memoria).

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 17


4.4 Bus serie diferencial
PCI Express. Calidad de servicio
• Quality of Service (QoS): la QoS en PCIe hace referencia a la capacidad
de encaminar los paquetes de diferentes aplicaciones con prioridades
diferentes y ancho de banda y latencias fijadas. Esto es especialmente
útil en aplicaciones isócronas (vídeo en tiempo real…)

• Los paquetes en PCIe tienen un número entre 0 y 7 que indica su Clase


de Tráfico (Traffic Class o TC), asignado por la aplicación o el driver.
Paquetes con diferente TC se mueven a través de los diversos niveles
con diferente prioridad.
TC0 tiene la prioridad más alta

• Estos paquetes son encaminados utilizando Canales Virtuales (Virtual


Channels o VC). Cada TC está mapeado individualmente a un VC. Un
VC puede tener varios TC pero un TC no puede estar mapeado a varios
VC. TC0 está cableado a VC0. Muchas transacciones
usan TC0/VC0 exclusivamente: config, I/O, error...
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 18
4.4 Bus serie diferencial
PCI Express. Otras Características básicas
• Tratamiento de errores en la transferencia de datos: Campos de CRCs
incrustados en cada paquete transmitido. Protocolos, sin intervención del
software, para reenvío de paquetes en caso de error. Registros de error,
mecanismos de informe y aislamiento de fallos → Arquitectura RAS
(Reliable Available Serviceable)
• Control de flujo: Un paquete transmitido por un dispositivo se almacena en
el buffer del VC correspondiente del receptor. Éste actualiza
constantemente al dispositivo emisor con información respecto al espacio
libre en sus buffers. El dispositivo transmisor sólo envía un paquete si
sabe que hay espacio en el buffer del receptor.
• Configuración 100% compatible con PCI o configuración específica PCIe
con más espacio (hasta 4K Bytes desde los 256 Bytes originales).
• Inserción y desconexión en caliente, diversidad de conectores.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 19


4.4 Bus serie diferencial
PCI Express. Algunos conceptos y terminología (1/3)
Complejo raíz (root complex): es el dispositivo que conecta la CPU y
el subsistema de memoria al sistema PCIe. Éste tiene uno o más
puertos PCIe. El complejo raíz genera peticiones de transacciones
en nombre de la CPU. Éste trasmite paquetes a través de sus
puertos de salida o los recibe en
sus puertos y los reenvía a la
memoria. Un complejo raíz
multipuerto puede también
encaminar los paquetes desde
un puerto a otro, pero no es un
requisito de la especificación.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 20


4.4 Bus serie diferencial
PCI Express. Algunos conceptos y terminología (2/3)
Jerarquía PCIe (PCIe hierarchy): es la suma de todos los dispositivos
asociados con un complejo raíz que están directamente conectados
(vía puertos), o indirectamente conectados (vía conmutadores y
puentes). La figura anterior forma una única jerarquía.
Dominio jerárquico (Hierarchy domain): es la suma de todos los
dispositivos asociados con un puerto del complejo raíz. En la figura
anterior hay tres dominios jerárquicos.
Punto final (Endpoint): son los dispositivos (excepto conmutadores y
complejo raíz) que pueden ser requesters (iniciadores de
transacciones PCIe) o completers (que responden a las transacciones
PCIe). Existen dos tipos de puntos finales, los exclusivamente PCIe y
los Legacy Endpoints, compatibles con PCI.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 21
4.4 Bus serie diferencial
PCI Express. Algunos conceptos y terminología (3/3)
Puntos finales multifunción (Multi-Function Endpoints): Al igual que
en PCI, PCIe puede soportar hasta 8 funciones por dispositivo, con
al menos uno con número de función 0.
Un Conmutador (Switch) está formado por dos o más puentes PCI-
PCI, estando cada puente asociado con un puerto de conmutación.
Cada puente es detectado e inicializado por el software de
configuración tras el arranque. Los conmutadores implementan el
arbitraje de puerto y de VC para determinar el orden de envío de
paquetes de los puertos de entrada a los de salida.
Un Puerto es la interfase entre un componente PCIe y un enlace.
Éstos pueden ser Upstream-ports y Downstream-ports, en función de
si apuntan al complejo raíz o en sentido contrario.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 22
4.4 Bus serie diferencial
PCI Express. Vista general
Lógica del Lógica del
• La especificación PCIe define una dispositivo dispositivo
arquitectura de 3 capas: Transacción, Enlace
de datos y Física. Las 3 capas pueden a su
vez dividirse verticalmente en dos: una parte Interface con la Interface con la
lógica PCIe lógica PCIe
que procesa el tráfico de salida y otra que
TX RX TX RX
procesa el de entrada.
Capa de transacción Capa de transacción
• Los paquetes TLP se forman en la capa de
transacción con la información obtenida por el Capa de enlace de datos Capa de enlace de datos

dispositivo y se almacenan en los buffers de


Capa física Capa física
ésta esperando a ser transmitido a capas
inferiores. La capa de enlace de datos
concatena información adicional requerida
para detección de errores. La capa física
codifica el paquete y lo transmite.
• El paquete llega al dispositivo receptor
siguiendo el proceso inverso. Enlace

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 23


4.4 Bus serie diferencial
PCI Express. Categorías de paquetes (1/3)
• Hay 3 categorías de paquetes, cada una asociada a una de las 3 capas de
la especificación PCIe: los paquetes TLP, los DLLP (Data Link Layer Packet)
y los PLP (Physical Layer Packet)
• Paquetes TLP: La capa software envía a la capa de transacción el núcleo
de la información del TLP (cabecera y datos). Opcionalmente se concatena
un End-to-end CRC (ECRC). La capa de enlace de datos y la capa física
añaden información adicional.

Start Sequence Header Data ECRC LCRC End


Number

Creado por la capa de transacción

Añadido por la capa de enlace


Añadido por la capa física

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 24


4.4 Bus serie diferencial
PCI Express. Categorías de paquetes (2/3)
• Paquetes DLLP: Se utilizan para funciones de gestión del enlace,
incluyendo reconocimiento de TLPs asociados con el protocolo ACK/NAK,
manejo de potencia y intercambio de información de control de flujo. Los
DLLPs no atraviesan los conmutadores (no contienen información de
encaminamiento) y son más pequeños que los TLPs: 8 bytes de tamaño.
• La capa de enlace de datos incorpora el tipo de DLLP y un CRC de 16 bits.
La capa física encadena un byte al inicio y otro al final del paquete, codifica la
información y la transmite diferencialmente.

Start DLLP CRC End

Añadido por la capa de enlace

Añadido por la capa física


Estructura de Computadores. Departament d’Informàtica. Universitat de València. 25
4.4 Bus serie diferencial
PCI Express. Categorías de paquetes (3/3)
• Paquetes PLP: Se inician y finalizan en la capa física de un dispositivo
emisor y otro receptor. Son paquetes muy sencillos que se utilizan en
entrenamiento del enlace, compensación de la tolerancia del reloj,
suspensión del enlace o reinicio de éste. No contiene información de
encaminamiento con lo que no atraviesa los conmutadores.
• El PLP tiene un tamaño múltiplo de 4 bytes, iniciado con 1 byte COM y
seguido de 3 caracteres o más que indican el tipo de PLP. La capa física
además codifica la información y la transmite diferencialmente. El proceso de
recepción es análogo pero a la inversa.

COM Identifier Identifier Identifier

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 26


4.4 Bus serie diferencial
PCI Express. Tipos de transacciones: 8 tipos clasificables
en 4 grupos
Tipo de Transacción Posted o Non-
Posted
Memory Read Non-Posted
Memory Write Posted
Memory Read Lock Non-Posted
Compatible con
IO Read Non-Posted PCI y PCI-X
IO Write Non-Posted
Configuration Read Non-Posted
Configuration Write Non-Posted
Exclusivo
Message Posted de PCIe

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 27


4.4 Bus serie diferencial
PCI Express. Tipos de paquetes TLP Nombre abreviado
Memory Read Request MRd
Paquetes de la capa Memory Read Request – Locked access MRdLK
de transacción Memory Write Request MWr

Los TLPs (Transaction IO Read IORd


IO Write IOWr
Layer Packets) son los
Configuration Read (Type 0 and 1) CfgRd0, CfgRd1
paquetes que
Configuration Write (Type 0 and 1) CfgWd0, CfgWd1
intercambian los
Message Request without Data Msg
dispositivos (a nivel de
Message Request with Data MsgD
capa de transacción).
Completion without Data Cpl
Completion with Data CplD
Completion without Data – associated CplLk
with MRdLK
Completion with Data – associated with CplDLk
MRdLK

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 28


4.4 Bus serie diferencial
PCI Express. Ejemplo: Transacciones de lectura non-
posted
La figura muestra el intercambio de paquetes entre un requester y un
completer para completar una transferencia de lectura non-posted.
El requester envía
MRd, IORd,
un paquete de CfgRd0, CfgRd1
lectura: MRd, IORd,
CfgRd0, CfgRd1 Requester Completer
El completer envía
un paquete con los CplD o Cpl
datos solicitados:
CplD o Cpl si ha
habido algún error.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 29
4.4 Bus serie diferencial
PCI Express. Ejemplo: Transacciones de escritura a
memoria posted
La figura muestra el envío de paquete entre un requester y un
completer para completar una transferencia de escritura posted.

El requester envía MWr

un paquete de
escritura a
Requester Completer
memoria: MWr
El completer no
envía ningún
paquete.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 30


4.4 Bus serie diferencial
PCI Express. Ejemplo de acceso a I/O de un Endpoint desde la CPU
• El root complex, en nombre de la CPU. Procesador Procesador
origina una lectura a memoria de un punto
final enviando un paquete que contiene FSB
(entre otros): tipo de TLP, ID del requester y DDR
longitud de la transferencia (en dobles DRAM
palabras). El conmutador A (3 puertos)
recibe la petición en su puerto upstream . El Root Complex
conmutador decodifica la dirección del IORd CplD
paquete IORd y lo envía al puerto
downstream correcto. El conmutador B hace IORd
Switch A
lo mismo enviándolo al puerto donde está el Switch C
punto final destino de la transferencia. CplD

• El completer decodifica el paquete y envía Endpoint Endpoint Endpoint


los datos en un paquete CplD. La cabecera Switch B
CplD
de este paquete contiene el ID del requester IORd
(copiado del TLP original).
Endpoint Endpoint

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 31


4.4 Bus serie diferencial
PCI Express. Ejemplo de lectura de memoria principal desde un Endpoint
• El Endpoint origina una lectura a memoria Procesador Procesador
enviando un paquete que contiene: tipo de
TLP, ID del requester , dirección FSB
referenciada y longitud de la transferencia DDR
(en dobles palabras). El conmutador B (3 SDRAM
puertos) recibe la petición en su puerto Root Complex
downstream . El conmutador decodifica la
dirección del paquete MRd y lo envía al
puerto upstream. El conmutador A hace lo CplD MRd

mismo enviando el paquete al complejo raíz.


Switch A Switch C
• El root complex decodifica el paquete y
obtiene los datos de memoria. Con esta CplD
MRd
información construye un paquete CplD Endpoint Endpoint Endpoint
donde la cabecera contiene el ID del Switch B

requester (copiado del TLP original).


CplD MRd
Endpoint Endpoint

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 32


4.4 Bus serie diferencial
PCI Express. Capa software
Detalles de las capas

Capa software
Capa de transacción
• Se trata del complejo raíz o cualquier
dispositivo fuente/sumidero de datos.
• La parte de transmisión suministra la
información necesaria para componer el
TLP en la capa transacción: Tipo de TLP,
dirección, cantidad de datos,
Capa clasedededatos
de enlace
tráfico (TC), índice de mensaje, etc.
• El dispositivo es también responsable
de recibir la información enviada por la
capa de transacción: Tipo de TLP,
dirección cantidad de datos, índice de
mensaje, condición de error, etc.
Capa física

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 33


Link
4.4 Bus serie diferencial
PCI Express.
Detalles de las capas
Capa de transacción
• Es responsable de la generación de
tráfico saliente de TLPs y recepción del
tráfico entrante de TLPs. Implementa las
transacciones partidas non-posted.
• En esta capa están los buffers de los VC
para almacenar TLPs salientes y
entrantes. La parte de control
Capa de flujo
de enlace se
de datos
asegura que un emisor remoto no llenará
estos VCs. Análogamente esta capa
ordena la transmisión de los TLPs. En
esta capa se soporta la QoS.
• La parte de emisión monta la cabecera
de los TLPs (3 o 4 DWs), dirección (32-bit
Capa física
o 64-bit), tamaño de la transferencia (1 a
1024 DWs) y 32 bits opcionales de
ECRC.
• La parte de recepción recibe los
paquetes en los VCs y chequea los
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 34
posibles errores en los ECRC.
4.4 Bus serie diferencial
PCI Express.
Detalles de las capas
Capa de enlace de datos
• La función básica de esta capa consiste
en asegurar la integridad de los datos
emitidos y recibidos. Si un dispositivo
emisor envía un TLP a otro dispositivo y
el receptor detecta un error entonces el
emisor es notificado con un NAK DLLP.
De esta manera el emisor
Capa el
automáticamente repite deenvío.
enlaceCon
de datos
esta intención se guarda una copia del
último TLP enviado en el TLP Replay
Buffer. Si no hay error, se retorna un ACK
DLLP con un identificador de secuencia
como respuesta y se borra el contenido
del TLP Replay Buffer. De esta manera se
asegura la correcta recepción deCapa
los física
paquetes

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 35


Link
4.4 Bus serie diferencial
PCI Express. Capa de enlace de datos: Protocolo ACK-NAK para
transacciones non-posted

1a. Requester envía la petición de lectura (MRd).


1b. Si no hay error el conmutador (capa de enlace de datos) envía un ACK DLLP. Y el
requester borra su replay buffer.
2a. El conmutador envía el TLP al completer.
2b. Si no hay error se devuelve un ACK DLLP.
3a. El completer verifica el ECRC (capa de transacción) y devuelve un CplD con datos. El
conmutador chequea los datos LCRC.
3b. Si no hay error devuelve un ACK DLLP.
4a. El conmutador envía el CplD al requester.
4b. Si no hay error se devuelve un ACK DLLP.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 36
4.4 Bus serie diferencial
PCI Express. Capa de enlace de datos: Protocolo ACK-NAK para
transacciones posted

1a. Requester envía la petición de escritura (MWr).


1b. Si no hay error el conmutador (capa de enlace de datos) envía un ACK DLLP. Y el
requester borra su replay buffer.
2a. El conmutador envía el TLP al completer.
2b. Si no hay error se devuelve un ACK DLLP.

Estructura de Computadores. Departament d’Informàtica. Universitat de València. 37


4.4 Bus serie diferencial
PCI Express.
Detalles de las capas

Capa física
• Está dividida en dos partes: la parte de
la lógica de la capa física y la parte
eléctrica. Capa de enlace de datos
• La parte de lógica añade los bytes de
inicio, fin y codifica el paquete en formato
8b/10b, que asegura un número suficiente
de transiciones para recuperar el reloj.
Posteriormente se envía la información en
serie a la etapa a 2.5 Gbits/s.
Capa física
• La parte eléctrica es la parte analógica
de la capa física y está formada por
drivers diferenciales que generan las
señales.
Estructura de Computadores. Departament d’Informàtica. Universitat de València. 38
Link

También podría gustarte