• 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.

How to set L3CR Cache for DIY G4 CPU Upgrade

hoi polloi

Active member
I've been tinkering with a BGA-swapped CPU card and I've had difficulty getting it to run at speed because of the L3 cache ratio.  The original 733MHz CPU works with a 4:1 ratio, but the 1400MHz chip needs 6:1.  Does anyone know how to set the L3CR register at or before boot time?  I suspect there is a way to do this in open firmware with a script of some sort.

Alternatively, is there a way to re-program the flash chip on the CPU card?

bga1400.png

 

Bolle

Well-known member
There is no way to set those in OF at boot time other than changing the values in the flash chip on the CPU module.

OF reads the configuration from there and applies the settings to the registers accordingly.

I have seen some documentation on what is stored on those chips in some Motorola documents somewhere...

Pretty sure Apple just used the standard Motorola design there so you might be able to find out about the underlying structure of what's inside the flash.

Two examples I dumped before:

1Ghz Single 7455A 1MBL3 MDD:

Code:
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C9300801 3030392D 36343535 01169B41
8410C0BC 8410CCBC 00000000 01120611
00000000 01140641 05780500 ED7E08C4
00000000 00000000 00000000 00000000
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF


1.42GHz Dual 7455B 2MBL3 MDD:

Code:
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
C9300801 3030392D 36343131 02169B41
8410C0BC 8410CCBC 00000000 01120611
00000000 01150661 05780200 ED3308DB
00000000 00000000 00000000 00000000
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF


It apparently has an Apple part number in it that differs between both (first line that is not FFFFFs...)

The rest has to hold information about the module itself, cache speed, etc...

 

Bolle

Well-known member
The Minipro TL866 can read them. Not sure anymore of what kind of chip they were but I think they were marked with manufacturer/model.

Not sure if there is a software way to read them... probably not.

 

hoi polloi

Active member
I don't suppose anyone here is able to flash these chips?  It's frustrating to be able to re-solder 600 connections and then get stopped by software.  This is the same issue with using the 7448...

I discovered that if I remove the flash chip the machine will boot without L3 enabled.  Is there a way then to enable the L3 after boot?  With Reggie, if I try to set the L3CR register this way I get an error.

 

trag

Well-known member
What kind of flash chip is the card using?   In what sort of package?

The TL866 with 28 adapters can be had on Ebay for about $150.    Probably one of the packages with fewer adapter would still have the one you need and cost a bit less.

I haven't looked into the counterfeit situation though.   In other words, I'm not sure that's a genuine product at that price.

 
Last edited by a moderator:

hoi polloi

Active member
The chip is a little 8-pin surface mount part marked 3402W.  Just about any G4 CPU card with cache chips will have one.  Even the 350MHz 7400 cards.

I've had some luck transplanting these chips, but I get some weird behavior.  I installed some 2MB cache chips, thinking it would work with the 1MB flash firmware but only show 1MB; it started to boot and spewed a bunch of weird error messages.  I tried a flash chip from a 2MB dual card and got different error messages.  With no flash chip it will boot with L3 disabled.  Did apple ever make a fast single CPU with 2MB L3?  Or any single with 2MB?  Maybe with enough of these chips and a reader I could work out a pattern.  I wasn't able to find any documentation on them from motorola (NXP).

Does anyone here have a TL866?

 

trag

Well-known member
If it's 8 pin, it's probably a tiny serial flash chip.  Unfortunately, it could be SOP, MSOP, TSOP and probably a few others I don't know about, all with slightly different geometries.

The good news is that there's usually (or was for older chips) an 8-pin DIP equivalent, which means (meant) one could just get a programmer with a ZIF DIP socket and use the software for the DIP version of the Serial Flash.   Then one bought a DIP to SM adapter (plenty of those for under $10 on Ebay) and plugged it into the DIP socket on teh programmer.   The disadvantage was that at those prices, the adapter didn't have a true socket, just pads, so one basically had to hold the chip down to the bare pads while using it.   But for small volume uses, that works okay.

The TL866 without zillions of adapters looks to be available for about $60.

But before buying anything, I would research exactly what make and model of chip is being used on those modules and make sure you're getting a programmer and some adapter scheme that supports the package/chip that you need to read/program.

 

Bolle

Well-known member
I have a lot of CPU cards... guess I should dump all the flash chips sometime soon.

I think there were XServes with 1GHz single CPU and 2MB cache. Those probably did run at 1:4 as well though.

 

hoi polloi

Active member
If you can read them, can you also write them?  The best result so far is the one in the first post, which is using the flash chip from a 1.25 MDD single with 1MB.  As you can see, it runs at 6x, and I've been able to get this card to work at 1.6GHz with the original 1MB cache chips.  That takes a lot more power than 1.4GHz though, so that's where I've been running it.

If we can figure this out, ideally I would like to be able to transplant the CPU and cache chips from a MDD card and run a single at 5x or 6x with 2MB.  I wonder what OWC would say if we asked them about the details of their aftermarket CPU cards. 

 

hoi polloi

Active member
I was able to make some progress on this.  It is possible to enable the L3 cache after boot.  This is a 733MHz 1MB L3 DA card that I swapped the CPU and cache chips, and removed the flash chip so that it would boot:

L3CRnoChip.png

 

hoi polloi

Active member
I have a lot of CPU cards... guess I should dump all the flash chips sometime soon.


Did you have any luck with this?

I found a dual 800MHz quicksilver CPU card to play with.  I swapped in a couple 7455B chips and it's working now at 1.2GHz with the 2MB L3 cache.  The 7455B chips are much better than the original 7450.  They're both faster and cooler at a lower voltage.  This board has a microcontroller chip on it.  Does anyone know what it does?

 
Top