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.