• Please review our updated Terms and Rules here

The 8088 DIY Accelerator

Great Hierophant

Veteran Member
Joined
Mar 22, 2006
Messages
1,928
Location
Massachusetts, USA
In a system with an 8088 CPU, the system is often designed to be run at 4.77MHz. When this was not sufficient, upgrade options were few.

The first upgrade is to replace the 8088 with the compatible V-20, which could offer up to a 20-25% performance increase depending on the software. This was often an easyish upgrade, assuming that the original 8088 was socketed. The V-20 is a pin compatible replacement.

But when the V-20 is not enough, more elaborate measures are required. The clock speed of many a PC and XT clone was not designed to be changed. There often was only one clock crystal (14,318,180 MHz) in the system from which all other timing was derived. Replacing that crystal in an XT machine is not a good idea. The timer requires a derivative of that signal and changing it would throw the system clock, RAM refresh and the speaker off.

So to accelerate the processor, you must increase the clock to the processor to make it run faster. This requires three components :

1. A clock crystal 3 x faster than the speed you intend to run the processor at. So for 8MHz CPU operation, you need a 24MHz crystal.

2. A i8284 (5-8MHz) or i8284-1 (10MHz) clock generator to divide the clock signal and provide the proper clock signal for an 8088/V-20.

3. An 8088-2 (8MHz), 8088-1 (10MHz) or V-20 rated to run at the speed which you intend to run it at.

The typical speed to accelerate an 8088 system is to 8MHz. Why 8MHz? Two reasons. First, the CPU accesses the ISA bus at full speed, which is OK at 4.77MHz. But XT boards do not have any capability to automatically insert wait states between bus accesses, so you are limited to accessing slots at no more than 8.33MHz to be safe. 10MHz accesses will lead to instability. Second, the RAM must be able to respond in 4 8088 bus cycles, and if you approach 10MHz slower RAM chips may not be able to respond in time. With 8MHz, even 250ns RAM chips will be able to respond in time for the 8088.
 
I'm not sure what GH is responding too, but it looks like a summary of the "PC Sprint" modification from way back in history. That modification also uses an extra 8284A to clock the CPU at a different rate while leaving the original motherboard 8284A in place to control other parts of the system.
 
It would seem to me to be a matter of how far you wanted to go. Replacing the CPU with a card with its own private memory and controllers was an option back then. Basically, you used the XT as a passive backplane.

Usually, it was cheaper to simply replace the motherboard with a new one, however. We've seen that only recently here on an XT.
 
When you post at midnight, you are bound to leave something out. I wanted to know if the mod I described was sound, could work and whether I was leaving anything important out.

Creating a mods that used cache and 286 or higher level processors seem to be out of the reach of the average hobbyist, but this seems doable.
 
I've been kicking around a small project of making a 600mil DIP-40 replacement board for an 8088/8086 that had a mid-sized FPGA with a CPU86 or Zet core running at a really fast clock rate (>50 MHz) and a 1 Mbit x 9 SRAM (10-12 ns) used as a local cache with the 9'th bit used as valid bit. Could achieve some level of automatic cache coherency by flushing the whole thing on a hold signal assertion. I must say, the thought of turning my peanut into history's fastest has some appeal. If only there were enough hours in a day..... :(
 
I believe there was at at least one version of a "turbo card" that used an 80186. I can only speculate that it had compatibility issues.

Well, there were several 10MHz PC-XT clones--and a raft of 8 MHz ones. Some of the 8MHz ones were just speeded-up 4.77MHz machines and, unless you added a TSR, had serious time-of-day issues. These simply added a 24MHz XCO and used pin 13 on the 8284 to select between crystal and XCO sources. You could pretty much modify a bog-standard XT-clone motherboard to handle this.

To the best of my recollection, nothing terribly novel in those except using higher-speed parts (e.g. 8284, 8288, 8088 ) and a separate oscillator (usually switchable between the 24MHz and the 14MHz one). You do need the 14MHz clock signal on the bus--there were a few cards that used it.

