jueves, 16 de febrero de 2012

Apuntes sobre EVGA X79 SLI

Para montar el PC Gamer 2012 escogí la placa base EVGA X79 SLI, cuyo código de producto del fabricante (o part number) es 132-SE-E775, en este castigo voy a hablar un poco más sobre esta placa para procesadores Sandy Bridge-E. Aunque algunas consideraciones que contaré se pueden extrapolar para cualquier otra placa base, este artículo le resultará más interesante al público específico que haya adquirido (o tenga intención de hacerlo) una placa base EVGA X79 SLI. No se trata de un análisis, voy a narrar algunas experiencias y dejar publicado unos apuntes de utilidad sobre esta placa base.


Debug LED
La EVGA X79 SLI incorpora en la placa un pequeño display de 2 dígitos hexadecimales que nos proporcionan una información que puede resultar valiosa sobre todo en algunas situaciones. Su ubicación en la placa es fácil de localizar, y el nombre que le da EVGA a este display es de Debug LED o POST LED.


Durante el POST
Durante el proceso de inicialización de la placa base, este display irá mostrando un código que indica en qué paso se encuentra del POST de la BIOS. Si el arranque va bien, es un dato que normalmente sólo miraremos las primeras veces por curiosidad y luego ignoraremos.
Pero si la placa no consigue inicializarse correctamente, es decir, no puede completar el POST, el display nos visualizará un código que es la información del error, obteniendo así una pista del problema que tenemos. 
En la parte final he añadido un anexo con todos los posibles códigos.

Después del POST
Después de la inicialización correcta de todos los componentes de la placa, el display Debug LED pasará a mostrarnos la temperatura del zócalo de la CPU, un dato interesante para comprobar la temperatura del procesador con un simple vistazo a la placa.




BIOS Jumper
La placa base X79 SLI tiene la característica de Dual BIOS, lo cual quiere decir que incorpora dos chips físicos para poder almacenar dos versiones y configuraciones de BIOS diferentes. Esta función es especialmente útil si trasteamos con los parámetros de la BIOS -para ajustar los valores de la memoria o realizar overclock al sistema por ejemplo- y luego la placa no arranca, pudiendo utilizar la segunda BIOS para recuperar la placa y conseguir que complete el POST.
En la foto muestro la ubicación del selector (jumper) que permite elegir entre cual de los dos chips de BIOS utilizar. Como lo citaré más adelante, también señalo en la imagen la posición del botón de Clear CMOS.


Problemas con la BIOS
Si tenemos un problema con la configuración actual de la BIOS y la placa base no se inicia, podemos intentar limpiar su configuración manteniendo pulsado unos segundos el botón de Clear CMOS para restablecer sus parámetros a los valores por defecto; pero si haciendo esto la placa base continúa sin completar el POST entonces tendremos que cambiar la posición del jumper de selección de BIOS para utilizar la BIOS alternativa.

Una vez arranquemos el sistema con la segunda BIOS es muy importante recuperar la otra BIOS dañada, ya que si esta también dejase de funcionar nos quedaríamos con un ladrillo como placa base y obligados en ese caso a enviar la placa al fabricante para que la recuperen, fabricante que en este caso sería EVGA.

¿Cómo actualizar la BIOS dañada?
Una vez estamos en Windows habiendo arrancado con la segunda BIOS, tal cual con el equipo encendido, cambiamos el jumper de posición para seleccionar la BIOS dañada. Posteriormente ejecutamos el programa para grabar (flashear) la BIOS, utilidad que suministra EVGA y ya tenemos la BIOS que no arrancaba, restaurada y recuperada; lo mejor es comprobarlo reiniciando el PC. 
Insisto, esto es lo primero que debemos hacer si tenemos un perfil de BIOS dañado, grabar una versión buena de BIOS para recuperar ese perfil.

La versión de BIOS 029 (y anteriores) tiene un grave fallo que impide resetear la BIOS mediante un simple Clear CMOS en caso de haber configurado unos valores de BIOS no válidos de overclock o de configuración de la memoria. En esta situación la placa no arrancará y será necesario seleccionar la otra BIOS y realizar los pasos que he descrito; esto me pasó probando a utilizar los perfiles XMP para la memoria. A partir de la versión 032 dicho problema está teóricamente corregido, así que es recomendable actualizar a la última versión de BIOS que en estos momentos es la 033.


Puertos PCIe
La EVGA X79 SLI lleva tres puertos PCIe para poder conectar enlazadas hasta 3 tarjetas gráficas; dos de sus slots PCI-E tienen 16 lanes cada uno (velocidad 16x) y el tercero 8 lanes (8x). Permite de esta forma las siguientes configuraciones de máximo ancho de banda: una única gráfica a 16x, dos gráficas en CrossfireX o SLI (2-way SLI) a 16x+16x; o bien 3 gráficas en 3-way SLI enlazadas a 8x+8x+8x.

¿Dónde instalar la gráfica?
Si montamos una única gráfica, la debemos colocar en cualquiera de los dos primeros puertos PCIe, los he señalado en azul en la imagen, para obtener el máximo ancho de banda a 16x, en este caso no tendría sentido instalarla en el puerto PCIe de 8x. 

En el caso de que montemos dos gráficas, lo más óptimo sería colocarlas en los dos slots PCIe de 16x, pero si os fijáis en el montaje de mi PC veréis que las preferí colocar en los puertos 16x y 8x. ¿Por qué? Porque montadas en los puertos 16x quedan las dos gráficas totalmente pegadas aumentando notablemente sus temperaturas; y por otro lado, la diferencia de rendimiento real es inapreciable entre 16x+16x o 16x+8x en PCIe 2.x; así que para ganar nada (rendimiento) y perder algo (temperatura) opté por montarlas separadas (16x+8x) y tenerlas más frescas que son calentitas ya de por sí.

Un apunte más sobre esa configuración 16x+8x, como digo no hay pérdida de rendimiento real en PCIe 2.x, si encima montamos un par de tarjetas gráficas que sean PCIe 3.0 entonces instalarlas en configuración 16x+16x o 16x+8x pasa a ser anecdótico, ya que los carriles (lanes) de esta placa son PCIe 3.0, y cada uno de ellos (cada lane, cada 1x), tiene el doble de ancho de banda respecto los del bus PCIe 2.x, es decir, 8x de PCIe 3.0 tienen el mismo ancho de banda que 16x de PCIe 2.x.
Algún dato sobre PCIe 3.0 escribí hablando de la evolución de CPUs hasta Sandy Bridge-E.

Aunque pronto observé un pequeño inconveniente en instalar las gráficas en los puertos PCIe que escogí...

Como muestro en la foto la desventaja de instalar la segunda gráfica en el PCIe 8x es que tapará por completo el display del Debug LED y el jumper de selección de BIOS. Por lo que perdemos poder monitorizar en el visor la temperatura de la CPU, y si tenemos que acceder al jumper por problemas con el perfil de BIOS actual, tendremos que tumbar la torre, desconectar alimentación de la gráfica, quitar el tornillo de la tarjeta y retirar la gráfica del puerto PCIe para poder acceder al jumper.

Está claro que si instalamos 3 gráficas este inconveniente es inevitable, no hay más remedio que utilizar los tres slots PCIe que tiene esta placa base, pero montando dos gráficas esto hubiera sido eludible, por lo que considero un pequeño fallo de diseño de la placa base que hayan ubicado allí esos dos elementos y sobre todo el jumper de selección de perfil de BIOS.



ANEXO: Códigos durante el POST mostrados en el Debug LED
Esta es la lista de los códigos que puede visualizar el display integrado en la placa base EVGA X79 SLI durante el proceso de inicialización o POST. La lista está en el manual de la placa pero he mejorado la consulta del código, porque he ordenado los códigos numéricamente y además he expandido los que estaban agrupados (por ejemplo agrupado como 3B-3E a expandido 3B,3C,3D,3E) para facilitar la búsqueda de cualquier código con tan sólo utilizar la función buscar en esta página del navegador web:

01 Power on. Reset type detection (soft/hard).  
02 AP initialization before microcode loading  
03 North Bridge initialization before microcode loading
04 South Bridge initialization before microcode loading
05 OEM initialization before microcode loading  
06 Microcode loading  
07 AP initialization after microcode loading  
08 North Bridge initialization after microcode loading  
09 South Bridge initialization after microcode loading  
0A OEM initialization after microcode loading  
0B Cache initialization
0C,0D Reserved for future AMI SEC error codes  
0E Microcode not found  
0F Microcode not loaded  
10 PEI Core is started  
11,12,13,14 Pre-memory CPU initialization is started  
15,16,17,18 Pre-memory North Bridge initialization is started  
19,1A,1B,1C Pre-memory South Bridge initialization is started
1D,1E,1F,20,21,22,23,24,25,26,27,28,29,2A OEM pre-memory initialization codes  
2B Memory initialization. Serial Presence Detect (SPD) data reading  
2C Memory initialization. Memory presence detection  
2D Memory initialization. Programming memory timing information  
2E Memory initialization. Configuring memory  
2F Memory initialization (other).  
30 Reserved for ASL (see ASL Status Codes section below)  
31 Memory Installed  
32 CPU post-memory initialization is started  
33 CPU post-memory initialization. Cache initialization
34 CPU post-memory initialization. Application Processor(s) (AP) initialization  
35 CPU post-memory initialization. Boot Strap Processor (BSP) selection  
36 CPU post-memory initialization. System Management Mode (SMM) initialization  
37,38,39,3A Post-Memory North Bridge initialization is started
3B,3C,3D,3E Post-Memory South Bridge initialization is started  
3F,40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E OEM post memory initialization codes  
4F DXE IPL is started  
50 Memory initialization error. Invalid memory type or incompatible memory speed  
51 Memory initialization error. SPD reading has failed  
52 Memory initialization error. Invalid memory size or memory modules do not match.  
53 Memory initialization error. No usable memory detected  
54 Unspecified memory initialization error.  
55 Memory not installed  
56 Invalid CPU type or Speed  
57 CPU mismatch  
58 CPU self test failed or possible CPU cache error  
59 CPU micro-code is not found or micro-code update is failed
5A Internal CPU error  
5B reset PPI is not available  
5C,5D,5E,5F Reserved for future AMI error codes  
60 DXE Core is started  
61 NVRAM initialization  
62 Installation of the South Bridge Runtime Services  
63,64,65,66,67 CPU DXE initialization is started  
68 PCI host bridge initialization  
69 North Bridge DXE initialization is started  
6A North Bridge DXE SMM initialization is started  
6B,6C,6D,6E,6F North Bridge DXE initialization (North Bridge module specific)
70 South Bridge DXE initialization is started  
71 South Bridge DXE SMM initialization is started  
72 South Bridge devices initialization  
73,74,75,76,77 South Bridge DXE Initialization (South Bridge module specific)  
78 ACPI module initialization  
79 CSM initialization  
7A,7B,7C,7D,7E,7F Reserved for future AMI DXE codes  
80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F OEM DXE initialization codes  
90 Boot Device Selection (BDS) phase is started  
91 Driver connecting is started  
92 PCI Bus initialization is started  
93 PCI Bus Hot Plug Controller Initialization  
94 PCI Bus Enumeration  
95 PCI Bus Request Resources  
96 PCI Bus Assign Resources  
97 Console Output devices connect  
98 Console input devices connect  
99 Super IO Initialization  
9A USB initialization is started  
9B USB Reset  
9C USB Detect  
9D USB Enable  
9E,9F Reserved for future AMI codes  
A0 IDE initialization is started  
A1 IDE Reset  
A2 IDE Detect  
A3 IDE Enable  
A4 SCSI initialization is started  
A5 SCSI Reset  
A6 SCSI Detect
A7 SCSI Enable  
A8 Setup Verifying Password  
A9 Start of Setup  
AA Reserved for ASL (see ASL Status Codes section below)  
AB Setup Input Wait  
AC Reserved for ASL (see ASL Status Codes section below)
AD Ready To Boot event  
AE Legacy Boot event  
AF Exit Boot Services event  
B0 Runtime Set Virtual Address MAP Begin  
B1 Runtime Set Virtual Address MAP End  
B2 Legacy Option ROM Initialization  
B3 System Reset  
B4 USB hot plug  
B5 PCI bus hot plug  
B6 Clean-up of NVRAM  
B7 Configuration Reset (reset of NVRAM settings)  
B8,B9,BA,BB,BC,BD,BE,BF Reserved for future AMI codes  
C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF OEM BDS initialization codes  
D0 CPU initialization error  
D1 North Bridge initialization error  
D2 South Bridge initialization error  
D3 Some of the Architectural Protocols are not available  
D4 PCI resource allocation error. Out of Resources  
D5 No Space for Legacy Option ROM  
D6 No Console Output Devices are found  
D7 No Console Input Devices are found  
D8 Invalid password  
D9 Error loading Boot Option (LoadImage returned error)  
DA Boot Option is failed (StartImage returned error)
E0 S3 Resume is stared (S3 Resume PPI is called by the DXE IPL)  
E1 S3 Boot Script execution  
E2 Video repost  
E3 OS S3 wake vector call  
E4,E5,E6,E7 Reserved for future AMI progress codes  
E8,E9,EA,EB S3 Resume Failed  
EC,ED,EF Reserved for future AMI error codes
F0 Recovery condition triggered by firmware (Auto recovery)  
F1 Recovery condition triggered by user (Forced recovery)  
F2 Recovery process started  
F3 Recovery firmware image is found  
F4 Recovery firmware image is loaded  
F5,F6,F7 Reserved for future AMI progress codes  
F8 Recovery PPI is not available  
F9 Recovery capsule is not found  
FA Invalid recovery capsule  
FB,FC,FD,FE,FF Reserved for future AMI error codes  


En el primer arranque una vez montado todos los componentes del ordenador, la placa no se iniciaba, tuve un problema con el código de error D6. Al final resultó que no le gustaba el SLI así de buenas a primeras y tuve que dejar sólo una de las dos gráficas para que la placa completase el primer POST. 
Después de entrar en la BIOS por primera vez, cargar sus valores por defecto y salir salvándolos; volví a instalar la segunda tarjeta gráfica y ya completó el POST correctamente con el SLI. Esto fue con una versión de BIOS bastante prematura, si no recuerdo mal la 020.


Ver todos los castigos sobre Mundo PC
Twitter: @dPunisher1337