lunes, 28 de abril de 2008

OverClocking

Yordan Pérez [truano@infomed.sld.cu]

Quiero comenzar este articulo explicando que la técnica del Overclocking es en extremo peligrosa para nuestra PC, a medida que vayan leyendo el articulo se darán cuenta de porque lo digo, y una vez mas quiero recalcar que lo estoy escribiendo mas por el hecho de que todos sepan que significa y como se realiza un Overclocking que para que lo realicen, a mi mismo jamás me ha gustado Overclockear la PC, si necesito mas potencia sencillamente la compro, si luego de leer mi articulo alguien decide hacerle Overclocking a alguno de los componentes de su PC y algo les sale mal, no me responsabilizo por los resultados.

¿Qué es Overclocking?

Es toda técnica que permita poner a trabajar una parte de hardware de la PC por encima de los términos para los que fue fabricado, básicamente se le hace Overclocking a Procesador, Memorias RAM y Tarjetas de Video, aunque algunos extremistas también lo han logrado con Placas de Sonido y Modems.
Lo primero a tener en cuenta cuando se hace Overclocking es que cuando forcemos por ejemplo un procesador a trabajar por encima de la velocidad a la cual se supone que sea estable, este comenzará a generar mas calor, así pasará con casi todas las piezas a las cuales forcemos, entonces, nuestro principal ojo tiene que estar vigilando el voltaje y la temperatura a la cual están trabajando dichas piezas, mientras mas forcemos, mas tendremos que ventilar, para llegar a ser buenos Overclockers tenemos que convertirnos antes en especialistas de la refrigeración de nuestro PC, y no creo que mi articulo sobre enfriamiento del PC los ayude demasiado en ese sentido, hay que hacer mucho mas que convección forzada, pero ya lo veremos en este articulo.

¿Por qué Overclockear?

Todos los procesadores de una misma familia y tecnología se fabrican de igual manera, es decir, por lotes, ya luego de fabricados se le hacen pruebas exhaustivas de rendimiento y temperatura para llegar a categorizarlos según su punto mas estable o (ojo aquí) según la ley de oferta-demanda que exista en el mercado en ese momento, imaginemos que se está realizando la fabricación de micros Intel genuinos Hyperthreading con el bus a 800 Mhz y 1 mega de cache L2, de este tipo de micros existen desde 2,4 hasta 3,2 Ghz, al terminar su fabricación la mayoría cumple los estándares para trabajar por ejemplo a 3,0 Ghz, pero en ese momento hay mas demanda de micros a 2,6 por que su precio es mas asequible, Intel por supuesto va a preferir etiquetarlos como 2,6 y que se vendan todos, luego al llegar al usuario final este compra un micro a 2,6 y la mayoría de las veces no sabe que puede tener entre sus manos un 3,0 Ghz.

¿Cómo realizar el Overclocking?

El componente mas importante en una computadora tanto si vamos a hacer Overclocking o no, es la MotherBoard (Placa Madre) ya que es ella el soporte físico para la mayoría de los demás componentes del PC, es ella quien permite la conexión entre estos y establece los parámetros bajo los cuales todos los componentes van a trabajar, cuando hacemos Overclocking estaremos cambiando dichos parámetros, por lo tanto lo principal es tener una Board con buenas prestaciones para realizar el Overclocking.

El Procesador

La Frecuencia de trabajo de un procesador es el producto de su multiplicador y su FSB (Front Side Bus) es decir Frecuencia = Multiplicador * FSB.

El FSB: es el Bus que comunica al procesador con el northbridge, a su ves el northbridge se comunica directamente con el bus de la memoria RAM, incrementar el FSB es lo que mas repercute en el rendimiento general del PC, aumenta tanto la frecuencia del procesador como el ancho de banda de la memoria.

El Multiplicador: Es un código que indica al procesador cuantas veces debe multiplicar el FSB para conseguir la frecuencia real de trabajo, citaré algunos ejemplos para los que puedan estar aun medio perdidos.
P II 450 MHz: FSB=100MHz, Mult=4.5X
PIII 866 MHz: FSB=133MHz, Mult.= 6.5X

Athlon XP 2200+ (1800MHz): FSB=133MHz, Mult.=13.5X
Athlon XP 2800+ (2000MHz): FSB=166MHz, Mult.=12X
Athlon XP 3200+ (2200MHz): FSB=200MHz, Mult.=11X

