SPEED.ART ·
ART ·
25.7 KB ·
1980-01-01 ·
from CompuLink-User-Group_Magazette_Vol-2-Issue-2_1986
IBM PC ACCELERATOR CARDS
The standard IBM PC uses a 4.77 MHz 8088. This CPU chip is 16 bits
wide internally, but accesses data and instructions via an 8 bit data
bus. More modern chips use a chip that is 16 or even 32 bits
internally, uses a wider data bus, and runs at a clock speed of up to
10 MHz. For many purposes, the 4.77 MHz 8088 is quite fast enough, but
some applications need a faster CPU. For example, using an straight
IBM PC for CAD is extremely tedious.
The state-of-the-art MS-DOS machine is probably one that uses a 10 MHz
80286, such as the Walters or PC Compatibles AT clones. But there are
a lot of IBM PCs around - is it possible to speed them up ? Yes, it
is; in fact there is a very wide variety of choices that can be made.
We have looked at most of them, and tested them in various ways. Most
of what we looked at were cards that fit in expansion slots and replace
the 8088, but some were not.
THE TESTS
Probably the most important test is whether the speed-up hardware
works. Obviously, they all work in the IBM PC, since that is what they
were designed for. But we found that some clones had trouble with most
cards. The Comcen clone and the PC Compatibles clone would not run
most of the speed-ups.
Another possible problem comes from the fact that some of the cards
might be working on the edge of feasibility. We found that the PC
Express, when an 8087 was added, regularly caused the IBM PC to freeze
up, with a "PARITY CHECK 2" message on the screen, although it was OK
without the 8087. All the other hardware tested caused no problems
with the IBM.
The next most important test is compatibility. Speeding up the PC a
hundred fold would be of no value if none of the software worked. We
had very few compatibility problems, even with the worst cards.
After checking that the hardware works, and that the software still
runs, the main question about speed-up cards is how much improvement
can you expect. This is not a simple question, as it depends very
heavily on the mix of tasks that your CPU is doing. It is safe to
conclude, however, that manufacturers claims should be disregarded, and
that simple tests like Norton's SYSINFO are too biassed to be useful.
We ran a series of benchmarks looking at different aspects of CPU use,
and we give the results separately, so that you can calculate your own
weighted average for your own mix of tasks.
WHAT WILL BE SPEEDED UP ?
It is important to understand what a speed-up card will and will not
do. The slowest component of any system is the human user, with a
typing speed of at most 10 characters per second. He can't be speeded
up (except perhaps by training; a typing tutor might be a good
investment). There is a way to speed up the keyboard; reduce the time
before keys begin to auto-repeat, and increase the number of repeats
per second. FASTKEYS does this, and it is particularly useful for
spreadsheet and WP work.
Similarly, a speed-up board will not help printer performance. But a
printer buffer (such as is given away with most memory cards) makes
printer slowness less of a pain, by returning the computer to the
user's control while the printer chugs away.
Floppy disks will not be speeded up either, but a disk cache
(equivalent to a printer buffer) can help a lot, speeding diskette
access up to fivefold. Most hard disks won't be speeded up, unless you
have a high-performance drive attached to a low-performance computer.
Again, a cache will help.
Screen writing will be speeded up by a go-faster board, as screen
writing is done by copying bytes between memory locations. But the
activity that is of most interest is computation.
The great divide in computation comes when floating point operations
are involved. The native 8088 is only able to do integer arithmetic;
dividing 1 by 3 must be done by a complex software routine. Indeed,
all arithmetic done on non-integers must be done this way, and so it
takes very much longer to multiply two non-integers (called reals) than
two integers. Operations such as LOG or SINE take even longer, as the
SINE calculation involves summing a series, or else working out the
ratio of two polynomials.
When they designed the 8088 chip, Intel decided to leave all of this
out. But they made provision for another chip that would be able to do
these floating point operations, called an 8087, the maths co-processor
(for the 80286, an 80287 is the equivalent). If an 8087 is fitted, and
the software is written to take advantage of it, then floating point
operations can be done by the 8087, which is very much faster (up to
hundreds of times faster) than by the 8088 using a subroutine.
Most CAD packages will use an 8087 if fitted, as they need to calculate
the trigonometric functions to determine the appearance of the drawing.
Most modern spreadsheets use an 8087 if fitted, as spreadsheets can do
a large number of multiplies and divides. All decent compilers can
compile code that makes use of the 8087. If the likely mix of
applications includes some that can make use of an 8087, then the speed
and availability of an 8087 dominates the choice of speed-up card.
CHIP SPEEDS
One important point - there is virtually no difference in performance
between an 8087 and an 80287 running at the same clock rate. This
means that a card fitted with an 8087 running at 10 MHz will do
floating point operations faster than an 80287 running at 8 MHz.
Another useful piece of chip theory - it is widely believed that an
8086 (with a data bus width of 16 bits) is twice as fast as an 8088,
which has to fetch each 16 bit word of data in two operations of one
byte each. This is totally untrue. In fact there is very little
difference in overall speed. This is partly because much of the CPU's
time is spent in processing the data, not fetching it (and both the
8088 and the 8086 process 16 bits at a time). The other reason for the
8086 being no faster than the 8088 is that each processor has a queue
of bytes that have been pre-fetched; the CPU goes and gets the next
few bytes while it works on an instruction. The difference between the
8086 and the 8088 is perhaps 5% at most, and under some circumstances,
the 8088 can be faster.
The 80286 is another kettle of fish entirely. It has the same
instructions as the 8088, but because it is designed better inside, it
runs about 2.5 times faster on most operations. The 80386 will soon be
appearing in desktop computers, and this will be even faster.
There are two more possible chips, the 80188 and the 80186. These
chips are (for the same clock rate) much the same speed as the 8088 and
8086. The main difference is that they don't need many of the support
chips that the older chips needed, which makes for a cheaper computer
design.
TYPES OF SPEED-UP
There are various types of speed-up hardware. The first is the only
one designed into the computer by IBM, the addition of an 8087 (or
80287 for an AT). For applications that make heavy use of floating
point operations, this may be the only upgrade needed. It is important
to get an 8087 with a speed rating at least as great as the computer's
clock speed, or the whole computer may freeze. But getting an 8087
with a faster clock speed does not mean that the calculations are done
faster.
You might think that you can speed up the processor simply by
increasing the clock speed. For the IBM AT, this is true, and the 6
MHz clock rate can be increased by unplugging the 12 MHz clock crystal,
and replacing it with a 16, 18 or even 20 MHz part, costing under #5.
If the crystal used is too fast, the computer will freeze, but a little
trial and error will soon determine the maximum safe speed. IBM ATs on
sale now run at 8 MHz.
The situation is very different for the ordinary IBM PC. The clock
crystal is soldered instead of socketed, and it is used for other
purposes besides driving the CPU. So it cannot just be changed, and of
course just changing the 8088 for a faster-rated part will make no
difference.
NEC make a chip called the V20, which is pin-compatible with the 8088,
but because of an improved internal architecture it is faster at many
operations than the 8088. Pin-compatible means that you can simply
remove the 8088 and plug in a V20. Of course, it is necessary to be
sure that the chip has at least the same clock speed rating as the
8088, and if an 8086 is being replaced, you should use a V30. This
replacement is very cheap, costing about #15, but is only effective for
some types of operation (see table below).
CARDS PLUGGING INTO THE 8088
There is a number of firms offering a speed-up replacement that plugs
straight into the 8088 processor socket such as the Maynard "Surprise".
They claim a 70% speed-up, but we were unable to verify this. We
would, however, be very wary of manufacturers claims about speed
improvement, as they are likely to measure the benefits using a mix of
instructions that favours their hardware. The main advantage of this
kind of board is that it doesn't use an expansion slot, and some users
have all their expansion slots already filled.
CLASSIFICATION OF CARDS
There are two main ways to classify speed-up boards. One split is
between cards using an 8088/8086, and those using an 80286. The other
split is between cards with memory on the board, and those that use the
existing memory.
What are the trade-offs ? The 80286 cards running at 8 MHz might be
five times as fast as the 8088/8086 running at 8 Mhz, except that the
8088/8086 card usually run at 10 MHz (actually 9.54 MHz), which reduces
the advantage to four times. But the 80286 cards are more expensive,
and may not be as compatible. For example, the Phoenix Pfaster has its
own BIOS on the board, so it isn't using the IBM BIOS, a possible
source of incompatibilities. As an example of incompatibilities, you
may remember that when the 80286 IBM AT first came out, it was not able
to run Microsoft's Flight Simulator, until a new version of the
Simulator was brought out.
The second split is between cards with on-board memory, and cards using
existing memory. If a card uses existing memory, it has to do a clever
trick to speed up the memory. There are two problems. First, the
memory is running at the old, 4.77 MHz clock speed while the CPU is
trying to run twice as fast. Secondly, the CPU (usually an 80286 or
8086) wants data a word (two bytes) at a time, while the rest of the
computer is geared up to providing an 8088 with one byte at a time.
Both of these problems are solved by having a cache of memory (usually
8K) on the board. About 95% of the time, the next byte wanted from
memory is the one after the last byte, not one from a completely
different area. So whenever the CPU requests a word from the cache, a
separate memory management chip makes sure that the cache is filled
with the subsequent 8K bytes. Memory access is always done from the
cache, which supplies a word at a time, and runs at the same clock
speed as the CPU chip.
The only drawback to this neat scheme comes when someone changes what
is in the memory location between the cache being loaded and that
location being accessed. The memory manager supplies the data from the
cache, not realizing that this is different from what is in the memory.
This situation can crop up with an extended memory card. These work by
having a window of 16 or 64K in high memory, which is mapped on to
various chunks of memory on the card. When the mapping is swapped, the
cache on the speed-up board might not be properly informed, and so the
contents of the cache might no longer correspond to what is in memory.
If this happens, there might be no indication of disaster other than
wrong answers. If you buy a speed-up board with a cache memory, and
plan to use it with an extended memory board (such as the Intel
Aboveboard) you should get a written assurance from your supplier that
the two are compatible.
The best source of information about a board's incompatibilities is the
technical support department of competing board makers. Each company
is extremely helpful about the shortcomings of its rivals.
SPEED-UP CARDS IN CLONES
There can be problems fitting a speed-up card into an IBM clone. We
tried most of the cards in the clones, the PC Compatibles machine and
the Comcen machine that is supported by the User Group. The only board
that worked in the Comcen was the QuadSprint; neither supplier was
able to explain why. The only board that worked in the PC Compatibles
was the Pfaster. The board makers certainly do not consider that this
is their problem, so the user is potentially left in the middle of a
finger-pointing contest. Before buying a speed-up board for a clone,
specify in writing that it is an essential part of your contract with
the vendor that the board works in your machine, and insist on a
demonstration that it works, or at least don't pay until you've seen it
working in your own machine.
SOFTWARE COMPATIBILITY
The Pfaster has its own BIOS, which could be a source of problems. But
there is one problem that is intrinsic to all speed-up cards. Some
programs depend on software timing loops for their successful
operation. If the hardware runs faster, these loops run too fast.
Programs with this problem are extremely uncommon, but there are at
least two. Diskette copying programs such as Copywrite and CopyIIPC
rely on taking direct control of the diskette drives, and don't work if
the CPU is running at the wrong speed. Another class of program that
may cause problems is games - some may run too fast to be playable.
Most of the 8086-based boards have a hardware switch so that they can
be switched down to normal speed, and then the problems go away. They
also have a software switch, and so the speed can be controlled from
the keyboard. But the 80286-based boards cannot be switched.
8086 CARDS WITHOUT ON-BOARD MEMORY
The Quadsprint is the only 8086 cacheing board we could find. It runs
at 9.54 MHz and has an optional 8087 daughterboard. There is no
provision for switching it down to normal speed. It was the only board
that worked in the Comcen clone, and it was fairly cheap. But it was
the slowest board overall, running at 2.3 times the speed of the IBM
PC.
8086 CARDS WITH ON-BOARD MEMORY
We found four cards of this type : the Number Smasher, the PC
Accelerator, the PC Express and the Supercharger. They all gave the
same speed improvements, to 2.8 times the speed of the IBM. They could
all be switched to normal speed.
The Supercharger has several drawbacks, and shows signs of being a
product that is still being developed. It cannot have 640K on the
board, only 512K. To run the PC at 640K, you have to use 128K of the
old, slower memory. It cannot copy the slow ROM into faster RAM before
running software, so applications that use the BIOS a lot will not run
as fast as they could. But worst of all, the board we were sent could
not be upgraded with an 8087.
The PC Express came without an 8087. We asked the suppliers to lend us
one, and they asked us to return the old board. We explained that we
were perfectly capable of inserting a chip into a socket, but they
explained that it would be necessary to modify the board. The supplier
provided an exchange board very quickly, and we could see the extra
wires soldered on to the back. This is not good. If you buy a board
without an 8087, expecting to upgrade it later, this could lead to a
major hassle. The people who used to supply the PC Express went into
liquidation, and the board business was taken over by another firm. It
is not impossible for the same thing to happen again. It would be much
better if the board were always supplied in the configuration that
supports an 8087.
The third problem with the PC Express is the manual. It is badly laid
out, and hard to follow. Important information that is needed to
install the hardware does not appear until the end of the manual. It
looks as if this manual has never been tested on someone not familiar
with the board.
On some types of PC, two small chips have to be changed on the board
before it is fitted. But it is very unclear exactly which machines
will need this; for example, the newer IBM XT with 640K on the
motherboard is not mentioned in the manual.
The final problem that we had with the PC Express was with the 8087
version. It had a tendency to crash the computer with a "PARITY CHECK
2" message, and it lost all data in RAM. The supplier claimed that
this board was one of a faulty batch, which have since been weeded out.
The Number Smasher is very like the PC Express (in fact there is a law
suit in progress). It still needs two small chips to be changed for
some motherboards, but the 8087 version needs no additional wires to be
soldered. The PC Accelerator is another similar board, but seems
better designed. On the PC Express and the Number Smasher, a
daughterboard must be added to bring the memory up to 640K, but on the
PC Accelerator, you can have 640K on the main board. Also, it is not
necessary to swap chips for different motherboards; this is done by
setting DIP switches. The PC Accelerator looks as if it is the best in
this class of speed-up board, although a 12 MHz Number Smasher may soon
be available (it is already being advertised in the US).
80286 CARDS WITHOUT ON-BOARD MEMORY
We found three of these, but we suspect that there is really only one.
They look almost identical (apart from cosmetic differences, they are
identical) and are probably all made by the same company. There were
no differences in performance, except in whether the supplier is able
to offer an 8 MHz 80287, or can only manage to find a 5 MHz chip.
These boards (286 Express, Racecard and Speedpac 286) all use an 80286
running at 7.2 MHz, and you can improve performance by adding an 80287
running at either 5 MHz or 8 MHz. Without the 80287, they are 3.4
times as fast as the PC, but cannot be run at normal speed, so
speed-dependent software won't work.
80286 CARDS WITH ON-BOARD MEMORY
We could only find one of these in the UK, the Pfaster (pronounced
Pee-faster). When we took the board out of the box, we were
immediately impressed; it *looks* fast. The 80286 has large heat-sink
fins, and the board is densely packed with 2 megabytes of 256K memory
chips. There is also an 80287 running at 8 MHz.
Hardware installation was particularly easy, as the old 8088 processor
does not need to be removed; all you have to do is slot in the Pfaster
board. The 8088 is used as a co-processor, to manage input and output
(disks and screen). Software installation was not so easy, as the
booting-up process goes in two stages. First the 8088 is booted, then
the 80286. It took about an hour to install the software. But the
overall effect is as impressive as the appearance of the board would
suggest; it was the fastest board we tried.
One drawback - because the screen display is managed by the 8088, it is
refreshed only at intervals. This made for a rather jerky display, as
chunks of text were popped up on the screen. This would not be a
problem with many applications. The Pfaster is aimed heavily at
programmers, and the prospect of speeding up a compilation that used to
take 15 minutes would outweigh the poorer screen handling. But it
might be unsuitable for word processing. Before buying a Pfaster, you
should try out your application, and decide whether the screen display
is acceptable.
THE NEC CHIPS
As well as trying out the V20 as a straight 8088 replacement, we tried
putting a V30 into the 8086 speed-up cards. The PC Express would not
run, but the Quadsprint was speeded up by about 7%, and the Number
Smasher and PC Accelerator by 14%. There seem to be no bad
side-effects, and the extra speed is probably worth the extra #15 or
so.
CONCLUSIONS
The best speed-up card depends on the mix of tasks that your computer
is doing. The cost of the card must also enter into the decision, as
the cheapest speed-up (costing #200) might be adequate for some
purposes, whereas for others, time might be at such a premium that only
the best will do.
If your mix is mostly word processing, then an 8087 will not help.
Mostly, your software is moving bytes around. One of the 80286 cards
with no on-board memory is the most cost-effective - shop around for
the cheapest, and expect to pay around #500.
If your mix is mostly spreadsheets, then the tasks consist of screen
management (which is byte-shifting) and floating point arithmetic.
Spreadsheets can use extended memory cards, and as there could be
problems with caching speed-up cards, one with on-board memory would be
best. The best buy is a PC Accelerator with 8087, or a Number Smasher
(12 MHz if you can get one). You can buy a PC Accelerator together
with a Liberator extended memory card as a special package deal for
#995, but the 8087 will be extra. Get a 10 MHz V30, for an extra 14%
speed.
Data base management is mostly shifting bytes around. It may be that
the main limitation is disk access, in which case a large RAM disk
might be a good idea. The Liberator/PC Accelerator combination looks
best, but you won't need to add an 8087. If the main limitation isn't
disk access, then a caching 80286 board is much cheaper and will be a
bit faster.
If your main job is graphics (either CAD, or designing business
graphics) then the clock speed of the 8087 is the most important
factor. Try very hard to get the 12 MHz Number Smasher; failing that
the PC Accelerator or the 10 MHz Smasher.
If programming is your main job, then you want to speed up
compilations. These are mostly byte-shifting, so an 8 MHz 80286 is the
best. But compilations can be speeded up a lot by using a large RAM
disk. It is probably worth getting a 2 Mb Pfaster, but without an
80287 (unless this is needed to test the programs). The jerky screen
scrolling will only be a problem when editing the source code, and this
can be avoided by using the machine in 8088 mode.
What do we use? Most of what we do is programming, with some
spreadsheet work. We bought our speed-up card two years ago, when
there wasn't much choice. We got a PC Express, with 640K of memory and
no 8087. We had to get it replaced twice in the first six months
because of hung-computer problems, but the third board has performed
reliably ever since. Intelligence UK were quite helpful, apart from a
nasty period when they claimed we'd acquired the board by some devious
means. It turned out that their records were wrong, as we were able to
produce an invoice, a receipt, and proof of payment.
Using a PC running a 4.77 MHz 8088 seems unbearably slow compared with
a speeded up machine. But at least you know that there won't be any
compatibility problems, either hardware or software. Whatever you buy,
you should make sure that it works in your machine, with the boards you
already have, and with the software you use, before you pay for it.
You should buy direct from the supplier, if possible, as they will have
the best support facilities. When you buy, find out the name and phone
number of the technical support person. If they won't tell you, go
elsewhere, as if a potential customer can't find out, a customer with a
problem won't either. If you want to know details about the potential
problems with the board you are considering, ask that manufacturer's
competitor.
A feature based on this survey appeared in
PC Management in September 1986.