• Please review our updated Terms and Rules here

How much can an 286 be underclocked?

per

Veteran Member
Joined
Jan 21, 2008
Messages
3,052
Location
Western Norway
Yes, you read correctly; I wish to underclock an AT-class system.

The reason for this is that some games were especially timed for the 8MHz Turbo XTs (with an average performance of about 0.55 MIPS), and will either run to fast on more recent AT machines (+0.7 MIPS), or too slow in an original 4.77MHz XT (~0.33 MIPS). It is to note that in some cases, the game itself is not running off speed, but all the animations are off. Of course I can allways try to obtain an XT-clone or an early AT, but the problem I have is that I am short of space, and time to get it working if it turns up in lousy condition.

The AT machine I got is an IBM XT/286, running at 6MHz and without any waitstates for the RAM. This makes it preform at 0.9 MIPS, which is clearly noticable in some of the titles I have been trying out with. I have calculated that if I want to get it down to the appropriate MIPS value, I need to install a 7.36MHz crystal (for a clock rate of 3.68MHz for the CPU, and either 2.76MHz or 4.77MHz for any installed FPU) in place of the 12MHz crystall already in there.

My question is, as listed in the title; How far can you underclock a 286? The registers of the regular 8088 becomes unrelaiable below 2MHz (due to dynamic memory used for the registers), so I expect the AT to have a minimum clock too. I also fear it may cause incompabilities with timing-critical hardware and/or software, and that the speed check within the BIOS may fail. I know there has been instructions somewhere about how to patch the BIOS, but I have not been able to find instructions about this online.
 
Last edited:
The 80286 spec sheets say that the maximum clock period (x2 nominal clock rate) is 250 nsec. That comes to 2 MHz.

If you want to go slower, get an Intersil or AMD 80C286, which is good to DC. (static CMOS design).
 
Per:

I have a small utility called "Cache On/Off" that works great on a 486. Never tried it on 286 but you are welcome to it. Slows it down to a trot.
 
Hi, what if you try applying a NEC V20 on your IBM XT, maybe that will raise its performance about 30%.

That's only if the program multiplies numbers using the CPU's buildt-in multiplier all the time. However, programs like that often takes use of a coprocessor if present, and I do have 8087s in both my XTs.

On average, the V20 doesn't increase peformance more than maybe 5% and the only sane reason you'd like to install one is that it allows you to run certain 286-dependent programs.

---

Now, I have found a crystal rated at 7.3728MHz, but I have the choice between 10pF or 20pF. Any suggestions what I should order?
 
Per:

I have a small utility called "Cache On/Off" that works great on a 486. Never tried it on 286 but you are welcome to it. Slows it down to a trot.

Cache didn't exist before well into the 386-age (as of I know). At below 20MHz, cache wasn't worth the extra costs anyways because it's not that much faster than the system memory in those cases.
 
Hi, what if you try applying a NEC V20 on your IBM XT, maybe that will raise its performance about 30%.

I have never seen a real-world program improved that much by the inclusion of a V20. Most 8088 programs are memory-speed-limited and the effect of the V20 will usually be only about 10-15% at best. It isn't just the multiply or shift improvments--the V20 is implemented differently internally--among other things, it uses a dual-bus approach for operands, which shaves a few cycles here and there.
 
I have now ordered alltogether 10 different crystalls, ranging from 16MHz all the way down to 4MHz. All of them has a load capacitnance of 20pF, uses the U49 package and are from the 559-FOX###-LF series.

Here is a list:
4.000000MHz (0.3 MIPS, may be unrelaiable)
4.433619MHz (~0.333 MIPS, appromaxely equalent of the 4.77MHz XT)
5.000000MHz (0.375 MIPS)
6.000000MHz (0.45 MIPS)
7.372800MHz (~0.553 MIPS, appromaxely equalent of the 8MHz XT)
10.00000MHz (0.75 MIPS)
11.00000MHz (0.825 MIPS)
12.28800MHz (0.922 MIPS, sligthly above normal, but still within reasonable limits of the memory)
16.00000MHz (1.2 MIPS, better than the 8MHz AT, but risk of shortening certain component's life, and also risk of replacing the RAM with faster modules)
 
Per:

It disables the L1 cache in the Pentium. Doesn't have anything to do with the cpu multipliers. It enables/disables the cache via a simple batch file. Slows everything down to crawl. Used it for years on and off the job.
 
Last edited:
I have a small utility called "Cache On/Off" that works great on a 486.

486 was the first x86 CPU with internal cache. Later 386 systems had external cache but 286 systems didn't have even that. Cache is useful only if CPU can access RAM more quickly than slow DRAM can provide. I have 16 MHz 286 that works perfectly with zero wait states when using 70 ns SIMMs. Cache would be completely useless for it.
 
Do you mean the 6MHz AT?

Nope, the 6MHz AT is actually preforming below 0.9 MIPS because of it's one waitstate. The 8MHz AT was likewise somewhere below 1.2 MIPS. Since the XT/286 has zero-waitstate memory, it has in fact better performance than the 6MHz ATs by default, and better performance than the 8MHz ATs if a 16MHz crystal (8MHz clock speed) is used.
 
CPU cache became much more important with the pentium due to its superscaler pipelined architecture; L1 cache misses were very expensive indeed (hence why it performs so badly with it disabled). As said though with a 286 there is potentially no wait-state on RAM fetch anyway. Also IIRC most 'clone' boards had a 'compatible' CPU speed for a long time.
 
A member of the sweclocker forums claims to run a 80C88 in 0.67 MHz with a slower crystal.

As the C model uses static registers, it does not need the higher clock input to keep the registers refreshed.

-----

Now, the only problem is how the BIOS can be patched. The earlier revisions of "Upgrading and repairing PCs" (pre-revision 5 I think) used to include a guide on how to do this, but I've been unnable to find this guide anywhere on the web. It would be nice if anybody had any idea where in the BIOS code the speed check is being located.
 
There were other programs out there to slow down faster systems for running old games. As far as I know, they just burn up a bunch of clock cycles doing nothing.
 
Back
Top