Parte 3 Flashcards
(51 cards)
Que transacciones comprende la capa de TLP?
IO read/write Configuration r/w Completion Messages AtomicOp
Que paquetes comprende la capa de enlace DLLP?
Power management
Link flow control
Vendor-specific
Menciona las 3 ventajas de un protocolo basado en paquetes (packet-based protocol)?
- El formato del paquete es bien definido
- Los símbolos del granado definen los límites (inicio/fin)
- Con el CRC se protege el paquete completo
Que significa que el formato del paquete está bien definido?
Para facilitar el chequeo de errores como de paridad se debe conocer el tamaño y formato en el header.
Y se incluye información de los TLPs como los símbolos de tramas, CRC y número de secuencia del paquete.
Los símbolos de la trama definen los límites del paquete de que manera?
En generaciones PCI gen1 y gen2 la codificación es 8b/10b por lo que los TLPs y DLLPs tienen símbolos de control que definen un START y END del paquete.
En gen 3 + donde la codificación es 128/130b no se utilizan más estos símbolos de control.
Cuál es la ventaja de implementar CRC para proteger el paquete?
Al detectar un error en el receptor el paquete se puede reenviar ya que se guarda una copia en el Retry Buffer hasta que se ha recibido un acknowledged por parte del receptor.
En el lado del transmisor como es que se ensambla un TLP?
- Target address (routing information)
- Source information (requester ID, tag)
- Transaction type / packet type
- Data payload size
- Traffic class (priority)
- Attributes of the request (no-snoop, Relaxed ordering, etc)
- Pasa al Retry buffer
- Se integra el STP
Cuál es la función del Retry Buffer?
Almacena una copia del paquete hasta que el receptor emite un Ack
Qué es el campo STP?
En gen 1 y gen 2 se es necesario indicar un inicio y un final, en gen 3 el STP (Start TLP) es un token que contiene la información del tamaño del paquete se inserta al comienzo de la trama y por tal motivo ya no es necesario los símbolos de start/stop.
Como se efectúa el desamblado de un paquete en el receptor?
Se hace lo opuesto al assembly.
La capa física deserealiza, decodifica y une los stripped bytes, los caracteres del STP de control se consumen en esta capa.
El DLL calcula el CRC si coincide con el del TLP recibido revisa el sequence number si no hay errores se remueve la sección retorna un Ack DLLP y avanza el TLP.
Finalmente en la capa de transacciones el TLP es decodificado y la información llega al core del device.
Que ocurre si se retorna un not acknowledge? Nack
Del Retry buffer se reenvía el paquete
Según la estructura del TLP de que longitud es el header?
Puede ser de 3DW o 4DW
12 o 16 bytes
Según la estructura del TLP de que longitud es el dato? Payload
Es opcional puede ser de hasta 1024 DW que lo especifica el Byte Enable o byte-aligned con las direcciones de inicio y fin.
Cuál es el tamaño del campo Digest / ECRC.?
Es opcional cuando existe y es de 1 DW
Menciona los códigos para el campo Format?
000 3DW no-data
001 4DW no-data
010 3DW with data
011 4DW with data
Que significan las siglas ECRC?
End-to-end Cíclic redundancy check
Como se origina el ECRC de los TLPs?
Los dispositivos calculan el ECRC y lo aplican a todos los TLPs que se originan.
Si se incluye ECRC se debe incluir AER (advanced error reporting)
Cuales dos bits se pueden modificar en el trayecto?
El bit 0 del campo type
El bit Error / Poisoned (EP)
El bit 0 del campo type como se cambia en el trayecto ?
Pasa a ser cero cuando se presenta una transacción de configuración y cruza por el bridge así pasa de ser type 1 a type 0
De que forma cambia el bit Error / poisoned EP?
Puede cambiar cuando un TLP logra pasar por la fab sin complicaciones y se detectan errores en los datos por lo que se perciben como corruptos.
Quien revisa el ECRC?
El último dispositivo que recibirá el TLP.
En que consiste revisar el ECRC?
El LCRC es para verificar que no haya errores en la transmisión pero se podría dar el caso que algunos errores se enmascaren por lo que al tener un ECRC aumenta la probabilidad que los errores sean detectados.
Principal ventaja de usar byte enable. ? BE
Permite al dispositivo identificar el primer DW habilitado y el último DW que será empleado (first / last) y así saber cuales son los bytes de interés que están dentro de esos DW transferidos.
Que bits o campos construyen el Transaction Descriptor?
Transaction ID
Transaction Attributes
TC