Continuing to go through my junk pile, I unearthed a Soyo SY-4SAW2 motherboard. This is a late 1995 vintage 486 ISA/VLB/PCI motherboard with a SiS 85C496/497 chipset. It’s a classic Baby AT board with an AT keyboard connector, although it does support PS/2 mice (which is rather nice).
The board works well enough, but somehow it’s just… slow. SYSINFO from Norton Utilities 8.0 shows a score of 131 with an Intel DX4 processor running at 100MHz (33.3MHz x 3). At 75MHz (25MHz x 3), the same processor scores only 99.2. Other benchmarks fare similarly.
Yet the exact same CPU plugged into an Alaris Cougar ISA/VLB board, about a year older and using an OPTi chipset, scores 197.5 at 100MHz and 148.9 at 75MHz in SYSINFO. (And in case someone asks how I ran a 3.3V DX4 processor in the 5V-only Cougar board, I used an AMD voltage converter.) That is, the Intel DX4 processor running at 75MHz in the Alaris board scores better than when running at 100MHz in the Soyo board. Something is clearly amiss.
I tried several different 486 processors, SX and DX, AMD and Intel, with the same results. In the old Cougar board, the performance reported by SYSINFO is exactly what one would expect and in line with the built-in result for a 33MHz 486 (the way SYSINFO measures performance depends very little on memory speed and largely reflects the CPU microarchitecture and operating frequency). In the newer Soyo, every processor was slower than it ought to be.
The results didn’t change when I borrowed memory from the Alaris board and plugged it into the Soyo. The results didn’t budge. I tried tweaking the BIOS settings on the Soyo, but the best I could do was to prevent the system from booting. As long as it worked, there was no change. I should add that apart from being slow, the Soyo board is quite stable, so it doesn’t look like it’s somehow damaged.
To add insult to injury, the Soyo board actually uses 15ns L2 cache chips, while the Alaris only has 20ns (in both cases 256K). If anything, the Soyo ought to be faster!
My problem is that I don’t really know what to expect from the Soyo 4SAW2. Is my unit somehow bad? Is it set up incorrectly? (I verified the entire bazillion of jumpers on the Soyo and couldn’t find anything fishy.) Or is the SiS chipset simply junk? Based on my experience with SiS graphics chips, that’s what I’d more or less expect, but such expectations can be wrong.
I compared the two boards using the SPEEDSYS benchmark (version 4.78). The first highly suspicious thing is that the same ISA SVGA graphics adapter which achieves 3771 KB/s bandwidth on the Alaris board somehow only gets up to 1392 KB/s on the Soyo.
The story is the same with disk transfers—the same CF card can read at 5.5 MB/s on the Alaris, but only 2.9 MB/s on the Soyo. What gives?
The differences are most obvious in the memory benchmark. The L1 cache read performance is about the same in both cases, around 93 MB/s. But writes differ greatly, 31 MB/s on the Alaris vs. 20 MB/s on the Soyo (this is write-through cache so the CPU itself doesn’t matter too much).
For L2 cache accesses, the Alaris runs at almost 51 MB/s read and 31 MB/s write, while the Soyo can only get up to 35 MB/s read and 20 MB/s write. That’s with the Soyo having supposedly faster cache chips.
For main memory, the Alaris achieves 16 MB/s read and 32 MB/s write, while the Soyo can only do measly 9 MB/s reads and 21 MB/s writes. The poor read performance on the Soyo is the most striking.
The considerably lower memory bandwidth probably explains why all the other benchmarks lag… but why is the memory so slow? It’s not the memory modules themselves, as they perform just fine in the Cougar board.
What’s Going On?
If anyone has any hints, I’d be grateful. Since I only have a single 4SAW2 board and don’t have any other board with the same chipset, I can’t tell if the results are an outlier or if that’s what’s expected. And if the results are not expected, what can be done to improve them?
Update: The mysteriously poor performance was caused by… an unconnected (open) turbo switch! The fact that I’ve not built a 486 system in nearly 20 years is clearly showing.
As luck would have it, I initially only tested the board with older Intel and AMD DX4 processors where the turbo switch does not affect the CPU core frequency. Later on I tried Cyrix core processors (of IBM and TI manufacture) where the turbo switch does halve the measured frequency and the effect is thus much more obvious.
If I’m extrapolating from the SiS 496/497 datasheet and the SY-4SAW2 manual correctly, the turbo switch is implemented as a bus hold, at least for the write-through Intel/AMD DX4 processors. What that means is that memory (bus) accesses are slowed down, but the CPU core is not stopped. L1 cache reads and instruction execution are just as fast with or without turbo. For those CPUs, the turbo switch is useless because it only mildly slows down execution.
For Cyrix 486 class CPUs, the turbo switch does halve the measured CPU frequency. It also quite noticeably affects performance. It’s not entirely clear how this is implemented, but it’s possible the STPCLK# (or really SUSP# for Cyrix 486s) signal is used to throttle the CPU clock.
Better Benchmark Results
With the turbo switch engaged, SYSINFO shows a score of 197.1 for a 100MHz Intel DX4 processor, well within the margin of error of the 197.5 score achieved on the Cougar board. Hooray! The rest isn’t quite as bright though, and confirms that the SiS chipset is not that great in terms of performance.
SPEEDSYS now shows video bandwidth as 1946 KB/s which is better than the previous 1392 KB/s but nowhere near the 3771 KB/s with the same card on the Alaris board. This is probably caused by the decoupled SiS 496/497 architecture where the ISA bus is attached to the southbridge, relatively far from the northbridge and the CPU, and behind a “slow link machine”.
Disk performance also increased, from 2.9 MB/s to 3.9 MB/s. Again that’s not as good as the 5.5 MB/s on the Alaris, but it is a sizable improvement. Both the Cougar and the 4SAW2 use a VL-Bus IDE controller and in theory there is no reason why the SiS chipset should be any slower. However, there might be some difference caused by the BIOS (MR BIOS vs. AWARD).
It’s worth mentioning that the SiS 496 northbridge multiplexes the (VLB) IDE pins with the PCI address pins. The consequence of this design is that IDE cycles block PCI cycles and vice versa. This arrangement obviously has a negative performance impact in certain scenarios.
And now for main memory bandwidth: from 9 MB/s reads and 21 MB/s writes, with the turbo switch engaged the performance goes up to 12 MB/s reads and 32 MB/s writes. This is still not quite as good as the 16 MB/s read and 32 MB/s write on the Cougar board, but it’s in the same ballpark.
The L2 cache bandwidth shows a similar story, going from 35 MB/s read and 20 MB/s write to 51 MB/s read and 31 MB/s write, which more or less exactly matches the Alaris board.
All in all, the Soyo 4SAW2 is a decent if not great board… when the turbo switch is on.