From: [EMAIL PROTECTED]
Date: Sun, 19 Oct 2003 00:55:32 EDT

I have often heard that, when using a G3 upgrade card in a PCI Mac, the L2
cache card should B. yanked...

Well, it jest occured 2 me that I have had a 256k L2 in my "jukebox" G3 in my
living room for a l-o-n-g while now; cannot say I ever noticed any adverse
behavior... no crashes or anything...

What is the rule w/ L2s and G3s? Does using the L2 result in unstableness?
Slow performance??

There are two issues when deciding whether to pull the motherboard cache board, stability and performance.


*STABILITY*

In some cases, folks have found that the presence of the motherboard cache hurts system stability when used with G3 cards. I don't believe that anyone has nailed down the specific reasons, but there's a high probability that the motherboard cache components are too slow to work well when the G3 is installed. G3 upgrades (or some of them) seem to put greater demands on the timing of the motherboard components even at the same bus speed. In chip designer parlance, they have less slack.

However, others have found, in a few instances, that leaving the motherboard cache installed solves some stability problems. I think I've only heard these reports with respect to the PowerTower Pro. Maybe the cache helps to prevent ringing on the bus or something. Who knows?

So, the answer for stability is that usually you should remove it, but sometimes leaving it in is better. Most of the time, it won't matter. On the 9500, original 9600, J700 and S900 the cache is soldered down, so you don't have much choice.

*PERFORMANCE*

Background:

To understand this issue we need a little background on how a cache works. An L2 cache is simply some very fast memory inserted (logically) between the CPU and the RAM. When the CPU needs access to RAM, it first checks with the cache to see if the data is available there. If it is, it uses the cache, which the CPU accesses faster than RAM, so the CPU saves some time and the system speeds up.


However, there is a cost. TANSTAAFL. Checking the cache for the needed data costs time. So, when you have a cache hit (data was in the cache) the CPU saves time compared to going directly to RAM. When you have a cache miss (data was not in cache) you used some extra time, and the CPU *still* must go to RAM.


So, if you had a system with 100% cache misses, it would be slower than just going directly to RAM and skipping the cache altogether. Obviously, an important factor in cache performance is the percentage of cache hits. Typical hit percentages are 60 - 85%. Larger caches increase the percent of cache hits (they store more stuff), but they take longer to check, so cost more on a miss. So larger is better up to a point.

The Gist:

The motherboard cache will *always* miss if the backside cache is bigger or the same size.

Now, let's look at the situations in question. A G3 upgrade may have a 512K or a 1MB backside cache. Your motherboard may have a 256K, 512K or 1MB cache.

If your G3 has a 512K cache and your motherboard has a 1MB cache, then you may get a tiny performance improvement by leaving the motherboard cache installed. Look what happens when the CPU needs access to RAM. It checks the closest cache, the 512K backside cache. If the data is present, great. We got a cache hit, performance is improved.

If the data is not present, the CPU checks the motherboard cache which is twice the size of the backside cache. The motherboard cache contains some of the same stuff as the backside cache, and obviously that stuff isn't what it needs. But there's another 512K of stuff in the motherboard cache, and if the CPU finds what it needs there, then it gets a little improvement over going to RAM. Still, we're getting a full penalty of checking a 1MB cache for the low probability that the 1MB contains the needed data when the 512K cache did not. So the performance improvement is low and for some types of applications could be negative.

In all the other cases the motherboard cache is the same size or smaller than the backside cache:

backside:  512K
motherboard: 256K     motherboard:  512K

backside:  1MB
motherboard: 256K     motherboard: 512K          motherboard: 1MB

In these five cases the CPU checks the backside cache for needed data. A hit is good if it gets one. If it is a cache miss, then it checks the smaller or equal motherboard cache. But the motherboard cache stores no more data than the backside cache! It is extremely unlikely to contain any data that the backside cache did not contain. So the motherboard cache will be a miss too.

Look at that again. The motherboard cache will *always* miss if the backside cache is bigger or the same size. This is the important fact. You still pay the performance penalty for checking the motherboard cache, but you don't generate any cache hits, and so you don't make up the penalty with any performance gains from cache hits. Remember, a cache that misses 100% of the time is a cache that costs you performance.

So the bottom line is that in one case out of six leaving the motherboard cache in might gain you a tiny performance boost. In five cases out of six leaving the motherboard cache installed will cause a small performance penalty. Note that the larger your motherboard cache, the greater that penalty.

*DISABLING THE MOTHERBOARD CACHE*

Software:

Most (all) of the G3 upgrade software packages include a function to disable the motherboard cache. This will eliminate the performance penalties I discussed above. However, it may be the case that having the cache physically present will limit your top system bus speed in a few cases. For those cases, pulling the cache will eliminate any system bus speed bottlenecks caused by the cache.

A few machines have soldered down caches. These can be disabled in hardware in a few ways, but these ways require soldering, so risk, not responsible, etc, etc.

9500/9600:

Removing resistor R31 will disable the on-board cache.

J700/S900

In my experience, I've found the S900/J700 supports slightly over 60 MHz bus speed (provided your CPU card can handle it), whether or not the cache is enabled, so it really isn't worth much bother.

Umax actually provided a jumper to disable the motherboard cache. This jumper is labeled J38 and is between the CPU slot and the DIMM sockets on one axis and between the big square chips 343S1190 and 343S1141 on the other axis. There are two 343S1141 and the one I meant is the one more toward the center of the board. Installing a jumper at J38 disables the motherboard cache. See <http://www.jeffwalther.com/S900_MB_Labeled.jpg>.

However, Umax only installed the pins for J38 on some of the early boards. So most of them just have the holes for J38, filled with solder, and no jumper pins. Soldering a small wire between the holes of J38 will disable the cache, but it's awfully inconvenient to re-enable. If you're always going to be using a G3 upgrade, then it's not really a problem. Alternatively, you can get some pins or even a two pin header strip (or cut down a longer header strip) and solder it in place. Then you can install or remove the jumper as suits you. The pins are on a .1" pitch. Frys carries header strips. I'm not sure about Radio Shack.

Jeff Walther

--
PCI-PowerMacs is sponsored by <http://lowendmac.com/> and...

Small Dog Electronics    http://www.smalldog.com  | Refurbished Drives |
-- Sonnet & PowerLogix Upgrades - start at $169   |  & CDRWs on Sale!  |

Support Low End Mac <http://lowendmac.com/lists/support.html>

PCI-PowerMacs list info: <http://lowendmac.com/lists/pci-powermacs.shtml>
 --> AOL users, remove "mailto:";
Send list messages to:   <mailto:[EMAIL PROTECTED]>
To unsubscribe, email:   <mailto:[EMAIL PROTECTED]>
For digest mode, email:  <mailto:[EMAIL PROTECTED]>
Subscription questions:  <mailto:[EMAIL PROTECTED]>
Archive:<http://www.mail-archive.com/pci-powermacs%40mail.maclaunch.com/>

Using a Mac? Free email & more at Applelinks! http://www.applelinks.com

Reply via email to