Translate

lunes, 25 de diciembre de 2023

iMac G4 800 CPU SWAP

¡Hola de nuevo! parece que le he cogido el gustillo otra vez a esto de publicar, lástima que cada vez quede menos público aficionado a los Macs PPC, pero esto no lo hago por el público, lo hago para divertirme, así que vamos adelante. 

Esta vez me he animado a realizar un CPU SWAP a un iMac G4 800MHz.

Encontré bien de precio un iMac G4 800, porque tenía algunas rayas en la pantalla y algún pixel muerto. No sería un equipo "bonito" para colección, pero sí para jugar con él.

La mayoría de gente que busca Macs G4 intenta conseguir de los últimos modelos, con bus a 167MHz y con la mejor CPU posible, y yo también tengo alguno, pero les tengo cariño a los modelos con bus a 100MHz, porque mi primer G4 fue un Gigabite Ethernet 400MHz con bus a 100MHz, al que le hice muchos upgrades posibles e imposibles. 

 

Los primeros iMac G4 equipaban procesadores G4 de la familia MPC745x, concretamente la serie 7451 con velocidades de 700 y 800MHz. Estas primeras CPUs 745x no permitían mucho overclock, puesto que incluso las versiones de 800MHz llevaban procesadores de 700MHz "garantizados" a 800MHz, fijaos sino en la inscripción del procesador:


XPC7451RX700CE seguido de RX800RE*. 

Los procesadores de tirada continua empezaban por MPC, estos empiezan por XPC, que eran la tirada de pre-producción para validar la serie, y en este caso la referencia era RX700 y seguido RX800* para indicar que soportaban los 800MHz. 

Todos los XPC745x y MPC745x comparten el mismo pinout, son intercambiables entre ellos. Todos funcionan alrededor de 1.6V, a excepción de los MPC7457 que salieron cuando Apple ya montaba G5, que funcionan a 1.3V y duplicaban la caché L2 a 512kb. 

Antes de avanzar, pasé un test GeekBench tal cual de serie, con los 512MB de RAM que equipa:

Aunque me hubiera gustado utilizar un MPC7457, me resulta complicado conseguir uno, y además los precios son elevados.

Pero se cruzó en mis manos un procesador de XSERVER G4 a 1.33GHz, con 2MB de caché. Eran compatibles con los procesadores de MDD, sólo que las versiones de un sólo procesador XSERVER equipaban 2MB L3 de caché en lugar de 1MB en los MDD.



Este procesador sería un buen empujón para el iMac G4, que con buena refrigeración seguramente podría llegar más allá de los 1.33GHz, pero ese tema lo dejamos para más tarde.

Monté el procesador en mi MDD para verificar que funciona y pasar un Geekbench para después poder comparar:

No está nada mal, me da un valor parecido a un QuickSilver 2002 con un Gigadesigns 1.6GHz MPC7447, y casi duplica el resultado del iMac.

Pero está claro que en el iMac no llegará ni por asomo a esa puntuación, primero porque el bus de iMac es de 100MHz y el del MDD es de 167MHz, además de que en el iMac no contará con caché L3.

Una vez elegido el donante, toca desoldarlo de la placa original y hacerle el reballing.


Tras la preparación del procesador nuevo, sólo quedaba reemplazarlo por el original, tal y como realicé en el Mac Mini, precalentar y aplicar calor con el soldador de aire.

Y para empezar me pasé de optimista ajustando el multiplicador de velocidad en x16, pretendiendo alcanzar los 1.6GHz. Nada, hizo Chang pero la pantalla se quedó en negro. 


Así que decidí ajustar el multiplicador en x14 y dejarlo en 1.4GHz. Esta vez después del Chang el iMac arrancó y parecía funcionar:

Pero la alegría duró poco, a los pocos segundos se congelaba. ¡¡¡Toqué el disipador y estaba ardiendo!!! ¿Cómo podía ser? Pues muy sencillo, el equipo utiliza un ingenioso sistema de refrigeración, coloca un bloque sobre el procesador y un pipeline hasta un punto de anclaje del chasis, y todo el chasis hace de disipador, pero en lugar de utilizar cobre o aluminio, se les ocurrió utilizar un bloque y un pipeline de acero inoxidable, sisi, lo menos eficiente posible, suficiente para un 800MHz pero incapaz de disipar tanto calor. 

