• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

iMac G3 (Rev A -> C) G4 CPU Upgrade

LightBulbFun

Well-known member
Awesome! glad to see the G4 Pismo thing is working well for you :)  

I say you should be able to clock the 500Mhz 7410 to at least 550Mhz with out any issues, my 500Mhz 7410 is happily stable at 600Mhz in my Pismo :)

im still doing some work on it but I do have something quite Awesome to report my self, ill revel all once im done setting it up :)

 

FacnyFreddy

Well-known member
I might try using some liquid trace to get my 400MHz board running at 500MHz and leave it there.

I'll let folks know when I get around to it.

Awesome! glad to see the G4 Pismo thing is working well for you :)

I say you should be able to clock the 500Mhz 7410 to at least 550Mhz with out any issues, my 500Mhz 7410 is happily stable at 600Mhz in my Pismo :)

im still doing some work on it but I do have something quite Awesome to report my self, ill revel all once im done setting it up :)
 

Bolle

Well-known member
Getting back at those cache issues... the 7410 removes the feature to handle 3,3V on the cache bus signal lines.

The 7400 and all the 750s can run the cache I/O at 3,3V. 2,5V should be possible as well with the 750, which is also supported by the 7410.

I noticed that my the cache on my Nubus G3 accelerator has 3,3V cache and did not yet try to put the 7410 on due to that fact.

Did anyone check their boards what kind of cache they are running? Voltages not matching could explain the flaky cache behaviour of some of you in here.

 

max1zzz

Well-known member
You know, I have a feeling my iMac g3 had 3.3v cache in it, i'll have to go and check that.... Good Spot!

 

Bolle

Well-known member
Easiest way to get those to work would probably be to get cache chips that run on 3,3V Vdd and support 2,5V on the I/O bus.

I am not completely sure yet how the setting for 3,3V cache on the 750/7400 corresponds to the 7410 and at what voltage the 7410 is trying to drive the cache.

Either way the 3,3V cache is not going to work correctly if driven at either of the two possible settings on the 7410 be it 1,8V or 2,5V.

Lets hope the 7410s did not take any damage from the 3,3V coming from the cache chips.

 
Last edited by a moderator:

LightBulbFun

Well-known member
thats a a very good spot :) (I saw it in the datsheet but never gave it much thought...) must also explain why (aside from core voltage) why my 7410 did not Post properly when soldered onto the 266Mhz ZIF... (iv not checked the L2 cache voltage on that but id not be surprised if its 3.3v as its an earlier G3 ZIF)

we really need to find schematics for these boards. it would tell us how to set these voltages I imagine :) (the PowerBook and iMac G4 schematics I have come across do tell you how to set core voltage :) )

untill we work out a fix for the 3.3v cache issue we can use 7400 Chips for these machines as the 7400 supports the 3.3v L2 and its still a G4 :) .

 

Bolle

Well-known member
The cache bus voltage is set by tying the L2VSEL pin on the 7410 to different levels:

If this pin is pulled to ground the cache interface will run at 1.8V. If it is pulled high (or better tied to HRESET as the datasheet suggests) the interface will run at 2.5V.

This setting must match the voltage present on the L2OVdd pins.

The 750 does not seem to have the option to set this via configuration pins but it rather just outputs the voltage to the cache bus that is supplied to the L2OVdd pins.

The 7400 offers the possibility to use 1.8V, 2.5V as well as 3.3V. It has a L2VSEL configuration pin like the 7410 has and supports the following settings:

0 -> 1.8V

HRESET -> 2.5V

1 -> 3.3V

The same rule as for the 7410 applies here as well - the voltage supplied to L2OVdd has to match your chosen setting on L2VSEL.

With three possibilities how the unused pin on the 750 is connected on the processor board/ZIF module/accelerator you might get flaky cache, no cache at all or even no POST conditions.

I will buzz out the setting on my Sonnet Crescendo G3/Nubus and see if a 7400 could work with the cache. The problem you will end up with is, that on most boads from that time there is no seperate voltage regulator for the cache bus but it just takes the 3.3V coming from the PSU. As soon as you have a seperate regulator like on the later G4 processor cards you can just change it for a new one together with the cache chips.

 
Last edited by a moderator:

LightBulbFun

Well-known member
interesting thats some good info there :)

when you say 750 are you talking about the MPC/XPC750 or the PPC750L? as the PPC750L by IBM has 1.8v 2.5v and 3.3v cache support.

