Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cbmvax!daveh From: daveh@cbmvax.commodore.com (Dave Haynie) Newsgroups: comp.sys.amiga Subject: Re: 68020 and 68030 ? Keywords: 020, 030 Message-ID: <15195@cbmvax.commodore.com> Date: 17 Oct 90 00:17:21 GMT References: <211@nos850.UUCP> <4186@bingvaxu.cc.binghamton.edu> <4d6635ba.20b6d@apollo.HP.COM> Reply-To: daveh@cbmvax.commodore.com (Dave Haynie) Distribution: usa Organization: Commodore, West Chester, PA Lines: 44 In article <4d6635ba.20b6d@apollo.HP.COM> rehrauer@apollo.HP.COM (Steve Rehrauer) writes: > Given equal clock rates, anticipate 1-3x integer performance and >2-10x floating-point performance going from a 68030+6888x to a 68040. >The integer speedup is mostly due to bigger instruction & data caches. Well, that's hardly where the difference ends. The '040 has a good portion of its instructions hard wired, so they execute faster. It has a deep and clever pipeline, so you tend to get cool and unexpected speedups. For instance, offsets and increment/decrements are basically free on the '040, since a separate ALU handles this is a stage before the main ALU action. Also, the '040 ALU and other internal events are clocked at twice the rate of the bus clock. And the cache is not only larger, it's four set associative. Cache hits are as fast as registers. And there are separate data and instruction MMUs, each with 64 entry ATCs, versus the single 33 entry ATC in the 68030. And the list goes on. I think Moto really did their homework on this baby. Now if only they can get into full production. > (The 68040 doesn't implement the full instruction set of a 6888x >FPU, so your float mileage will vary depending upon the instruction >mix in your code. If you take code that was compiled for a 6888x >coprocessor and run it on an '040 box, you're probably going to be >trap-emulating some 6888x instructions, which is a big performance >loser. I think some people are going to be surprised when they take >big number-crunchers compiled for a 68030+6888x and move it onto a >68040 -- it mayn't run all that hot, as it would if the compiler were >tuned for the 68040 float instruction mix.) Of course, Motorola claims their emulation library is as fast or faster than the 68882 at the same speed. That really remains to be seen. If the internal FPU instructions are really as fast as the manual claim, you'll probably want to recompile all your math intensive code for 68040 and in-line the smaller functions that are missing from the hardware, at least for maximum performance. The same really goes for integer code as well -- there are many places where several simpler instructions will kick the butt of a single complex one (this is even the case, to a small extent, on the '030...). >"I feel lightheaded, Sam. I think my | (Steve) rehrauer@apollo.hp.com -- Dave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests" {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy Standing on the shoulders of giants leaves me cold -REM