P4 2.0 "A": FSB=100MHz, Mult.=20X
P4 2.4 "B": FSB=133MHz, Mult.=18X
P4 3.2 "C": FSB=200MHz, Mult.=16X

Incrementar el FSB: En las board más antiguas tanto el FSB como los voltajes se establecían mediante jumpers, hoy en día se hace mediante la BIOS.
Cuando aumentamos el FSB aumenta la frecuencia general de trabajo del Procesador, hasta llegar un punto en que sea inestable, entonces llega el momento de modificar otros parámetros como (voltaje, timings de la memoria RAM, o el multiplicador).
La frecuencia nominal del FSB va ligada a las frecuencias AGP y PCI: por cada MHz que aumente el FSB aumentarán también los buses AGP y PCI, a razón de 2/3 y 1/4. Esto quiere decir que, si por ejemplo, si lo aumentásemos a 110MHz, también aumentaría el bus AGP a 66+(10x2/3)=72.66MHz y el PCI lo haría a 33+(10x1/4)=35.5MHz. Este incremento en los buses podría hacer que el equipo fuese inestable no ya por el overclock del microprocesador, sino por la frecuencia resultante en AGP y PCI.
Algunos chipsets, relativamente recientes, permiten bloquear los buses AGP y PCI: independientemente del FSB, siempre trabajarán a 66 y 33MHz, respectivamente (o incluso el valor que deseemos establecer). En otros casos, la placa base incorpora la posibilidad de elegir divisores más bajos a 2/3 y 1/4.
Tenemos dos métodos diferentes de hacer Overclocking a los procesadores en dependencia de si estos están bloqueados o no, aquí se los presentaré ambos.

Microprocesadores con el multiplicador bloqueado: iremos incrementando el FSB y comprobaremos que cada configuración nueva es estable. En el momento en que nuestro sistema sea inestable será el momento de conformarnos hasta donde hemos llegado y reducir el FSB o bien de incrementar el voltaje del microprocesador 0.025V (o el mínimo que nuestra Board permita) hasta que sea estable. Una vez el sistema es estable podemos seguir subiendo el FSB pero ahora en incrementos más pequeños y aumentando paulatinamente el Vcc a medida que sea necesario. Durante todo este proceso es recomendable tener la memoria en modo asíncrono de tal manera que no sobrepase sus especificaciones para cerciorarnos de que si el sistema es inestable lo es por el microprocesador. Así mismo, si tenemos CPU y RAM síncronos, hemos de estar seguros de que nuestra memoria lo permite. Para ello, en determinadas ocasiones, será necesario aumentar los timings de la RAM.

Microprocesadores con el multiplicador desbloqueado: el método es análogo al empleado en el caso de micros bloqueados pero reduciendo el multiplicador para conseguir el máximo FSB síncrono con la RAM. Así, si por ejemplo el límite de nuestro micro son 2300MHz, la mejor configuración será tener un FSB de 219MHz síncrono con la RAM (440MHz): 219x10.5=2300MHz. Cualquier otra configuración con FSB y memoria asíncronos, como 230x10, será menos eficiente.

Lo más sencillo podría ser reducir el multiplicador a un valor muy bajo (aunque la frecuencia resultante sea menor que la nominal) y encontrar el máximo FSB (síncrono con la RAM). Una vez hallado éste, se va incrementando el multiplicador hasta que el sistema sea inestable (lo será por el voltaje del microprocesador) y entonces o bien bajamos el multiplicador, o bien bajamos un poco el FSB, o bien aumentamos el voltaje del micro y seguimos "arañando" MHz.

Incrementar voltajes

Normalmente los microprocesadores funcionan sin ningún problema tanto a su frecuencia nominal como en un margen algo superior, variando este margen en cada microprocesador (nuevamente es función del stepping). Cuando queremos obtener una frecuencia superior a la que el micro es capaz de funcionar a su voltaje (Vcc) nominal, es necesario incrementar el Vcc para lograr nuestro objetivo. Las distintas configuraciones para el Vcc son función única y exclusivamente de la Board: en algunas existe un rango de valores amplísimo, en incrementos de 0.025V, mientras que en otras ni siquiera es posible modificarlo, aunque actualmente la tendencia es que cada vez las Board incorporan más opciones en cuanto a overclock se refiere.