IBM PPC750Ls seem quite popular on 300Mhz and faster G3 upgrades from sonnet etc and in apple PowerBooks/iBooks/iMacs, I have only ever seen one on an Apple ZIF tho, the PPC750L fitted Apple CPU cards/logic-boards also have the best rate of success when you swap out the chip for a 7410, possibly due to the L2 cache thing? (I know also it works well as the core voltage is nice and in line with a 7400/7410) http://datasheets.chipdb.org/IBM/PowerPC/7xx/PowerPC-740-750.pdf here is a data sheet, perhaps theres some interesting information here...

 
Last edited by a moderator:

LightBulbFun

Well-known member
I am happy to report some good news in regards to my Pismo that I upgraded the CPU on

as I mentioned in my other posts in this thread, while the CPU Swap went well it seemed the L2 cache did not want to work. a few weeks later i decided to give the 7410 a reflow to see if it would fix the L2 cache issue...

while that did fix the L2 cache issue it was only temporary as soon after the L2 cache died again... but this did tell me that it was an issue with one of the BGA Balls.

so fast forward a bit and on the advice of Max1zzz i recently got some MUCH better solder Flux, with this in mind i decided to try another reflow to see if i could permanently fix my L2 cache issues using the new flux

so I applied a ring of this flux around the CPU and used the hot air gun to push it under the CPU and reflow the CPU in the hopes to clean out any crud and stuff from under the CPU and help the dodgy ball(s) reflow into place. and man during the reflow you should of seen all the nasty old flux from the original CPU swap come out from under the CPU, it was fun cleaning that off of the PCB :) after i had finished letting it cool down i had a look at the BGA balls under the CPU and they looked much better then before so the new flux i got seemed to of done a good job and when i put the CPU card back into the Pismo and fired it up Bingo i was greeted with working L2 cache! and this time it seems to be holding as well :) i was able to complete a geekbench run in leopard with no issues :D  https://browser.geekbench.com/geekbench2/2631615

overall this Pismo is now quite snappy with its 600Mhz 1MB L2 G4 :)

IMG_0042.jpg.d2089581dd4ff5be34bb134e7559d97d.jpg


 
Last edited by a moderator:

Bolle

Well-known member
Could you check what type of cache you have in there? Should be 2.5V chips if it works right out of the box with the 7410.

 

LightBulbFun

Well-known member
im going to guess finding the voltage of the L2 requires googling for the specific chips data sheet?

when i get to the CPU card again (likely when i upgrade it to 1GB of RAM) ill make sure to grab a picture of the L2 and to check what voltage it is :)

I have other Systems/chips i can check the voltage of for you if you want me too :)

 

HeatedCane

Member
You know, I have a feeling my iMac g3 had 3.3v cache in it, i'll have to go and check that.... Good Spot!
hey Max,

So i literally just went through this entire thread and read the whole thing and it is quite impressive what you and Light bulb have accomplished.. i acquired a couple of clamshells and would love to have one modded to push 500-600mhz if possible. I am usually pretty confident when it comes to soddering and modifying electronics (mostly old video game systems like gamegears, gameboys, and older sega and nintendo consoles)but i just got into the whole vintage mac thing because growing up i'd always been a fan of the clamshells so i decided to go out a buy a few. I've already upgraded the ram and i am waiting to reecieve a IDE-cf adpater to replace the hard drive..and from reading this thread i see i don't have all the right tools to accomplish the mod..  would you work somehting out if i gave you a clamshell and sent the board of another to you would you be able to mod my board? (obviusly id take care of all shipping) let me know if we can work something out?

 

Bolle

Well-known member
I had a 7400/400 fall into my hands when going through the spare parts box... No idea where it came from but it was perfect for replacing the G3 on my Crescendo/Nubus.

Used the rainy day today to finally get around to try this on one my G3 cards which seemed to be dead anyways. It crashed instantly once the Sonnet extension was supposed to load and hand things over from the onboard 601 to the accelerator.

I measured the supply voltage on both of my Crescendo/Nubus cards. The 266MHz one I was using for this experiment is running the CPU at 2.7V while the 300MHz working one is running at 2.2V.

With the 7400 which should be able to run at 2.7V from earlier reports in here (and not messing with the working 300MHz card) I went ahead and swapped the G4 right in:

IMG_3634.JPG

Crossed fingers, stuck it into my 7100/80 and got greeted by a Crescendo G4 logo once the Sonnet extension loaded. Checking metronome shows a 260MHz 7400. Full 1MB of cache are detected and running at 130MHz.

