Parte 6 Flashcards
Cuando usar IDO?
La spec recomienda que siempre que sea seguro se utilicen ambos IDO, RO.
Un ejemplo de que es seguro utilizar IDO?
Cuando el endpoint se comunica con solo una entidad y no varias, puede ser con el RC
Que es la capa de enlace (DLL).?
Es donde se generan paquetes DLLPs que se usan para dar soporte al protocolo Ack/Nak, power management, FC mechanism e incluso propósitos de Vendor-defined.
Cuál es la función principal de la capa de enlace?
Asegurar la integridad de los TLPs transportados a través del link entre los devices.
De qué tamaño son los DLLPs?
Son de tamaño fijo de 8 bytes
Según la spec cuál es el BER permitido ?
Bit Error Rate no peor a 10^-12
Son las reglas que se deben seguir en el receptor para manejo de los DLLPs?
- No son objeto para FC son procesados inmediatamente en el receptor.
- Se revisan de errores en la capa física y luego en la capa de enlace, compara el CRC sea correcto. Los que contengan errores se descartan.
- Como no hay mecanismo de acknowledged para estos paquetes la spec creó mecanismos de time-out.
- Si no hay errores se determina el tipo de DLLP y pasa a la lógica interna.
Una vez que los DLLPs se les define el tipo y han pasado sin errores a la lógica interna, que funciones administran estos paquetes ?
- Ack / Nak notification settings
- Flow control notification of buffer space available.
- Power management settings
- Vendor specific information
Que símbolos se agregan en la codificación 128b/130b y 8b/10b?
En gen 3 se agrega un SDP (token) de 2 bytes y solo al inicio del DLLP.
En gen 1 y gen 2 se agregan framing symbols al inicio y final.
Como se forman los 8 bytes fijos de los DLLPs?
2 Dws (4 bytes) donde 1 byte contiene el tipo de DLLP y 3 bytes donde se especifican los atributos
2 bytes para el CRC que se añade al core del DLLP.
2 bytes para el SDP token en caso de gen 3 y si es 8b/10b se usan para los símbolos de control de inicio/final
Qué es la capa física ?
Es la que está entre el link físico externo y la capa de enlace en el protocolo pci.
Cuál es la función general de la capa física?
El tráfico que proviene de la capa de enlace lo convierte a una secuencia serial de bits que se transmiten por cada lane y estas secuencias avanzan según el reloj.
En el lado del receptor hacer lo opuesto deserializer, decode, etc.)
Que identifica las fronteras o límites de los paquetes en Gen1 y Gen2 ?
Se implementaron dos caracteres de control #D/K data y control. En Gen3 no se usan dos sólo data.
Qué función tiene el Tx Buffer de la capa física?
Almacenar o contener los TLPs y DLLPs así como los bits de control que especifican los límites del paquete, este buffer proporciona el tiempo para que se cree el Ordered set con la información de control y si el buffer se llena una señal (throttle) regresa a DLL y detiene el flujo de caracteres
Que bloques de la capa física son una entrada al Mux?
Transmit data buffer
Start and End characters
Ordered sets
Logical idle sequence
Qué hace la entrada al mux de transmit Data Buffer?
La capa de enlace pasa un paquete y se va acumulando en el Buffer y todos los caracteres de data (D) del buffer que avanzan y los K (kontrol) el mux los está reuniendo y la señal DK# se pone en alto cuando se ha reunido todo el contenido del TX buffer.
Qué indica la entrada al mux de los caracteres Start y End?
Permiten al receptor leer los límites o tamaño del paquete en gen1 y gen2 se agregan al inicio y al final del TLP y le DLLP
Cómo se llaman los caracteres de control de inicio/fin?
STP: Start TLP
SDP: Start DLLP
END: End Good
EDB: EnD Bad para algunos casos de error.
Cuál es la principal utilidad que se logra al intercambiar Ordered sets?
Los Ordered sets son empleados para mantener e iniciar la operación del link
De que longitud son los Ordered sets K y D?
Comienza con una K (COM de command), y contiene otro carácter ya sea K o D según el tipo de Ordered set y son siempre de 4 bytes aligned (1 Dw)
En que circunstancias es útil enviar Ordered sets?
Para:
Error recovery
En intervalos periódicos
Colocar el transmisor en electrical idle
Cambiar el estado del link power de L0s a L0
Qué ordered sets se intercambian ante un Error recovery?
Al iniciar eventos como “Hot-reset” o salir de estados de bajo consumo. Intervienen las secuencias de entrenamiento TS1 y TS2 estos OS se intercambian a través del Link.
Que Ordered sets se insertan periódicamente?
El mux inserta patrones de SKIP Ordered sets para sincronizar o compensar el reloj.
Cuando es que el mux inserta Ordered sets de Electrical idle?
Cuándo el transmisor quiere entrar en un Electrical idle state le informa con EIOS al receptor en el otro extremo
Qué Ordered sets envía el transmisor cuando quiere salir de un low-power state (L0s) y pasar a full-on power state L0.?
Envía Fast Training Sequence (FTS)
Que caracteres aporta el bloque Logical idle sequence que sirve como una de las entradas al mux?
En el momento que no se transfieren paquetes ni Order Sets y la transmisión no ha terminado porque se quiere mantener bloqueado el PLL a la frecuencia del transmisor, se debe transmitir algo y es donde se insertan caracteres de Logical idle que son strings de datos 00h.
Cuáles son las reglas generales que dan formato a un paquete?
- El tamaño de los paquetes siempre es múltiplo de 4 caracteres, por la alineación en Dws. 1Dw = 4B
- Los TLP inician con STP y terminan con END o un EDB.
- Los DLLPs inician con SDP y terminan con END tienen un valor fijo de 8 bytes.
- STP y SDP siempre comienzan ya sea en el byte 0 (al inicio de una transmisión), o en cualquier otro byte que sea múltiplo de 4.
- El receptor en la capa física puede detectar el incumplimiento de estas reglas y reportar a DLL “Receiver errors”.
- SKIP y caracteres de logical idle 00h ordered sets se deben enviar al mismo tiempo en los lanes.
De las reglas generales que dan formato a un paquete que reglas adicionales se emplean para paquetes largos como x8, x16, x32?
- Si la transmisión comienza donde hay caracteres Idle, los STP/SDP inician en el byte 0.
- Los END/EDB se envían en los bytes múltiplos de 4-1. (En los 3, 7, 11, …).
- Si el paquete no llena los bytes de los Lanes y no hay más paquetes listos para transmitir, se rellenan esos bytes restantes con símbolos PAD para que actúen como un filtro.
Qué es el Scrambler del bloque lógico de la capa física?
Su objetivo es prevenir que se envíen secuencias de Bits con patrones repetidos “pure tones” en el link, ya que esto genera una frecuencia consistente que ocasiona más ruido o EMI de lo normal
Qué ventajas tiene la implementación del Scrambler?
- Evita patrones repetitivos en los bits que ocasionen interferencias.
- Esparce la energía a través de un mayor rango de frecuencias.
- Reduce el crosstalk noise en señales que viajan por un solo lane.
- Ayuda al receptor distinguir la señal deseada.
A qué se refiere ruido Crosstalk?
Son las señales de interferencia a causa de lanes adyacentes.
Que caracteres no se les hace Scrambling?
Para que la sincronía, de la secuencia que has sido scrambled no se pierda en el receptor, no se les hace scrambling a los caracteres de control (COM, K28.5), ya que con estos se reinicializan los bloques de scrambling en los extremos del link y los sincroniza.
Cómo está constituido el bloque de Scrambler?
Es un registro LFSR (Linear Feedback Shift Register) de 16-bit con puntos de retroalimentación representados por el polinomio:
G(X) = X^16 + X^5 + X^4 + X^3 + 1
Acción que realiza el carácter de control COM en relación al Scrambling ?
A este carácter no se le hace Scrambling ya que es el que se utiliza para reinicializar el LFSR a FFFFh en ambos bloques en los extremos del link.
Qué caracteres pasan por alto o se filtran en la lógica de Scrambling?
Los TS1 y TS2, FTS, SKP y Electrical Idle, así el receptor en el extremo es capaz de reconocer los caracteres aunque los bloques de scrambling hayan perdido sincronía.
Cómo puede ser una funcionalidad de deshabilitar el scrambling?
Para propósitos de pruebas y debug, hacer test a un patrón de bits enviado
Cómo se le indica a la capa física que detenga el Scrambler y poder realizar el test/debug. ?
No hay un software específico así que tiene que ser una implementación de Design-specific donde un dispositivo deshabilita el scrambler enviando por lo menos dos secuencias TS1 y TS2 así en device vecino también deshabilita el scrambler.
Qué es 8b/10b encoding ?
Fue planteado por IBM en 1984, se utiliza en la transmisión serial donde cada lane codifica y transporta 8 Bits en símbolos de 10 bits, se implementa en Gen1 y Gen2.
Ventajas de implementar la codificación en una transmisión serial?
- En Reloj está embebido en los datos (embedded clock).
- Mantiene un balance de DC (DC balance)
- Mejora la detección de errores.
Qué quiere decir que el reloj sea embebido en los datos?
Esta codificación 8b/10b asegura que la transmisión de datos tiene suficientes flancos de Reloj que permiten recuperar el reloj en el receptor.
Beneficios de implementar Embedding clock en los datos.
Evita algunas limitaciones en el diseño de bus paralelo como de flytime, clock skew, o el tener que implementar un reloj distribuido de alta frecuencia que podría incrementar EMI y dificultar el ruteo.
Cómo se logra mantener un balance de DC?
Se debe acoplar el link con un capacitor en serie en el path que bloquea la componente DC así los extremos Tx y Rx utilizan diferentes valores de voltaje común.
Que podría Ocasionar que no haya un balance de DC?
Qué si en promedio de voltaje en modo común de un nivel u otro predomina este voltaje de modo común se puede derivar y ocasionar que la integridad de la señal se degrade en el receptor.
Principal desventaja de la codificación 8b/10b?
A causa del Overhead que requiere el performance tiene una degradación del 20% desde el punto de vista del receptor.
Cómo se divide el 8b/10b en la codificación real.?
5 a 6 bits seguido de 3 a 4 bits
Cuáles son las propiedades que debe cumplir un símbolo para que se considere válido en la codificación 8b/10b?
La secuencia de Bits no debe tener consecutivamente cinco 1’s o ceros considerando el final de la secuencia anterior y el comienzo de la nueva.
Cuál sería la manera correcta de formar un símbolo de 10 bits?
Con un balance en la cantidad de 1’s y 0’s no están necesariamente contiguos.
Cuatro 0’s y seis 1’s
Seis 0’s y cuatro 1’s
Cinco 0’s y cinco 1’s
Cuales son los sub-blocks en los que se divide un símbolo de 10-bit?
En dos sub-bloques uno de 6-bit y el otro de 4-bit.
Sub-block 6-bit. No más de cuatro 1’s o no más de cuatro 0’s.
Sub-block 4-bit. No más de tres 1’s o no más de tres 0’s.
Qué notación utiliza la codificación 8b/10b?
Shorthand. La notación corta especial.
Ejem. D10.3
A que hace referencia el término disparity?
Se refiere al número desigual de unos y ceros en un patrón de bits.