Parte 8 Flashcards

(49 cards)

1
Q

Según la Spec cuáles son los valores mínimos de deformación (skew) de la señal entre los Lanes por parte del transmisor Tx?

A

Gen 1 -> 500ps + 2UI
Gen 2 -> 500ps + 4UI
Gen 3 -> 500ps + 6UI

(Unit Interval = un bit time en el link)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cuál es el skew del Tx permitido en términos de tiempo?

A

Gen 1 - 1300ps
Gen 2 - 1300ps
Gen 3 - 1250ps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Por qué es importante que haya una compensación de Reloj?

A

Tx y Rx, Tendrán un reloj común de referencia y buscan que sus respectivos relojes internos sean lo más similar o estén en un rango de tolerancia permitido, pero es muy probable que uno de los dos tenga una frecuencia ligeramente mayor, en caso que sea el transmisor quien envíe paquetes a una velocidad mayor de la que el receptor puede recibir.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cómo se compensa el reloj de Tx y Rx?

A

Para compensar el transmisor inyecta paquetes SKP que el receptor puede tirar hasta que el reloj se sincronice así se previene un buffer Over-run condition.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué detecta el receptor diferencial?

A

El buffer detecta el voltaje diferencial pico a pico y determina si la señal representa un 0 lógico o un 1 lógico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qué características tiene el reloj en el receptor (Rx Clock)?

A

La frecuencia es la misma que usa el Tx al enviar los Bits por el cable 2.5 o 5.0 GHz, el Rx clock envía los Bits hacia el Serializer hasta completar el símbolo (10-bits)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En qué consiste el Symbol Lock?

A

Que en el Serializer debe estar 10-bit aligned y cuando se reúnen los 10 Bits el reloj local expulsa el símbolo a una velocidad de (Rx Clock / 10)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cómo es que el receptor logra el bit lock?

A

Durante el Link Training Tx envía series de secuencias TS1 y TS2 ordered sets al receptor donde el PLL Utilizan las transiciones de bit de estas secuencias para quedar bloqueado a la frecuencia de Tx y transferir los bits al Deserializer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como el receptor recupera el bit lock cuando ha entrado a L0 el link?

A

El transmisor está listo para salir de L0s envía un número específico de FTS order sets (la cantidad de FTSs es design specific), y el receptor utiliza estas secuencias para recuperar el bit lock y symbol lock.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como se logra un wake-up del link de forma eficiente ?

A

El PLL del receptor no deriva tanto la frecuencia respecto de la frecuencia de Tx, por lo que sólo requiere consumir pocas FTS al transicionar del Estado L0, esto consume poco tiempo y mantiene una latencia baja.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Por qué demora más hacer wake-up del link cuando está en L1?

A

Por qué el Tx deberá enviar secuencias de entrenamiento TS1OS lo que indica que el link se debe reentrenar y restablecer el Bit lock

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Que se hace en el bloque del Deserializer?

A

Los Bits llegan de todos los lanes y pasan al Deserializer (serial-to-parallel converter) con cada ciclo de reloj (Rx Clock) de ahí pasan al elastic buffer en símbolos con un reloj local de (Rx clock /10)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Es un requerimiento en las frecuencias de los relojes de Rx y Tx?

A

Es que ambos estén entre +/- 300 ppm (parts per million) de la frecuencia central. En 600 ppm ya es un (worst scenario).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Para que sirve el elastic Buffer?

A

Está en el Path del receptor y con el clock RX recuperado se insertan los símbolos en el Elastic Buffer, luego con el reloj local se extraen los símbolos, si hay una diferencia considerable en las frecuencias de estos relojes entonces el Elastic Buffer compensa el reloj agregando o eliminando símbolos SKP ordered sets y así evitar confusión o pérdida de datos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Puede ocurrir si no se compensa el reloj?

A

Se puede generar:

  • Overflow condition
  • Underflow condition
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

A que se refiere Underflow condition?

A

Si el reloj local es más rápido, los símbolos se expulsarán del elastic Buffer a una velocidad mayor de la que llegan. Lo que hace la lógica es agregar a SKP symbols a los Ordered sets que llegan.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

