Parte 1 Flashcards
Que es el Address Space?
Es el espacio de configuración disponible para cada función que es de 256 bytes.
Fue extendido a 4KB para más capabilities.
Cuales son las transacciones de PCIE.
- Memory write / read
- I/O Write / Read
- Configuration Write / Read
- Messages
Cuáles son las tres categorías en el Modelo de Transacciones?
POSTED.
No necesita que retorne un Completion for Memory Writes
NON-POSTED.
Se retorna un Completion for Memory Reads
Completions (con dato y sin dato)
En que consiste QoS ?
Quality of Service. controla el tráfico en la Fábrica (fab) mediante TC (traffic class), y canales virtuales VC(virtual channel).
Qué es traffic class?
Es un número [7:0], que se asigna al driver del device para que acceda o se mueva en la fab con cierta prioridad donde 7 es la prioridad más alta.
Esto ayuda al performance.
Que es virtual Chanel ?
Es un tipo de buffer que se encuentra en los switches, endpoints and root complex, y los paquetes pasan primero a los buffer para seguir su ruta por la fab.
Que abarca el Power Management del PCIe?
Device Power state: D0, D1, D2, D3-Hot, D3-Cold, donde:
- D0 es encendido o Fully-on - D3-Cold es el estado de encendido más bajo.
Link Power State: L0, L0s, L1, L2, L3. Donde:
- L0 es encendido Fully-on - L3 es el link-off state
Que quiere decir Hot-Plug ?
Es una señal de interrupción Hot-plug, que se comunica con el root complex por in-band.
Detecta cuando una tarjeta es retirada de la placa.
Que es Root Complex ?
Es el que sirve de interfaz entre el CPU y la memoria con los dispositivos de la fab.
Puede tener 1 o más root ports.
Que funciones administra el Root Complex (RC)?
- Error detection and reporting logic.
- Interrupt controller.
- Power Management.
- Hot-plug controller.
Que Componentes intervienen con un dispositivo de PCIe?
Device Core \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ PCIE Core Logic Interface \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ TLP ——— DLLP ——— PLP
Que información integra un TLP?
Target address or ID (routing information).
Source information such as requester tag.
Transaction type / packet type.
Data payload size (if any)
Traffic class to assign packet priority.
Attributes of the request:
- No snoop - Relaxed ordering
Que significan las siglas PEG?
PCI Express Graphics
Bloques que integran la PLP?
Logical Block
Electrical Block
Que compone a la parte lógica del PLP?
Encoding / decoding / scrambling Reset / initialization, de-skew Built-in Test Modes Configuration: Link speed/ width/ Lane mapping/ Polarity.
Que incluye la parte eléctrica del PLP?
Tx / Rx
CLKs / PLL, Clock recovery
Low-level Link Power Control (L0, L0s, L1, L2).
Surprise attach / detach
Que significa APIC?
Advanced Programmable Interrupt Controller
En que consiste IO map.
Es un modo indirecto para redireccionar que soportan los CPUs a x86 indexando a través de los puertos de data & address que están en el host bridge del RC.
Que características eléctricas tiene PCIE?
Tiene un par diferencial de señales en cada dirección
O sea cuatro señales para un x1
Links
x1 = 4 señales
x32 = 128 señales
Voltaje
Vp ( 400mV - 600mV)
Vpp (0.8 V - 1.2 V)
Vcom ( 0 V - 3.6 V)
En que consiste el Flow Control (FC) ?
Los paquetes contienen información sobre los créditos y le informan al transmisor o requester si hay créditos disponibles (espacio en el buffer o VC), y si hay créditos disponibles envía el siguiente TLP.
Esto garantiza que no se sature la transmisión a falta de créditos.
Cuales son las señales de handshake en PCI?
REQ# (requested) GNT# (granted) DEVSEL# (device select) TRDY# (target ready) IRDY# (iniciador ready) FRAME# STOP#
Que es MSI ?
Message signaled interrupt
Es requerida por PCI-X devices para generar una MSI el dispositivo inicia una transacción de escritura.
No necesita pines adicionales,
cantidad de bytes para esta solicitud y quien es el que la solicita.
(Bus:Device:Function)
En que consiste el bit de NS?
El bit de No-Snoop fue agregado para ahorrar tiempo y latencia.
Debido a que el SW sabe anticipadamente si una locación de memoria no se encuentra o es uncachable así no pierde tiempo en buscar (snoop) en las caché del CPU y señala un No-Snoop.
Que es LINK y que es LANE?
LINK.
Es el camino físico constituido por uno o más pares de transmisor y receptor.
LANE.
Es un par diferencial que consta de un transmisor y un receptor.
Que es un forwarded Bridge ?
Permite que un pci/pci-x antiguo se conecte en un Sistema Actual.
O2A
Que es un Reverse bridge?
Permite que una tarjeta nueva de PCIE sea conectada en un sistema antiguo
Menciona los tipos de codificación ?
CODIFICACIÓN:
8b / 10b . Transmite 8 bits en symbols de 10b.
Generación 1.0 y 2.0
128b / 130b. Por cada 128 se deben transmitir 130 bits por lo que para efectos prácticos se dice que para transmitir 8 bits se envían 8 bits.
Gen 3.0 +
Que es un switch?
Proporciona capacidad de agregar o sumar más dispositivos a un puerto PCIE.
Que es un bridge?
Proporciona una conexión en modo puente a otros dispositivos como PCI-X o PCI, incluso otro PCIE.
Que son las transacciones Posted y non-Posted?
POSTED.
No necesitan de un completion.
NON POSTED.
Necesitan de un completion. Se agrega la información “tag” que es irrepetible y ayuda al transmisor o requester mediante un completion a reconocer la solicitud.
Cuales son los tres datos del device que sirven para routear la información ?
Bus number in the system
Device number on that bus
Function number within that device.
Cuál es el espacio de configuración compatible de PCI?
Compatible configuration register space PCI.
Consta de 64DW (256B)
Divididos en 64B -> PCI Configuration [16dw] header space.
192B restantes -> Compatibility Structures [48dw]
PCIE - Requiére más espacio para capabilities structures total 1024dw = 4KB
Por que se extendió el espacio de configuración de 256B a 4KB en PCIE?
Porque requiere agregar mayor capability structures como:
- Advanced error reporting (AER)
- Virtual Channels (VC)
- Device serial number
- Power budgeting
Cuál es la única forma de acceder al “Extended Configuration Space” de 4KB en PCIe.?
PCIE extended space es accesible sólo empleando:
PCIE Enhanced Configuration Access Mechanism.
Cuales son los dos mecanismos para acceder al espacio de configuración ?
- The Legacy PCI configuration mechanism.
2. The enhanced configuration mechanism.
Cuál es la capacidad para direccionar IO address space en procesadores x86.?
Es de 64KB
Explica en que consiste el indirect address mapping space.
Consiste en que se tienen dos registros uno se ocupa de los datos (data) y el otro de la dirección (address) que va y viene del dispositivo destino.
Cuales transacciones se realizan para acceder a la dirección y los datos?
Para address se efectúa WRITE y para los datos puede ser WRITE / READ.
Para hacer una configuración se requiere entonces de 2 IO accesses.
Data y address.
Cuales son los dos puertos que PCI utiliza mediante el Host-bridge en el RC.?
Utiliza dos puertos de 32bits I/O.
- Configuration Address Port.
- Configuration Data Port.
Menciona los puertos de configuración para address y data?
• Configuration Address Port
IO Address:
0CF8h - 0CFBh
• Configuration Data Port
IO Address:
0CFCh - 0CFFh
Como se configura un puerto de direcciones 0CF8h?
[31:30] bits para Enable configuration space mapping. (1 = enabled).
[30:24] Reserved
[23:8] Bus(8b), Dev(5), Func(3)
[7:2] register pointer (64DW)
[1,0] should always be zeros
Quien determina que el vendor ID es de longitud de 16-bit?
The PCI - SIG
Peripheral Component Interconnect - Special Interest Group
Cuales son dos errores que pueden presentarse en el proceso de enumeración.
Device Not Present.
(Vendor ID: FFFh). Todas las señales se ponen en alto los bits en el bus son vistos como 1s.
Device not Ready.
Cuando está presente pero la consideración de Timing para responder indica que no está listo el dispositivo.
Si el acceso a la configuración es vista antes que el dispositivo esté listo (ready).
Cuales son las opciones ?
- Ignore the request
- Retry the request
- Accept the request
En PCIe hay un completion para reintentar. (CRS).
Cuál es la función del CRS?
Indicar que se envió un paquete mal formado, válido sólo en la configuración del status.
Como es que se controla un dispositivo de la fab por software ?
Debido a que todos los dispositivos tienen registros o locaciones de almacenamiento, que pueden ser direccionados por software.
Ejecutando instrucciones READ/WRITE apuntando a una dirección específica.
Que tipos de espacios de direcciones (Address space) soporta el PCIE?
Configuración
Memoria
I/O
Para que se usa el espacio de Configuración del address space del PCIe?
Para que el software sea capaz de controlar y revisar el estatus de los dispositivos según sus estándares.
CHECK / CONTROL
A que se le llama MMIO?
Memory mapped IO
Al rango de memoria principal a la que se mapean o direccional los registros de configuración o storage de un device.
Que elemento determina que dirección corresponde o debe ser utilizada por los registros internos del PCIe device ?
El BIOS Y EL IOS Kernel.
Esto se logra en el BAR Base Address Register.
Una vez que el SW determina o sabe los requerimientos del dispositivo, le asigna el espacio solicitado por el device.
Que tamaño le asigna el PCI-SIG a cada vendor ID
Un valor único de 16bits
Que significa device not present?
Todas las señales se ponen en alto (1s) resultando un vendor ID FFFFh (error de master abort)
Que es el error de present but Not-ready?
El dispositivo no está listo para responder a una solicitud de configuración de acceso.