ISTR that the XT uses a delay line to generate the delay between RAS and CAS for DRAM (or perhaps it's just the 5150 ). That might need to be tweaked to get higher speeds on the RAM.

Many legacy devices could handle 8MHz bus speeds with no issues. Some clone BIOSes slowed the CPU for floppy access however.
 
Well, there were several 10MHz PC-XT clones--and a raft of 8 MHz ones.
Most "Turbo XT" clones I've seen run at 7.16 MHz (50% faster than 4.77 MHz) or 9.54 MHz (twice as fast) -- slightly underclocking an 8 or 10 MHz CPU chip, respectively, just as the 4.77 MHz PC underclocked its own 5 MHz 8088. In fact, my CompuAdd 810 has all three of these speeds (4.77, 7.16, 9.54) selectable through the keyboard.

The only XT system I have which runs at exactly 8.00 MHz is my Tandy 1000SL, which uses an 8086, not 8088. Accordingly, switching it into "slow" mode drops it down to 4.00 MHz, not 4.77.
 
Last edited:
Hmmm, I'll have to check a couple of clones I have to see if this is really true.

So, on your "8 MHz" systems the XCO or crystal is 21.48 MHz?
 
Most "Turbo XT" clones I've seen run at 7.16 MHz (50% faster than 4.77 MHz) or 9.54 MHz (twice as fast) -- slightly underclocking an 8 or 10 MHz CPU chip, respectively, just as the 4.77 MHz PC underclocked its own 5 MHz 8088. In fact, my CompuAdd 810 has all three of these speeds (4.77, 7.16, 9.54) selectable through the keyboard.

Just checked two "Turbo XTs" that I have--the 8MHz one uses a 24.000MHz XCO; the 10MHz one has a 30.000MHz XCO--both in addition to the the regular 14.3818 MHz crystal. I'll take a moment and see of Jim's topbench program agrees.

Okay, here are the results; the only difference being pressing Ctrl-Alt-keypad-minus between the runs. I didn't even reboot:

Code:
[UID40C6790]
MemoryTest=2508
OpcodeTest=1531
VidramTest=1387
MemEATest=1868
3DGameTest=1413
Score=6
CPU=NEC V20
CPUspeed=4.77 MHz
BIOSinfo=DTK/ERSO/BIOS 2.29 (C) 1986 (01/01/81, rev. 0)
MachineModel=0000
BIOSdate=19810101
BIOSCRC16=40C6
VideoSystem=VGA
VideoAdapter=VGA, Tseng ET 4000, DRAM, 1024kb Video Memory
Machine=PC/XT


[UID40C61434]
MemoryTest=1518
OpcodeTest=915
VidramTest=876
MemEATest=1118
3DGameTest=846
Score=9
CPU=NEC V20
CPUspeed=8 MHz
BIOSinfo=DTK/ERSO/BIOS 2.29 (C) 1986 (01/01/81, rev. 0)
MachineModel=0000
BIOSdate=19810101
BIOSCRC16=40C6
VideoSystem=VGA
VideoAdapter=VGA, Tseng ET 4000, DRAM, 1024kb Video Memory
Machine=PC/XT

So it looks as if the CPU really is running at 8MHz.
 
Last edited:
Perhaps the generic Taiwanese clones were more apt to use exactly 8 or 10 MHz, but most name-brand 8088/V20 systems I know of and have used are 9.54 MHz, such as the Tandy 1000RL, Packard Bell PB 500, CompuAdd 810, Toshiba T1000XE, Vendex Headstart Plus, Wyse PC+, etc. Also, the Microsoft Mach 10, a PC/XT accelerator card using a 9.54 MHz 8086. (Some of these model numbers clearly hint at "10 MHz", but they are all actually 9.54 MHz.)
 
Could be. Just wanted to point out that there are "genuine" XT clones with real 8 and 10MHz clock rates.

Of course, 9.54 is twice 4.77, which means that a single oscillator could be used for both clock rates (silicon is cheaper than rocks). If you look at the Taiwanese design, a 14.3818MHz crystal is used, but the higher clock (24 or 30 MHz) is always an XCO. I suspect that the clock-source-select pin on the 8284 is used to do the switching.
 
Back
Top