@Callan and I had a fantastic weekend of hacking on Turbo 601 cards. We've worked up two fresh ones: how to upgrade it to 1MB of cache (instead of 256K) and also how to switch the CPU to a 4x multiplier.
1) 1MB Cache upgrade
The Turbo 601 has extended pads for larger SRAMs which add two address lines to quadruple the cache size. However, it seems that no cards shipped with 1MB actually installed. This a fairly easy upgrade: Install new 128K x8 SRAMs in SOJ32 package in place of the existing SOJ28 32k x8 SRAMs. I used IDT 71024S15TYGI8, but there should be other chips with the same pinout. Next move the 0 ohm resistors from R130 to R129 and R132 to R131. These are located near the bottom edge of the card between the 31.3344M oscillator and U44 one of the TAG SRAMs.
What these resistors control are two of the address lines on the TAG SRAM, which are disabled (pulled low) by default. This means when the Turbo 601 sizes and initializes its TAG SRAM it sees 8K * 8 instead of the actual 32K capacity of the installed TAG SRAM. 8192 * 32 byte cache line size = 256K of cache. When these jumpers are moved, the 601 ASIC can now address the full 32K capacity which is correct for 1MB of cache. So, it assumes 1MB of cache is present and we're off to the races. A corresponding speed increase is seen - Macbench 3 indicated a Processor score increase from 8 to 11. One thing to note though is the memory benchmarks (especially in System Info) start to be irrelevant as the cache is too large, so this score increase doesn't accurately reflect the real-world improvement. It's certainly there and depends more on workload than anything else.


Second picture is more proof, courtesy of @David Cook's cache test tool. Notice the change @ 32K as this is where the unified L1 32K cache starts handing over to the L2 cache. Then the L2 to main memory transition can be seen at 1MB -> 2MB. On an unmodified card this instead would have occurred at 256K-> 512K.
2) 4x Multiplier
This requires performing the instructions first written up here by @trag (attached as PDF) and then installing a 601v chip as described here. Take care to move R14 (107 ohms) to replace R15 and install a 90.9 ohm resistor in R14 in order to set the correct core voltage! There is no point playing with this without starting with a 100mhz card as the original CPUs can't support any useful clock frequencies with a 4x multiplier.
To change from the 3x multipler (for 100mhz operation @ 33.33mhz 601 local bus speed) to 4x, move R37 to R51. This has the effect of changing the FS0 bit of the 100mhz card's ICS9178-02 PLL from 0 to 1, which selects for 4x multiplication. Datasheet attached for the curious. Next, you'll need to install a 30mhz oscillator in place of the 33.33mhz oscillator: there's no way the 601 (or the PLL) will work at 133mhz
Benchmark-o-clock!

Multiplier changes should be regarded as a beta-quality modification currently, I've found it'll cause the card to fail to initialize about half the time and require the machine to be power cycled on and off (waiting about 5-10s between attempts) until it starts properly. Once running, the machine is stable and reboots correctly. I'll be poking at this to see if I can figure out what's going on. I managed to get the card to come up a couple of times at 125mhz (31.25). I also went a little lower than 30 for the sake of testing but i found initialization issues seem consistent as long as 4x is in place.
1) 1MB Cache upgrade
The Turbo 601 has extended pads for larger SRAMs which add two address lines to quadruple the cache size. However, it seems that no cards shipped with 1MB actually installed. This a fairly easy upgrade: Install new 128K x8 SRAMs in SOJ32 package in place of the existing SOJ28 32k x8 SRAMs. I used IDT 71024S15TYGI8, but there should be other chips with the same pinout. Next move the 0 ohm resistors from R130 to R129 and R132 to R131. These are located near the bottom edge of the card between the 31.3344M oscillator and U44 one of the TAG SRAMs.
What these resistors control are two of the address lines on the TAG SRAM, which are disabled (pulled low) by default. This means when the Turbo 601 sizes and initializes its TAG SRAM it sees 8K * 8 instead of the actual 32K capacity of the installed TAG SRAM. 8192 * 32 byte cache line size = 256K of cache. When these jumpers are moved, the 601 ASIC can now address the full 32K capacity which is correct for 1MB of cache. So, it assumes 1MB of cache is present and we're off to the races. A corresponding speed increase is seen - Macbench 3 indicated a Processor score increase from 8 to 11. One thing to note though is the memory benchmarks (especially in System Info) start to be irrelevant as the cache is too large, so this score increase doesn't accurately reflect the real-world improvement. It's certainly there and depends more on workload than anything else.


Second picture is more proof, courtesy of @David Cook's cache test tool. Notice the change @ 32K as this is where the unified L1 32K cache starts handing over to the L2 cache. Then the L2 to main memory transition can be seen at 1MB -> 2MB. On an unmodified card this instead would have occurred at 256K-> 512K.
2) 4x Multiplier
This requires performing the instructions first written up here by @trag (attached as PDF) and then installing a 601v chip as described here. Take care to move R14 (107 ohms) to replace R15 and install a 90.9 ohm resistor in R14 in order to set the correct core voltage! There is no point playing with this without starting with a 100mhz card as the original CPUs can't support any useful clock frequencies with a 4x multiplier.
To change from the 3x multipler (for 100mhz operation @ 33.33mhz 601 local bus speed) to 4x, move R37 to R51. This has the effect of changing the FS0 bit of the 100mhz card's ICS9178-02 PLL from 0 to 1, which selects for 4x multiplication. Datasheet attached for the curious. Next, you'll need to install a 30mhz oscillator in place of the 33.33mhz oscillator: there's no way the 601 (or the PLL) will work at 133mhz
Benchmark-o-clock!

Multiplier changes should be regarded as a beta-quality modification currently, I've found it'll cause the card to fail to initialize about half the time and require the machine to be power cycled on and off (waiting about 5-10s between attempts) until it starts properly. Once running, the machine is stable and reboots correctly. I'll be poking at this to see if I can figure out what's going on. I managed to get the card to come up a couple of times at 125mhz (31.25). I also went a little lower than 30 for the sake of testing but i found initialization issues seem consistent as long as 4x is in place.