It is running pretty hot and crashes now and then - I guess due to heat.

Now to figure out how to change the Vcore supply. Both of my boards are the same revision and use a LTC1430 for voltage regulation. It seems however that Sonnet did not decide to implement it like any of the examples in the datasheet.

Instead of using an external resistor network to set the voltage they are running the voltage regulator with its internal resistor network for 3.3V output and have a diode in the feedback/sense path to bias the output measurement somehow.

The only thing that I could find that differs between my two boards is one resistor and the type of the diode used.

Another thing to figure out is how to set the processor frequency. This must be programmed entirely in the small FPGA. Some of Sonnets FPGA implementations still had SMT resistor switches that are connected to the FPGA and let you set the multiplicator but this is not the case on the Crescendo/Nubus boards.

I might try swapping the FPGAs between both cards to see if that changes the speed as well.

 

LightBulbFun

Well-known member
I had a 7400/400 fall into my hands when going through the spare parts box... No idea where it came from but it was perfect for replacing the G3 on my Crescendo/Nubus.

Used the rainy day today to finally get around to try this on one my G3 cards which seemed to be dead anyways. It crashed instantly once the Sonnet extension was supposed to load and hand things over from the onboard 601 to the accelerator.

I measured the supply voltage on both of my Crescendo/Nubus cards. The 266MHz one I was using for this experiment is running the CPU at 2.7V while the 300MHz working one is running at 2.2V.

With the 7400 which should be able to run at 2.7V from earlier reports in here (and not messing with the working 300MHz card) I went ahead and swapped the G4 right in:

View attachment 20989

Crossed fingers, stuck it into my 7100/80 and got greeted by a Crescendo G4 logo once the Sonnet extension loaded. Checking metronome shows a 260MHz 7400. Full 1MB of cache are detected and running at 130MHz.

It is running pretty hot and crashes now and then - I guess due to heat.

Now to figure out how to change the Vcore supply. Both of my boards are the same revision and use a LTC1430 for voltage regulation. It seems however that Sonnet did not decide to implement it like any of the examples in the datasheet.

Instead of using an external resistor network to set the voltage they are running the voltage regulator with its internal resistor network for 3.3V output and have a diode in the feedback/sense path to bias the output measurement somehow.

The only thing that I could find that differs between my two boards is one resistor and the type of the diode used.

Another thing to figure out is how to set the processor frequency. This must be programmed entirely in the small FPGA. Some of Sonnets FPGA implementations still had SMT resistor switches that are connected to the FPGA and let you set the multiplicator but this is not the case on the Crescendo/Nubus boards.

I might try swapping the FPGAs between both cards to see if that changes the speed as well.


this is very Awesome!

its cool to see the L2 cache is working, what is the L2 cache voltage on this card? because the 7400 requires a certen pin be pulled high or low etc to set cache voltage, where is the MPC750 just passes it straight through IIRC. so its neat to see L2 works at all.

and yeah 7400s run quite hot let alone being overvolted to such extent. would be good to get the Core voltage in range so it does not kill the chip.

I have wondered for a long while how Sonnet CPUs set their speed exactly, I imagine doing it the FPGA route was not cheap, wonder if theres an EEPROM with configuration data that we might be able to dump n hack?

also, quite curious how the Sonnet L2 for TAMs 6400 6500s etc work, because for example on a 500Mhz one to get 500Mhz on a 40Mhz bus is more then 9x, which is max multiplier of an early G3/G4. so how are they getting 500Mhz is there some separate clock going for the PLL?

anyways its very cool to see people continuing with these Awesome CPU swaps :)

 

Bolle

Well-known member
I did a CPU swap on the Pismo today and decided I did not really like the 7410 running at 2.0V. The 7410 I used is meant to be run at 1.8V in normal operation. If not overclocked it might even run stable at a little bit less.

I ripped the Pismo apart to check what kind of buck controller it is using and to change the core voltage on the logicboard if needed.

On the bottom of the board a MAX1636 can be found which is responsible for generating the 2.0V CPU core supply:

MAX1636.jpg

The MAX1636 has one feedback (FB) input for setting the output voltage. It can either be tied to ground or Vcc for fixed 3.3V or 2.5V output respectively.

By connecting FB to the output voltage through a resistor divider one can set the output voltage to any value.

I traced where FB is going in the Pismo and luckily it is routed to the CPU daughtercard where said resistor divider is located at R111, R112, R113 and R160:

resistors.jpg

The output voltage is calculated using the following formula:

Vout = Vref * ( 1 + R1 / R2 )

with Vref = 1.1V

R1 and R2 should be between 5k and 100k

On the Pismo CPU card R1 is formed by R160 and is populated with a 10k resistor.

R2 is formed out of R112 and R113 in parallel and R111 added to them in series. R111 is populated with 11k and R113 has a 0.576k resistor installed. R112 is left blank. R111 and R113 add up to 11.576k

To do the math this gives us 1.1V * ( 1 + 10k / 11.576k) = 2.05V

I took some resistors I harvested from old boards and put on 56k for R160 and 100k for R111. R113 is bridged with 0 ohms. Doing the maths should give me 1.716V.

CPU is running fine so far at 500MHz. I will be doing a few more tests to see if it is reliable and then might order correct resistors to go up to 1.8V if needed.

 
Last edited by a moderator:

LightBulbFun

Well-known member
I did a CPU swap on the Pismo today and decided I did not really like the 7410 running at 2.0V. The 7410 I used is meant to be run at 1.8V in normal operation. If not overclocked it might even run stable at a little bit less.

I ripped the Pismo apart to check what kind of buck controller it is using and to change the core voltage on the logicboard if needed.

On the bottom of the board a MAX1636 can be found which is responsible for generating the 2.0V CPU core supply:

View attachment 21209

The MAX1636 has one feedback (FB) input for setting the output voltage. It can either be tied to ground or Vcc for fixed 3.3V or 2.5V output respectively.

By connecting FB to the output voltage through a resistor divider one can set the output voltage to any value.

I traced where FB is going in the Pismo and luckily it is routed to the CPU daughtercard where resistor divider is located at R111, R112, R113 and R160:

View attachment 21210

The output voltage is calculated using the following formula:

Vout = Vref * ( 1 + R1 / R2 )

with Vref = 1.1V

R1 and R2 should be between 5k and 100k

On the Pismo CPU card R1 is formed by R160 and is populated with a 10k resistor.

R2 is formed out of R112 and R113 in parallel and R111 added to them in series. R111 is populated with 11k and R113 has a 0.576k resistor installed. R112 is left blank. R111 and R113 add up to 11.576k

To do the math this gives us 1.1V * ( 1 + 10k / 11.576k) = 2.05V

I took some resistors I harvested from old boards and put on 56k for R160 and 100k for R111. R113 is bridged with 0 ohms. Doing the maths should give me 1.716V.

CPU is running fine so far at 500MHz. I will be doing a few more tests to see if it is reliable and then might order correct resistors to go up to 1.8V if needed.


very cool!

thank you for taking the time to reverse engeniner the Pismos Vcore stuff :)

my Pismo is still humming along just fine at 2.0V with a Core Clock of 600Mhz :) the CPU Cooler does a surpassingly good job and keeping the overclocked 7410 cool.

have you had any luck in reducing the core voltage on the sonnet CPUs BTW?

it would be very interesting to know what resistors on Apple ZIF Cards set the core voltage...

 

Bolle

Well-known member
it would be very interesting to know what resistors on Apple ZIF Cards set the core voltage...
This should be easy. I seem to remember from looking at the pinout the last time that there are Vid pins present on the ZIF module which tell the VRM on the logicboard or carrier card what voltage to deliver.

The buck controller on those however has digital input pins (usually 5) to set the voltage. If you have a G3 board it should not be hard to trace the connections from the controller on the VRM to the ZIF socket and from there to the correct resistors.

Did not yet look into the Nubus upgrade any further. But will do once interest in that one kicks in again ;)

 
Last edited by a moderator:

LightBulbFun

Well-known member
I know the Voltage is set by the CPU ZIF module  :)  (If you read back near the start of this thread you can see me discuss what might be the VID resistors) I have seen a few different designs of ZIFs including some sexy IBM ones with metal capped Cache chips :)

but you have a pinout of the 300Pin ZIF? Do you mind sharing/telling where you found it? I Know IBM Used it as well in some of the RS/6000 line of computers IIRC so its prolly not apple proprietary so to speak so i guess it aint that surprising its out there :)

 
Last edited by a moderator:

Bolle

Well-known member
Further testing shows that it seems to be rock solid at 1,75V@500MHz now.

It's staying really cool, keyboard is barely getting warm.

For the ZIF pinout, I think I do not have it saved somewhere around here but I have seen it on the net. Can't seem to find it now though.

I will grab my ZIF carrier and find out the VID pins on the ZIF sometime soon if that pinout does not show up by then.

 
Top