Para aquellos que tienen un microprocesador Athlon XP o Duron Applebred y no dispongan de una Board que les permita seleccionar el Vcc deseado, existen mods aplicables tanto al microprocesador como socket de la Board para elegir el VCC deseado.

Además del Vcc, existen otros dos voltajes que también necesitaremos modificar para conseguir determinados overclocks:

El voltaje del chipset, Vdd, es un parámetro que sólo incorporan las Board claramente orientadas al overclock. Con un mayor voltaje en el chipset pueden conseguirse FSB más altos y, por consiguiente, mayor ancho de banda. Para los más radicales, existen otras alternativas para lograr voltajes muy superiores pero, dado que consisten en delicados mods y cada Board tiene un mod específico, no hablaremos de estos métodos aquí.

El voltaje nominal de la memoria RAM suele ser de 2.5V. Con la memoria RAM ocurre algo similar que con el microprocesador: mayores voltajes representan la posibilidad de conseguir más MHz. Lo normal es que las Boards tengan la posibilidad de elegir este voltaje en un rango de entre 2.5 y 2.9V, con incrementos de 0.1V.

La Memoria: Antes de "meterle mano" a la memoria RAM es conveniente familiarizarse con algunos conceptos y saber cómo trabaja:

La memoria RAM es como una matriz o tabla de datos. Los datos (unos o ceros) se dividen en celdas y la posición de cada celda se determina mediante filas y columnas. Cada celda es en realidad un condensador que estando cargado equivale al nivel lógico 1 y estando descargado equivale al nivel lógico 0.

Para obtener el dato que haya dentro de cada elemento (celda/condensador) se debe conocer la columna (CAS) y la fila (RAS) en que se encuentra. Para que la memoria funcione correctamente, el tiempo que tarden las señales eléctricas en acceder tanto a una fila como a una columna no debe ser inferior a determinados ciclos de reloj. Estos ciclos de reloj son lo que se conoce como timings. Son función de cada memoria y determinan la calidad y rendimiento de la misma.

CAS: es la abreviatura de Column Address Strobe. Suele llamarse también CL (CAS Latency) e indica el número de ciclos de reloj necesarios desde que se accede a una columna de la memoria RAM hasta que los datos llegan al registro de salida. La propia palabra latency ya nos indica que cuanto menor sea este parámetro más rápidamente podrá la memoria acceder a los datos y, por consiguiente, mejor será. Los valores típicos de CAS son 2, 2.5 y 3.

RAS: abreviatura de Row Address Strobe, es el mismo concepto que CAS pero para las filas en lugar de las columnas.
• Row-active delay: es el retardo cuando se direccionan dos filas de datos distintas en un mismo chip de memoria.
• Row-precharge delay: es el número de ciclos necesarios para almacenar internamente el valor de RAS.
• Ras-to-CAS delay: es el número de ciclos de reloj necesarios desde que se almacena el valor de RAS hasta que se envía el valor de CAS.

Los factores que más repercuten sobre el rendimiento son CAS, Ras-To-CAS y Row-precharge delay. Los mejores módulos de memoria permiten unos valores para estos parámetros de 2-2-2.

Bien, por lo visto hasta ahora podemos deducir que el overclock de la memoria RAM no tiene por qué ir exclusivamente ligado al aumento de su frecuencia: también podemos obtener una mejora sustancial del rendimiento (en torno al 5%,) modificando estas latencias o timings, siempre y cuando nuestra memoria permita apurar los valores por defecto del fabricante.

No obstante, lo más usual es forzar la velocidad de la memoria para que vaya síncrona con el microprocesador y aumentar el ancho de banda. Para esto nos veremos obligados a incrementar el voltaje de la memoria y los timings. A la hora de comprar un nuevo módulo de memoria RAM es importante que nos fijemos y que tenga un CL cuanto más pequeño mejor (2 es lo mínimo, 2.5 lo normal y 3 es el valor más alto), porque un CL pequeño representa la posibilidad de subir bastantes MHz más.

¿Qué es síncrono y asíncrono?
Existen dos formas en que la RAM puede trabajar: síncrona o asíncrona, en función de si trabaja a la misma frecuencia que el FSB o no. Nuevamente, ésta configuración se determina mediante la BIOS.

