Todo el mundo, de una forma u otra, tiene que enfrentarse en algún momento durante la vida de su equipo informático contra velocidades de bus, de microprocesador, multiplicadores, overclocking y toda una serie de cosas que, en realidad, son diferentes aspectos de lo mismo. Esa idea subyacente a todas esas cuestiones es la que vamos a intentar desvelar hoy aquí.
Un poco de historia: velocidades y multiplicadores
Hace mucho, mucho tiempo, en una industria ya lejana, los procesadores de las primeras generaciones no distinguian ninguna de los conceptos anteriormente mencionados. Simplemente, todo funcionaba a una única velocidad. Eran los tiempos de los 286 a 16 MHz, los 386 a 20 MHz y cosas similares.
Y entonces llegó el 486. El i486 fue un chip fabricado con una nueva tecnología, con unas pistas más finas. Las famosas micras. Por aquella epoca se estaba rondando las 0.5 micras, mientras que ahora la mayoría de procesadores son de 0.35 y 0.25 micras. Este dato puede parecer simplemente informativo, pero es muy importante. Las micras de fabricación de un circuito de muy alta integración, como puede ser un microprocesador, influye directamente en su velocidad, temperatura disipada y potencia. Cuanto menores son las micras, más rápidamente puede funcionar ya que las distancias son más cortas, así mismo, el consumo energético es menor y es posible disminuir el voltaje requerido por el circuito, disminuyendo el calor generado y por tanto, pudiendo acelerar más el procesador sin correr el riesgo de fundirlo. Además, tamaños más reducidos en las pistas del circuito permite, en la misma area útil del semiconductor, poner más transistores, y por tanto darle más funcionalidades al microprocesador, o incluir pequeñas memorias que actuen como caches.
Volviendo al tema del 486, Intel se encontró con que podia ir aumentando fácilmente la velocidad de trabajo de sus microprocesadores, y así empezó a saltar desde el 486 a 25 MHz, a 33 MHz. En este punto empezaron los problemas. Hacer trabajar el microprocesador a 33 MHz era fácil, pero que el resto del sistema estuviera a la altura, no lo era tanto. Aquí se empezó a escindir las velocidades de bus con las velocidades del microprocesador. El 486 DX2 a 50 MHz funcionaba, como su nombre indica, a 50 MHz cuando se trataba del interior del microprocesador, pero a 25 MHz cuando se comunicaba con el resto del sistema, o lo que es lo mismo, esa era la velocidad del bus. El bus no es otra cosa que un cable donde todo el mundo se conecta para poderse comunicar. Os lo podéis imaginar como una calle a donde se conectan las casas. Para ir de una casa a otra, hay que pasar por la calle. Pues bien, las casas son los componentes del ordenador, y la calle es el bus. En el caso del 486 DX2 a 50 MHz, la calle funcionaba a 25 MHz, pero por el interior del microprocesador todo funcionaba a 50 MHz. Intel aún consiguió mejorar la velocidad del bus hasta 50 MHz, pero costó lo suyo. Sin embargo, el multiplicar por 2 la velocidad interna de trabajo permitía funcionar con un bus de 25 MHz, de probada fiabilidad. Así, empezo a trabajar sobre esta idea y vimos aparecer el DX2 a 66 MHz (bus a 33 MHz) y el DX4 a 100 MHz. Este último no era, aunque pueda parecer, un multiplicador por 4 sobre un bus de 25 MHz, sino que era un multiplicador por 3 sobre un bus de 33 MHz. El porque no se llamó DX3 a 100 MHz no se sabe con certeza, pero hay rumores sobre alguien que registró el nombre antes que Intel e impidió utilizarlo.
En aquella epoca, la cache de segundo nivel se encontraba en la placa base, y funcionaba por tanto, a la misma velocidad que el bus. Eso hacía que el procesador sólo pudiera comunicarse con la cache, y por ende con la memoria, uno de cada dos ciclos.
Tras algún tiempo con el 486, apareció el Pentium en sus dos versiones iniciales, a 60 y a 66 MHz. Irónicamente, los dos primeros funcionaban a la misma velocidad que el bus, ya que Intel había conseguido lanzar, mediante otro truco que ahora explicaremos, la velocidad del bus hasta 66 MHz. Estos dos primeros Pentium seguian fabricándose con tecnología de 0.5 micras, y tuvieron numerosos problemas de calentamiento, pues se estaba llegando al límite físico de esa tecnología. El truco que mencionabamos anteriormente era lo mismo que había hecho Intel con los 486, pero aplicado de nuevo a otra escala. El principal problema para aumentar la velocidad del bus no era la cache de segundo nivel, ni la memoria, ni el chipset, que son al fin y al cabo circuitos integrados que normalmente se compran nuevos con un nuevo procesador y pueden ser suficientemente rápidos. El problema estaba en las comunicaciones con las tarjetas de expansión del bus PCI. Este bus funcionaba a 33 MHz según su especificación, y de esa manera lo tenian en cuenta los fabricantes cuando diseñaba cualquier tarjeta. Lo que no podía hacer Intel era acelerar el bus hasta 66 MHz porque simplemente no funcionaría ninguna tarjeta. La solución era clara, hacer lo mismo que con los procesador, y de esta forma el bus PCI pasó a funcionar a la mitad de la velocidad del bus interno de comunicaciones, o como se solía denominar entonces, a la velocidad del chipset.
Intel volvió a cambiar su tecnología de fabricación pasándose a las 0.35 micras. Eso permitió solucionar los problemas de calentamiento que tuvieron los Pentium a 60 y 66 MHz. Llegaron los Pentium 75, 90 y 100 MHz, los tres con multiplicador de 1.5 y por tanto con velocidades de bus de 50, 60 y 66 MHz respectivamente. Inmediatamente aparecieron los Pentium 120 y 133 MHz, con multiplicador por 2 y por tanto con buses de 60 y 66 MHz. Esto declamó el abandono total de Intel del bus de 50 MHz. De hecho, el Pentium 120 fue el último con bus a 60 MHz, porque se vio que no salía a cuenta ya que incluso un Pentium 100 era a veces más rápido gracias a su bus ligeramente superior. Así, el resto de la gama Pentium se quedó con el bus de 66 MHz fueron subiendo imparablemente la velocidad pasando por 166 MHz (x2.5), 200 MHz (x3.0) y 233 MHz (x3.5).
En esta época, al montar los microprocesadores sobre las placas, se debía indicar casi todo lo necesario para hacerlos funcionar, desde el voltaje interno, hasta la velocidad del bus y el multiplicador. Nada impedía coger un Pentium 100 MHz y cambiar su multiplicador de 1.5 a 2.0 para tener un 133 MHz. El que funcionara o no era cuestión de la calidad de la fabricación de aquella remesa en concreto. Por supuesto, la gente no tardó en empezar a hacer pruebas con las configuraciones, que eran totalmente libres, y pronto se descubrió que la mayoría de micros podían funcionar un poco más rápido, e incluso algunos bastante más allá de su velocidad de fábrica.
Los procesadores son otro producto más fabricado en serie, y como tales no son siempre iguales, su calidad depende de muchos factores, alguno tan importante en este caso como la calidad de las planchas de semiconductor. Cuando un procesador se termina de fabricar, es sometido a diversas pruebas de velocidad para comprobar cuales soporta, dependiendo de la calidad obtenida y de la finura del proceso de fabricación. Una vez se averigua su velocidad máxima, normalmente se vende con una velocidad algo inferior para tener un margen de prueba. Los laboratorios pueden ser duros probando sus microprocesadores, pero no hay campo de batalla más duro que el interior de un PC de un usuario cualquiera.
Evidentemente, la calidad de la fabricación y de las materias primas influye directamente en la velocidad alcanzable de un microprocesador, pero no se puede ir aumentando indefinidamente, sino que existe un límite físico conocido. Ese límite viene impuesto por la propia tecnología de fabricación. Ya hemos dicho que la tecnología de los Pentium clásicos, excepto los dos primeros, era de 0.35 micras, igual que los Pentium II a 233, 266 y 300 MHz. El límite de esta tecnología parece que está un poco por encima de los 300 MHz. Esta claro que un Pentium II a 300 MHz es lo mejor que Intel (o nadie) puede crear con esta tecnología. Cuidado porque esta velocidad es para los diseños del Pentium de Intel. Otros fabricantes con otros diseños pueden conseguir mayores velocidades con la misma tecnología, aunque el procesador no necesariamente será más rápido por tener más MHz. Aunque eso es tema para otro extenso artículo futuro.
Afortunadamente (para Intel), por aquel tiempo la tecnología de 0.25 micras estaba lista para empezar a trabajar sobre ella. Así que Intel preparó su nueva factoría de 0.25 micras y lanzó su Pentium II a 333 MHz, velocidad que fue aumentando progresivamente.
Hemos dado el salto al Pentium II sin volver a mencionar nada sobre multiplicadores y velocidades de bus. Y la razón es que no hay nada que comentar, puesto que se seguía utilizando el bus de 66 MHz y multiplicadores cada vez mayores, hasta de un x5.0 para el 333 MHz. La cosa empezaba a ser un poco excesiva, e Intel decidió aumentar ligeramente la velocidad del bus. Ya hemos comentado que aumentar la velocidad del bus no es tan fácil como hacerlo de la velocidad interna del micro. Así, Intel consiguió aumentar el bus hasta los 100 MHz, lo que logró reducir en algunos puntos los multiplicadores y por tanto, la latencia de comunicación con el resto del sistema, especialmente la memoria. Con el bus a 100 MHz los slots PCI, por el mismo tema de compatibilidad que comentabamos antes, no abandonaron sus 33 MHz y simplemente pasaron de trabajar cada dos ciclos de bus a hacerlo cada tres.
Cuando se llegó a estas alturas, Intel estaba ya bastante harta de tener que luchar contra los remarcadores de procesadores. Estas personas utilizaban el overclocking y el margen de error de Intel anteriormente comentados para vender procesadores como si fueran de velocidades superiores, simplemente metiendo una pegatina encima (donde Intel indica la velocidad a la que deben ser utilizados) o llegando incluso a extremos de sofisticación increible con rebajados del serigrafiado y reimpresiones propias.
La solución adoptada por Intel a este problema fue bloquear el multiplicador del micro. Cómo lo hizo y otras cuestiones, vamos a intentar desvelarlas ahora.
Relojes y multiplicadores: una descripción interna
Cómo todo, o casi todo el mundo sabe, para conseguir un reloj muy preciso a un precio aceptable se utiliza un cristal de cuarzo. Efectivo y barato. Ahora bien, ningún diseñador de un microprocesador pondrá un enorme (comparativamente hablando) cristal de cuarzo en medio del nucleo de una CPU. Sin embargo, podemos crear un buen reloj con algo de lo que disponemos en abundancia en el microprocesador: transistores. Sin embargo, un reloj de transistores tiene algunos problemas, dos de ellos los hacen totalmente inviables para un micro. El primero es que son frecuentemente sensibles al calor, y como bastante gente debe saber, los procesadores se calientan bastante. La segunda razón, quizás más importante incluso, es que un oscilador de transistores tiene una frecuencia fija, no se puede variar sin variar el diseño y disposición de los transistores. Pero habiamos dicho que hasta que no fabricamos los micros no podemos saber a que velocidad lograran funcionar, por lo que definitivamente, no podemos poner un reloj de transistores.
Vistos estos problemas la mejor solución pasa por colocar el reloj fuera de la CPU, en la placa base. Eso permite poder incluir un buen reloj de cuarzo, muy fiables, precisos y no dependientes de la temperatura. Pero claro, también esta solución tiene un problema, aunque en este caso con solución. Con el reloj en la placa base dandonos la velocidad del bus, necesitamos que el procesador pueda funcionar más rápido. Aquí es donde aparecieron los multiplicadores. Aparece otro problema, esta vez ya más técnico, relacionado con la temperatura y la circuiteria interna del micro que recibe el reloj del bus. Para evitar estos problemas, la implementación real de un multiplicador utiliza un circuito llamado 'phase-locked loop' (PLL), que consiste en un oscilador controlado por voltaje y un comparador de frecuencias.
Bien, con la ayuda del PLL ya tenemos nuestro multiplicador funcionando con precisión matemática, y el reloj de cuarzo dando la señal del bus. Ahora bien, el multiplicador que se incluye puede funcionar con cualquier valor, no sólo con el que quiera Intel. Entonces, ¿cómo sabe el procesador que factor de multiplicación ha de utilizar? Se le programa durante la inicialización, y se lo ha de decir la placa. De ahí los jumpers y demás. Entonces, ¿cómo controla que usemos sólo una determinada configuración? Pues poniendo un circuito que está observando las entradas del micro durante la inicialización, y si detecta un factor erroneo, no deja arrancar al microprocesador. De esta forma, sólo hemos de añadir un pequeño circuito muy simple al micro para bloquearle el multiplicador.
Bloquear la velocidad de bus: ¿el siguiente paso?
A estas alturas del artículo, deberíais poder contestar a esta pregunta vosotros mismos. No parece ser fáctible actualmente. La única manera de bloquer una sola velocidad de bus sería poner algo que genere esa velocidad (o un múltiplo conocido) en el micro, pero estamos otra vez al principio de la historia. Desde el punto de vista del microprocesador, no puedes controlar la velocidad a la que estas funcinando sin tener una frecuencia conocida de referencia; y no puedes tener esa frecuencia de referencia en el micro sin entrar en los problemas que hemos comentado anteriormente.
Por supuesto, siempre se puede pedir la colaboración a la placa base, que sí conoce la velocidad a la que está ejecutando. En el caso de Intel, sólo haría falta un pin con dos señales, para 66 o 100 MHz. Y resulta que eso mismo ya se ha probado, el pin es el SEL100/66#, y al principio las placas lo implementaban, pero ahora las placas de gama alta no hacen caso de la señal y por tanto no sirve para mucho. Como se puede ver, Intel lo ha intentado y ha fracasado. No debe ser tan fácil.
La solución para los remarcados
Tras este inciso sobre multiplicadores y buses, retomamos nuestro repaso sobre los micros. Estabamos en el momento que Intel había introducido el bus de 100 MHz y había decidido bloquer los multiplicadores en sus chips para luchar contra el remarcado de procesadores. Como hemos dicho, actualmente no se bloquea la velocidad de bus, pero si el multiplicador. Entonces, ¿cual es el problema? ¿porque los remarcadores no cogen un Pentium II a 333 MHz con bus de 66 MHz y multiplicador de x5.0 y le ponen el bus a 100 MHz? Pues en ese caso pasaría que el multiplicador x5, que está bloqueado, haría funcionar el micro a 500 MHz. Ya dijimos que Intel trabaja con un buen margen... ¡pero no tanto!
Y llegó el Celeron
A estas alturas AMD estaba metiendo mucha presión contra Intel con su excelente K6, y la aparición del K6-2 fue realmente impactante para Intel. Semana a semana estaba perdiendo cuota del mercado de gama baja, dados los bajos precios y excelentes prestaciones de la familia K6. Para contraatacar, Intel lanzó el Celeron, un Pentium II sin cache de segundo nivel. Y claro, empezó sacando velocidades moderadas, como 300 MHz por ejemplo. Sin embargo, Intel ya estaba fabricando procesadores mucho más rápidos, y habían conseguido un sistema de producción muy refinado. Vamos, que eran demasiado buenos, y los Celeron 300 MHz tenian un margen enorme. Su bus funcionaba a 66 MHz, y aunque se pusiera a 100 MHz, pasando a funcionar a 450 MHz, seguian corriendo perfectamente (con un buen refrigerador).
¿Cómo es posible que el Celeron a 300 MHz pueda hacerse funcionar a 450 MHz, y en cambio el Pentium II a 300 MHz no? La razón estriba precisamente en la falta de cache de segundo nivel del Celeron. La excelente calidad conseguida por Intel se limita a lo que fabriquen con tecnología de 0.25 micras. Las caches que acompañan a los Pentium II se introducen a posteriori, y... ¿porque utilizar caches caras de 450 MHz si puedes poner una de 300 MHz y funciona perfectamente? Así, los Celeron 300 corren perfectamente a 450 MHz, pero no los PII a 300 MHz.
Mientras tanto, el mercado había recibido los primeros Celeron con humillación para Intel, ya que eliminar completamente la cache de segundo nivel de un micro que se utiliza básicamente para aplicaciones ofimáticas le resta un rendimiento considerable. Intel no esperó más, y incluyó una cache a su Celeron, pero lo hizo internamente en el microprocesador, con lo que es mucho más barato de fabricar y puede funcionar a la velocidad del micro. Aunque esto implica que se reduzca a la cuarta parte la cache, este dato no es tan importante, ya que sólo 128 KB de cache hacen mucho papel.
Pero por si alguien aún no se ha fijado, repetimos: la cache del Celeron se fabrica internamente en el micro. O sea... con su pastilla de 0.25 y excelenta calidad conseguida por Intel. Así que el famoso Mendocino 300A (un Celeron 300 con cache interna) también podía correr a 450 MHz sin problemas y con cache. Con la ayuda de la cache, un Celeron 300 corriendo a 450 MHz podía equipararse perfectamente a un Pentium II a 450 MHz costando muchísimo menos!
Y llegamos al momento actual...
Ahora mismo Intel dispone de la familia Celeron con cache de 366, 400 y 433 MHz, con 66 MHz de bus. Genial, ¿no? Podemos pasar al bus a 100 MHz y tenemos 550, 600 y 650 MHz. Bueno, pues no. La velocidad física máxima para la tecnología de 0.25 micras ronda los 500 MHz, o sea que no hay mucho más que hacer hasta que Intel no cambie a las 0.18 micras. De hecho, la historia se repite y la siguiente familia ya ha llegado a este límite: el Pentium III a 500 MHz. La razón por la que no salen aún más Pentium III es esta. Hasta que Intel no ponga a punto su método de fabricación de 0.18 micras no se podrá continuar la fabricación de Pentium III de mayores velocidades que 500 MHz.
Con las 0.18 micras podremos empezar a pensar en subir el bus hasta los 133 MHz del chipset Camino, el próximo de Intel. O los 200 MHz del bus EV6, propiedad de Alpha, del AMD K7. Con eso, los micros rondarán rápidamente los 700 MHz y para el próximo año llegaremos al tope probablemente de las 0.18 micras, que es algo superior al Gigahertz (GHz).
¿No es divertida la tecnología?
ÚLTIMA REVISIÓN EN
ABRIL
DE
1999