A que se refiere Overflow condition?

A

Se da cuando el reloj recuperado Rx local Es más rápido que el reloj local se estarán insertando más paquetes de los que se puede procesar, la lógica elimina SKPs y libera espacio en buffer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Qué errores se pueden generar cuando hay símbolos perdidos a causa de un Over Flow o Under Flow?

A

Receiver errors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Cuáles son los símbolos asociados con el header?

A
16 bytes el header
 4 bytes optional ECRC
 4 bytes el LCRC
 2 bytes sequence number
 2 bytes Framing symbols STP, END
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

A que se refiere el Skew de los lanes?

A

A que en links con múltiples Lanes los símbolos se envían al mismo tiempo pero el Flight Time va a variar por lo que no llega al mismo instante de tiempo al puerto del receptor este sesgo (skew) debe compensarse en el receptor.

21
Q

Qué puede generar un sesgo en la propagación de los símbolos en los Lanes?

A

> longitudes desiguales de los traces.

> variaciones de impedancia en los cables/paths.

> Diferencias entre el controlador eléctrico y el receptor.

22
Q

Como es que se logra reducir o compensar el skewing en los lanes?

A

Mediante COM characters de los ordered sets Ya que se están enviando simultáneamente, debido al skew Algunos llegarán antes y se les aplica un delay hasta que se detecta los COM characters en todos los lanes.

23
Q

Qué valores de Skew según la spec son permitidos en el receptor?

A

Gen1 de 20ns (5 clocks a 4ns por símbolo)

Gen2 de 8ns (4 clocks a 2ns por símbolo)

Gen3 de 6ns (6 clocks a 1ns por símbolo)

En gen3 no se usa en COM pero otros OS sirven para dar la misma información.

24
Q

Que se hace en el bloque decoder?

A

Está en seguida del Elastic Buffer, en Gen1 y Gen2 utiliza (10b/8b) decodifica 10-bit a 8 caracteres más D/K# signal.