El ordenador de fábrica viene con el Vcore ajustado en 1.65V. El XPC7455RX1333, según datasheet su Vcore nominal es de 1.57V. No está muy alejado, pero tendría que intentar bajarlo.

Buscando en el esquema del iMac 820-1398, descubro que el voltaje se ajusta mediante dos resistencias, R258 y R262. Estas están cerca del procesador. De serie vienen con 36.5K y 15k respectivamente:

El primer paso sería bajar a 1.55V, sólo habría que cambiar R262, o añadirle en paralelo otra resistencia para acercar el valor a 12.7k, y exactamente añadiendo en paralelo una resistencia de 82k obtendríamos 12.7k. Pero esas resistencias son muy pequeñas, como para añadir otra en paralelo, pero observando la placa base, me doy cuenta de que tengo dos puntos cercanos que ya están en paralelo con R262:

¡Muy fácil! Añado en esos dos orificios una resistencia de 82k:

 Ahí al fondo la podéis ver. Ese condensador verde que veis ahí es algo opcional que he añadido. Es un condensador LowESR en paralelo con los condensadores del Vcore. Lo he añadido porque es más eficiente que los de tántalo SMD a la hora de estabilizar voltaje, es un poco grande porque es para 10V, y estamos trabajando con 1.55V, es temporal. La posición final, por ahora, será esta:


Una vez ajustado el voltaje a 1.55V, vuelvo a arrancar y le ejecuto un Geekbench de nuevo, este funciona hasta pasado un minuto, cuando se cuelga de nuevo, el disipador está ardiendo. 

Incluso le había mejorado un poco la conducción del disipador hacia el chasis, añadiendo una lámina muy fina de cobre, con pasta térmica en ambos lados.

Toca bajar más el voltaje, esta vez hasta 1.5V, ajustando R262 hasta que sea 11.5K, valor que se consigue añadiendo en paralelo una resistencia de 51k en lugar de la de 82k. 

Repetimos el test y casi llegamos a los dos minutos de test Geekbench cuando se cuelga de nuevo, y el disipador todavía se nota caliente, no tanto como antes. 

Ya un poco sin esperanzas cambio la resistencia de 51k por otra de 30k que nos da un voltaje de 1.43V, bastante más bajo, muy por debajo del 1.57V nominal del datasheet.

Repito los mismos pasos, y esta vez el test Geekbench aguanta casi dos minutos y medio antes de congelarse, pero la diferencia es que el disipador ya no está tan caliente. 

Mi deducción ante el resultado es que el voltaje suficiente para mantener estable 1.4GHz lo hace funcionar a demasiada temperatura en este equipo, y un voltaje bajo que nos de una temperatura aceptable no es suficiente para 1.4GHz, así que no me toca otro remedio que bajar a 1.3GHz. En esta imagen cuyo original es cortesía de thundernerd.com os dejo el ajuste x13.

Y vuelta de nuevo a montar y probar. Primero el Chang, y acto seguido se activa la pantalla. Arranca sin problemas:

Vamos allá, ejecutamos Geekbench:

¡Superado! Consigo unos 250 puntos más que con el procesador a 800MHz. A 1.43V, el disipador se nota caliente pero nada exagerado. Para acabar de validar el ajuste, ejecuto un test de estrés en Geekbench:

Tras una iteración completa y sin errores, el disipador parece ser capaz de refrigerar este procesador a 1.3GHz.

Seguramente con un MPC7457 sería posible alcanzar velocidades mayores, será cuestión de pedirlo a los Reyes Magos...

Aunque el capítulo termina aquí, mis planes para este iMac G4 no terminan, tengo otras mejoras en mente que aplicar a esta placa base, pero de eso hablaremos más adelante. 

¡Gracias por vuestra visita!


No hay comentarios:

Publicar un comentario