Cuando la proporción entre el FSB y la RAM sea de 1 a 1,esto es, 1:1 .... 6:6 (o 100% en algunas placas base), se dice que está en modo síncrono y es cuando más rendimiento obtendremos pues no se producirán "cuellos de botella" entre microprocesador y memoria: a medida que se vayan accediendo a los datos de la memoria éstos irán siendo procesados por el microprocesador. Dejaremos la opción del modo asíncrono para cuando no nos quede más remedio, es decir, cuando la memoria RAM no nos permita trabajar a la misma velocidad que el FSB de nuestro microprocesador; para ello seleccionaremos la relación más conveniente FSB/MEM. Así, un factor 5/4 indica que la RAM correrá a cuatro quintas partes (80%) de lo que lo hace el FSB.

Por ejemplo, si encontramos que el límite de nuestras memorias es de 450MHz y tenemos un FSB "equivalente" de 500MHz (para un Athlon XP sería un FSB de 500MHz, para un P4 sería de 1GHz, de ahí lo de equivalente) lo más sensato sería:

Microprocesadores con el multiplicador liberado: disminuir el FSB hasta 450MHz y aumentar el multiplicador de manera que la frecuencia resultante sea aproximadamente la misma pero en modo síncrono.

Microprocesadores con multiplicador bloqueado: seleccionar un ratio que deje la memoria lo más cercana posible a 450MHz pero sin sobrepasarla. En el caso de disponer de la placa base de arriba seleccionaríamos el valor 6/5 (83.3%), que daría una frecuencia resultante para la memoria RAM de 417MHz. En otras placas base, cifras como 10/9 (90%) nos permitirían tener la memoria a exactamente 450MHz.

La metodología para overclockear la memoria RAM es muy parecida a la del microprocesador: iremos incrementando la frecuencia de la misma hasta que dé algún error, momento en que aumentaremos su voltaje y/o timings.

Si tras aumentar el voltaje el margen que consideremos prudente (no recomiendo más de 2.8V) y haber subido los timings considerablemente (el tope aconsejable podría estar en 3-4-4-11) la memoria sigue siendo inestable, entonces hemos llegado a su límite y es el momento de disminuir poco a poco su frecuencia hasta que sea estable con esa misma configuración. Para calificar de estable una memoria se recomienda pasar el MemTest al encender el ordenador (para ello se ha de crear un disquet de inicio desde Windows con el mismo programa.

¿Cómo saber si el PC es estable?

Cargamos el sistema operativo y sometemos al microprocesador a una serie de benchmarks (programas que miden el rendimiento de los componentes), tanto para evaluar su nuevo rendimiento como para asegurarnos que no se cuelga al ser "exprimido" al 100%.

Conclusiones

El overclock no es una ciencia exacta, se basa en el método prueba-ensayo y suele requerirse un tiempo considerable hasta encontrar la configuración de máximo rendimiento. En función del uso que demos a nuestro PC, es muy probable que el tiempo invertido en encontrar el máximo rendimiento sea superior al tiempo que este rendimiento extra nos puede ahorrar.

A mi parecer, el overclocker no sigue un criterio objetivo (alguien ha notado -en micros desbloqueados, claro- tangiblemente la mejora de un FSB 400 a 440????) sino que se trata más bien de una cuestión subjetiva, de filosofía, una especie de satisfacción personal por ir más allá de lo permitido por el fabricante, de lograr más puntuación que tu vecino en un benchmark, de averiguar el límite de tu micro o memorias, o de conseguir igual o incluso más rendimiento con tu micro de 100$ que ese conocido que tan mal te cae y ha pagado por el suyo el triple que tú ;).

Siendo objetivos, si tu microprocesador se queda obsoleto a 1000MHz, indudablemente seguirá siéndolo a 1200 ó 1300MHz. ¿Merecerán la pena todas esas horas probando configuraciones, benchmarks y estabilidad, actualizando y reseteando BIOS cuando sea necesario, ésas corrupciones de datos en un intento de ir 50MHz más lejos, etc, etc, etc? ¿Acaso alguien con dos dedos de frente pone nitrógeno líquido en su microprocesador para obtener rendimiento?

No cabe duda, el overclocking es una filosofía.



Artículos relacionados


No hay comentarios: