Welcome, Guest. Please login or register.

Author Topic: Need explanation of the CPU and FPU technology on turbo boards  (Read 12946 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline kidkoalaTopic starter

  • Full Member
  • ***
  • Join Date: Jan 2006
  • Posts: 206
    • Show only replies by kidkoala
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #14 on: November 24, 2006, 11:34:28 PM »
here is an interesting article from the year of the lord 1999, considering the effects of an fpu, though in cooperation with three different patches;

http://www.youngmonkey.ca/nose/articles/NewTekniques_9902/ImprovingPerformance/index.html
Mi amiga..Mi amore..
..::A4000PPC::..
 

Offline Hyperspeed

  • Hero Member
  • *****
  • Join Date: Jun 2004
  • Posts: 1749
    • Show only replies by Hyperspeed
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #15 on: November 25, 2006, 03:06:01 AM »
kidkoala: That 'Young Monkey' link was damn good. I heard somewhere else that the well acclaimed Oxypatcher added 20 seconds to boot time. Well they can keep that, I'm running an Amiga not a PC - I want to boot in 20s total!

:-D

Interesting too that the HSMathsLibs didn't appear to have any real world speed improvements... and they weren't free either!

The page did hint that there was a fair few programs that used the FPU (why else would there be Oxypatcher, HSMathsLibs and Cyberpatcher?).

We must track down all the FPU programs, for the good of mankind!
 

Offline kidkoalaTopic starter

  • Full Member
  • ***
  • Join Date: Jan 2006
  • Posts: 206
    • Show only replies by kidkoala
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #16 on: November 25, 2006, 03:23:13 AM »
haha, this is turning into a good laugh at 04:16gmt+1..

mad scientists growling, screaming, twisting thumbs and ripping out hairs; "what in the name of Jay Miner is that FPU good for!? why is it there? what can it do? who invented it and does it contain the meaning of life?!"

yes, i was also blown away by the monkey-link, and the other links from the same page, lots of very useful info:)

i'm always careful with conspiracy-theories, but those patches look a bit weird "we make a patch, and then we make a testprogram that shows some numbers that look very positive, and then we take money for giving these two programs to people" ..i don't know, probably was something useful for someone, i'll dig some more dirt about the use of an fpu


EDIT:
"Special programs (Raytracing, DTP, Mathematics, TeX) are offered in a special coprocessor version which are up to 50 times faster than the original versions. "

are dtp and tex programs?
Mi amiga..Mi amore..
..::A4000PPC::..
 

Offline rkauer

  • Hero Member
  • *****
  • Join Date: May 2006
  • Posts: 3263
    • Show only replies by rkauer
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #17 on: November 25, 2006, 04:05:40 AM »
Just a memo: you could NOT use a faster FPU than your CPU. If you bought a faster FPU, simply put a cristal the same clock of CPU.

Yes, they are various progs who really use the FPU: scala, Raytracers, MUI (!), MCP (new one arrives on december)....

Games: Genetic Species, TFX, Quake, Doom, Myst (the Amiga versions, of course). And a lot more. :-D

Mpega fpu version IS SLOWER than integer version (don´t ask why, I could reply) ;-)
Goodbye people.

I\'ll pop on from time to time, RL is acting up.
 

Offline Hyperspeed

  • Hero Member
  • *****
  • Join Date: Jun 2004
  • Posts: 1749
    • Show only replies by Hyperspeed
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #18 on: November 25, 2006, 04:26:03 AM »
Ahhh, now we're getting somewhere!

DTP? So is it not feasible that Wordworth and Pagestream are using the FPU for object scaling, rotation and TrueType font calculation?

Would Turboprint use the FPU for it's Super-Smoothe algorithm?

What about Elite/Frontier/Lambda?

It's hard to track down these programs without reinstalling, the sight of 68882 option in the installer though is quite familiar. I must have loads of FPU programs lurking on my Amiga!

Another topic could be "What software uses the MMU"!
 

Offline Hyperspeed

  • Hero Member
  • *****
  • Join Date: Jun 2004
  • Posts: 1749
    • Show only replies by Hyperspeed
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #19 on: November 25, 2006, 04:41:19 AM »
Quote
by Piru:
Archiving tools certainly do not use FPU, at least not for anything time critical such as compression or decompression.


Hmmm... I looked back through the LZX manual and it has optimisation for the various CPU caches, but not the FPU.

I've seen these 68881/68882s used on Mac motherboards and there are x86 equivalents for ancient PCs too.

What would be the difference between a CPU's FPU and a modern day GPU? Both seem to be gauged in FLOPS?

So can someone explain in Sesame Street terms what an FPU does? Is it for calculating data such as Pi that has no real end but the FPU will make the calculation more accurate?

 

Offline AmigaMance

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 1278
    • Show only replies by AmigaMance
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #20 on: November 25, 2006, 09:03:53 AM »
Quote
Yes, they are various progs who really use the FPU: scala, Raytracers, MUI (!), MCP (new one arrives on december)....

Games: Genetic Species, TFX, Quake, Doom, Myst (the Amiga versions, of course). And a lot more.

 That's right! And just to add a few more to this insightful and valid thread, the dir, cd and list comands of the AmigaDos requires a working FPU AND MMU! Without them, they just crash.. :-(

Quote
Mpega fpu version IS SLOWER than integer version (don´t ask why, I could reply)

 You can find an explanation in the docs of the package..
A1200 PPC user.
 

Offline kidkoalaTopic starter

  • Full Member
  • ***
  • Join Date: Jan 2006
  • Posts: 206
    • Show only replies by kidkoala
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #21 on: November 25, 2006, 12:51:17 PM »
haha cd, dir...use fpu an mmu? :)

I think the fpu would do the logic math, and arithmetic operations, that otherwise must be emulated on the cpu, or by the OS, if you don't have an fpu. but not like easy two-digit operations, but floating point operations with many decimals etc. I guess they have a pretty good fpu (or a few thousands) when calculating astronomy-things or astro-physics :)

Typical operations are floating point arithmetic (such as addition and multiplication), but some systems may be capable of performing exponential or trigonometric calculations as well (such as square roots or cosines).

Today, many CPUs/architectures have more than one FPU, such as the PowerPC 970.

x86 before the 80486 (from 8086), had either non fpu, or had a free optional slot, like on Amiga accelerator, for the 8087 (like a 68881/2).
Mi amiga..Mi amore..
..::A4000PPC::..
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3644
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #22 on: November 25, 2006, 01:10:41 PM »
Quote

rkauer wrote:
Just a memo: you could NOT use a faster FPU than your CPU. If you bought a faster FPU, simply put a cristal the same clock of CPU.

That is just not true. They run asynchronosly in most designs. If it has a separate crystal socket it was designed to run at a different speed to the CPU!

Quote

Hyperspeed wrote:
What would be the difference between a CPU's FPU and a modern day GPU? Both seem to be gauged in FLOPS?

Too many to mention. GPU's are not usually measured in FLOPS (FLoating point Operations Per Second) but in pixels/texels per clock, or more commonly now in the number of pipelines and shaders.
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #23 on: November 25, 2006, 01:19:22 PM »
@Hyperspeed

Ultimately, as you know, computers deal with binary data, ie a simple 0/1 state.

An individual bit is not useful beyond representing a basic "on/off" or "true/false" type propery.

In order to represent numbers, bits are grouped together. If you have N bits together, they can represent 2^N (that's 2 to the power N) possible states. So, an 8-bit byte can represent 2^8 == 256 possible states. This leads to the notion of the binary number system and arithmetic, where each bit represents a power of 2 (just as you have units, tens, hundreds etc in decimal arithmetic).

Provided all you ever want to do is deal with whole numbers, your basic binary arithmetic is fine for most purposes. This is the "integer" arithmetic that your classic CPU performs.

Unfortunately a lot of real world calculation involves imprecise numbers that can span enormous scales of magnitude. If you are familiar with scientific notation, you'll know what I am talking about. Integer arithmetic becomes hugely impractical for this type of calculation.

If you think of scientific notation, where you have m x 10^e where m is the (signed) mantissa, from 1 to 9.9999r and e is the (signed) exponent, you can see that you could come up with a similar notation in binary: m x 2^e. In this scale, m is from 0.5 to 0.999r. The IEEE came up with a binary representation for this notation where a total of 32 bits can be used to represent a value to roughly six decimal places from around 10^-37 to about 10^+38. There's a 64-bit version that has a much larger exponent range and can store values to more decimal places.

Working with these binary formats is a bit more complex than the simple integer case. As not every pattern of 32 or 64 bits are a valid representation, you have to ensure that your values are formatted properly; adding, subtracting, multiply and divide are all more complex than for integer mathematics. In short, dealing with this number format requires a lot of integer operations to perform the required mathematical operation on the floating point number. Consequently, dealing with them is rather slow.

An FPU is a dedicated processor that knows how to work with these formats directly. Instead of the CPU having to grind through a list of instructions to add a pair of floating point numbers, the FPU can do it directly, often in a lot fewer cycles than the CPU can execute the equivalent sequence of operations.

The 68882 didn't stop at providing the basic add, subract, divide, multiply and compare operations for floating point numbers. It also provided more complex operations such as square root, sine, cosine, tangent, log, exponentiation and other "transcendal" functions. They typically weren't very quick (some could take over 100 cycles to execute) but they were still faster than the 68020/68030 it was designed to support could typically manage.

With the 68040/68060, all the transcendal stuff was dropped out with the sole exception of the square root (this is a mathematical primitive that is extremely important and also not that expensive to evaluate). Instead, the designers focused on making the basic operations as fast as possible and emulating all the missing stuff.

int p; // A
 

Offline kidkoalaTopic starter

  • Full Member
  • ***
  • Join Date: Jan 2006
  • Posts: 206
    • Show only replies by kidkoala
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #24 on: November 25, 2006, 01:55:07 PM »
@hyperspeed

thank you for the detailed info. which extends my last post to space and beyond ;)

@alexh

I think it's like this: if you have a cpu@30mhz and a fpu@50mhz, then the fpu would have to wait for the cpu all the time, because it's so much faster.
it's better if they have about the same Mhz to cooperate better, meaning there's no point in having a really fast fpu if the cpu is lagging behind.
Mi amiga..Mi amore..
..::A4000PPC::..
 

Offline KThunder

  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 1509
    • Show only replies by KThunder
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #25 on: November 25, 2006, 06:15:32 PM »
say you have an 64bit floating point calculation
(all numbers just for sake of arg)

68030@25mhz say it takes 100 clock cycles

say on a 68882@25mhz it takes 50 clock cycles (probably less)

now say the 68882 is running @ 50mhz it still takes 50 cycles but only half as long it lets the 68030 know the answer is ready in half the time.

thats why it is faster. most accelerators that i know of that have an fpu socket can run it faster than the cpu

several people have said that there is a prog which has an fpu version which is slower and hinted at why, please tell us why it is slower i dont have the docs
Oh yeah?!?
Well your stupid bit is set,
and its read only!
(my best geek putdown)
 

Offline Hyperspeed

  • Hero Member
  • *****
  • Join Date: Jun 2004
  • Posts: 1749
    • Show only replies by Hyperspeed
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #26 on: November 25, 2006, 10:00:30 PM »
One question springs to mind here... are the sadistic, aggresive people that program Quake actually mathematicians?
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #27 on: November 25, 2006, 10:03:52 PM »
Quote
several people have said that there is a prog which has an fpu version which is slower and hinted at why, please tell us why it is slower i dont have the docs

Original mpega.library has FPU version that is considerably slower than the integer one. It supposedly has better quality (but frankly, you can't hear the difference). It's slower because the floating point algorithm is quite different from the integer one.
 

Offline Vulture

  • Sr. Member
  • ****
  • Join Date: Nov 2005
  • Posts: 310
    • Show only replies by Vulture
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #28 on: November 25, 2006, 11:08:22 PM »
a rough list of apps using an fpu off my hd:

draw studio
image fx
image engineer
sview
wildfire
imagine
cinema 4d
real 3d
lightwave
vista
world construction set
pagestream has an fpu library
mpega
ncoder
pegase

back with more later, my miggy decided to turn herself off!
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show only replies by Piru
    • http://www.iki.fi/sintonen/
Re: Need explanation of the CPU and FPU technology on turbo boards
« Reply #29 from previous page: November 25, 2006, 11:18:19 PM »
@Vulture

Which one of those listed apps require FPU to function at all?