25
Que indica el estado de la señal D/K# ?
Indica si se trata de un carácter dato (D) o control (K) y busca en una tabla el valor que corresponde para D y K.
26
Cuales son los Receiver errors que pueden aparecer ?
@ Code violation | @ Disparity Errors
27
Que características generan los Receiver errors de Code Violation?
- El sub-block de 6-bit tiene más de 4 ceros o unos. - El sub-block de 4-bit tiene más de 3 ceros o unos. - El bloque de 10-bit contiene más de 6 unos o ceros. - El símbolo de 10-bit tiene más de 5 ceros o unos consecutivos. - Cualquier símbolo de 10-bit que no se decodifique a caracteres de 8-bit es error.
28
Cuando se marca un disparity error?
Cuándo se detecta en el receptor un símbolo con el Bit de disparidad diferente del valor en el CRD.
29
Qué acción se hace en el bloque Descrambler del receptor?
Este bloque se alimenta del Decoder y solo hace descrambling a los caracteres de data (D) asociados con un TLP o un DLLP (D/K# high). No aplica a caracteres de control (K) ni a los ordered sets.
30
Cómo se manejan los errores en la capa física?
Los errores de la capa física son reportados a la capa de enlace (DLLP) como receiver errors y según la spec algunos son opcionales y otros requeridos.
31
Qué tipo de Receiver error son requeridos que se reporten?
8b/10b decode errors (Disparity errors, Illegal symbols).
32
Qué tipo de Receiver errors son opcionales para que se revisen?
* Perdida del symbol lock * Elastic Buffer Overflow and Underflow. * Lane deskew errors * Packet inconsistent with format rules.
33
Cómo se manejan los Receiver errors entre la capa física y la capa de enlace?
La capa física avisa a la capa de enlace de un Receiver error y la capa de enlace descarta el TLp con errores, después programa un Nak para que el Tx reenvíe los TLPs del Replay buffer y reparar el error, si el error persiste la capa de enlace también se puede dirigir a la capa física a que reentrenar el link.
34
Que capability de PCIe permite avisar el estatus de Receiver errors?
Habilitando el bit de PCIE Extended advance error capabilities register, el error detectado activará el bit de Receiver error Status en el registro correspondiente, esto permite enviar un mensaje de ERR_CORR al root complex.
35
Cuál es la principal cualidad de Gen 3 respecto a Gen2?
Gen 3 Tiene la habilidad de duplicar la velocidad o ancho de banda en relación a Gen2 sin la necesidad de aumentar la frecuencia de operación que proporcione este incremento, la velocidad del link va de 5.0 GT/s a 8.0 GT/s.
36
Cómo se logra duplicar la velocidad de Gen3 sin aplicar una frecuencia de operación mayor?
Se dejó de utilizar la codificación 8b/10b que degradaba la transmisión un 20% y se creó la codificación 128b/130b.
37
Una desventaja al utilizar velocidades altas del tipo Gen3?
Para una velocidad a Gen3 es necesario un procedimiento más robusto para compensar la señal.
38
Si después de un Reset al reentrenar el link se detecta que quiere llegar a una velocidad mayor como es que se logra?
Cuándo el link entra a reentrenamiento siempre comienza utilizando la velocidad de Gen1 por compatibilidad, el Link entra a recovery State que intentará cambiar a la mayor velocidad común soportada.
39
Inconvenientes presentaba el simplemente duplicar la frecuencia de 5GT/s a 10GT/s así duplicar el BW?
Mayor frecuencia = mayor consumo de energía Algunos materiales en los circuitos de las tarjetas presentan degradación a frecuencias muy altas. Ocasionaría el tener que cambiar muchos parámetros (longitud de traces) para lograr el timing Incrementaría el costo y complejidad
40
Cuál es el ancho de banda para Gen3 que tiene un data rate de 8.0GT/s?
Con la codificación 128b/130b los lanes transportan ahora 8bit/byte en lugar de 10 bits. El ancho de banda es el doble paso de 500MB/s a 1GB/s en un solo sentido.
41
Cuál es la principal diferencia entre los modelos de codificación?
En 8b/10b los caracteres de control van al inicio y final. En 128b/130b los caracteres de agrupan en bloques de 16 bytes (128bits) con un campo de 2-bit al inicio del bloque para sincronía.
42
Qué Identifica el campo de 2-bit de sincronía o Header sync?
Especifica si el bloque incluye Dato (10b) o es Ordered set (01b), así el receptor sabrá qué clase de tráfico esperar y cuando llegará.
43
En que consiste el Block alignment locking requerido en Gen3?
``` Gen 3 Logra bit lock primero y luego bloquea la alineación de los bloques. El transmisor establece fronteras enviando patrones de EIEOSs detectables que consisten en patrones que alternan entre bytes 00h FFh. 0000 0000 FFFF FFFF : . ```
44
Como lucen los Ordered sets blocks en Gen3 respecto de Gen2 y Gen1?
Lucen similar cuando se envían Ordered sets Block también deben enviarse simultáneamente por todos los Lanes con la excepción a la regla de tamaño para los SKP Ordered sets (SOS) este puede tener símbolos que se agregan o eliminan en grupos de cuatro para la compensación del reloj.
45
Cuales son los 7 ordered sets para Gen3 según la Spec?
SOS, EIOS, EIEOS, TS1, TS2, FTS, SDS
46
En Gen3 qué hace el EIEOS?
Tiene dos propósitos: 1. Salir de Electrical Idle como anteriores versiones. 2. Es un indicador de alineación de bloques para 8.0GT/s.
47
Qué significan las siglas SDS ordered set?
Start Data Stream
48
Cuáles son los identificadores en hex de los ordered sets en Gen3?
``` EIEOS ••••• 00h EIOS •••••••66h FTS ••••••• 55h SDS ••••••• E1h TS1 ••••••••1Eh TS2 ••••••• 2Dh SOS/SKP •• AAh ```
49
Cuál es el estado del link cuando se envía un Data stream (SDS)?
Cuándo se envía un SDS ordered set el link entra a L0 y está transmitiendo un Data stream pero deja de estar en curso cuando el link sale de L0 state.