Skip to Content.
Sympa Menu

baslinux - What is a co-processor (was: Re: [BL] xvesa arguments found)

baslinux AT lists.ibiblio.org

Subject: Baslinux mailing list

List archive

Chronological Thread  
  • From: "Anthony J. Albert" <albert AT polaris.umpi.maine.edu>
  • To: baslinux AT lists.ibiblio.org
  • Subject: What is a co-processor (was: Re: [BL] xvesa arguments found)
  • Date: Fri, 16 Jan 2004 09:26:05 -0500

On 15 Jan 2004 at 12:24, James Miller wrote:
>On Thu, 15 Jan 2004, Anthony J. Albert wrote:
>> I have tried to run compiles on a 4MB 386SX, with BL1.x installed on
>> the hard drive, and I was only able to get the simplest programs to
>> compile. gcc kept bombing out on anything much more complex than "Hello
>> World", until I added additional memory.
>
>Thanks for that information. I do have the BL1 compiler to install, if I
>get adventurous. Maybe with a math coprocessor compiling would work
>better? (just a guess: I don't really have a very clear idea of what a
>coprocessor actually does) I've asked a friend if he might be able to dig
>one up from among his scrap heap.

Okay, here's what the math coprocessor is & does:

A math co-processor is a separate processing unit from the CPU which
can do math much faster than the CPU - especially multiplies, divides,
and floating-point math. So, if the speed-up is enough, the CPU can
send math instructions to the co-processor, and then receive the answer
more quickly than the CPU can do the operation itself.

In the x86 line of processors, the math co-processor was initially a
separate chip, then came to be combined on the die with the CPU.
Usually, the designation of the co-processor is similar to the CPU,
with a "7" instead of the 6.

So the 8086 has an 8087 math co-processor, the 80286 an 80287, and the
80386 an 80387. The 80486 had a math co-processor incorporated inside
the package... but the 80486SX designation indicated a cheaper
processor, without the math co-processor. Some motherboards I've seen
would allow you to use an 80387 with an 80486SX, to provide the co-
processor support. From the Pentium on up, though, the math
instructions are done directly on-chip, so no co-processor is needed...
at least until the highly math-intensive graphics came around, so many
video cards these days have a "DSP" chip, or Digital Signal Processor -
which could be considered a form of math co-processor.

Now, getting back to the original question: Compiling a program with a
math co-processor, as compared to compiling it without, which is
faster? Well, the answer is going to be "it depends".

If the compilation process uses a lot of multiplies, divides, or
floating point operations, then it can benefit from having the math co-
processor. However, if it doesn't use a lot of those, then odds are
that there will be no benefit.

It would be my guess, without testing, that something like a kernel
compile would have a noticable speed-up with a math co-processor
present, but that for compiling something like a single driver (usually
only a few hundred KB) might not benefit noticably.

Hope this was informative,
Anthony Albert

===========================================================
Anthony J. Albert albert AT umpi.maine.edu
Systems and Software Support Specialist Postmaster
Computer Services - University of Maine, Presque Isle
"This is only temporary, unless it works."
--- Red Green





Archive powered by MHonArc 2.6.24.

Top of Page