040 Accelerator
31 messages in this thread
Just curious: How much will the Amiga 3000 be enhanced by the arrival of
the 040 accelerator card? Anybody know what clock speed the card will run
at? Any estimates on when the card will be available? Price? Thanks.
Barry.
Barry,
All else being equal (same clock speed, etc.)…an '040 is about
twice as fast as an '030.
Don
i hope you're right, don. i think the most benefit folks will see is in
the performance of programs written in C, etc. Given recent experience
reading the assembler output from Amiga C compilers i've concluded that
ANYTHING would speed those programs up. The C compiler output I've seen is
positively scuz-bucket quality assembler, in some cases lacking even the
most rudimentary speed considerations. The best speedup tool for the Amiga
is to avoid C or other high level languages for any part of a program which
is speed sensitive and do it in assembler with regard for some of the
well-known speed tricks (add.l d0,d0 instead of lsl.l #1,d0; moveq #0,d0
instead of move.l #0,d0, etc.). I am eagerly looking forward to putting an
040 into one of my Amigas as soon as practical.
some software may be able to run MUCH faster, but I have seen too many
incorrect claims for 040 floating point performance and overall
performance. I'll bet that an 040 at 25mhz isn't too much faster than an
030 at 50mhz unless code is specially optimized for the 040. While some
claim huge floating point speed gains for 040 (specifically the misleading
Amiga World article recently), note that the built-in floating point on the
040 is only simple arithmetic – sines, cosines, etc. must be emulated in
software. The 040 does NOT have a complete 881/882 type capability built
in, only add/subtract/multiply/divide (maybe square root, too?). those four
functions should be REAL fast, though, even much faster than they would be
on an 881/882. My guess is that real world benchmarks will tell. I tried
FractalPro on Progressive Peripherals' prototype 040 board at AmiExpo
October 1990 and it was about 20-30% faster than a 25mhz 030 (using a 25mhz
040 prototype chip). FractalPro is ALL integer code – no floating point.
That should tell you something – claims for 20Mips IMPLY that the 040
should run about 10X faster than a 25mhz 030 – but, plain and simple, IT
DOESN'T. I may be able to re-code FractalPro's math to optimize its
performance on 040 when it becomes truly available at reasonable cost as it
has larger caches, but I've already paid a great deal of attention to
020/030 optimization (not to mention optimization of the separate routines
in FractalPro for those machines which have 68000/010). I'm not sure how
much extra speed I'll squeeze out of the 040 with code which is already
pretty optimized on 020/030. FractalPro is a good benchmark, though,
nearly and acid test of integer performance. I want one, too, though! To
paraphrase Vince Lombardi, Speed isn't everything … it's the ONLY thing.
Thanks for the reply on the 040 card. Should be a great advancement.
Daniel,
just an observation, but according to the MIPs test I ran on my 25 MHz
'030, it was operating at 7.692 MIPs, which should put a 20 MIPs '040 at
just over 2.5 times the speed of an 030. Of course, that was with burst
nibble mode RAM.
Brian J. Bartlett
Which card? :^) There are several cooking. Progressive Peripherals is one,
and CBM (very likely) should have one too… (rumor alert).
An 040 will be considerably faster than an 030 of the same speed. Double is
not unreasonable as an expectation… IE, a 25 mhz 040 should be near a 50
mhz 030… faster than that, in some cases.
Ben
Amateur Radio Callsign is A A 7 A S
I have been told by CSA that they are working on a '040 board. Price was
expected to be about $5400. It will apparently be a real top end board
with all the power user bells and whistles.
Mike
Good. The more, the merrier.
Ben
Amateur Radio Callsign is A A 7 A S
Mike,
$5400!!!??? Hmmmm — doesn't RCS advertise one for $2995 and Supra's is
supposed to be $1995? Progressive Peripherals will be coming out with one
— but I haven't heard a price on it.
-sja
I was shocked too, but it's supposed to have lots of 32 bit burst memory
and other neat things. I don't recall all the details — I sort of blurred
out when I heard the price. We were talking about a busted pin on my Mega
Midget Racer and the guy was trying to interest me in ordering some 32-bit
ram for the board for after it was fixed, and then he launched into a
lengthy pitch for the '040 board they had in the works, presumably because
I asked "So how's business?" But it's kind of like the American Express
Platinum card — it sounds neat until you find out the annual fee is $300.
I'm not even sure I know what burst memory is, but to hear him, it's real
fast. I suppose if I were doing video animation production work I'd be
drooling over it, but with my uses, the 25 MHz '030/882 in my MMR stays
ahead of me most of the time. :^)
Mike
Rumor is that the 040 will first see the light of day in a 3000T bundle (no
price yet) and that it wil be a 25 Mhz model. wmc
Barry–
In addition to the speed/power benefit, I have heard that the '030 in
the A3000 remains active when an accelerator is installed – possibly giving
rise to multiprocessing on the Amiga. However, they said this about the
Bridgeboard when the A2000 was announced, and no one took advantage at all.
Jonathan
– via Whap!
"No one took advantage at all"
You can start a database sort of the Bridge and go do anything you want on
the AMiga… with no slowdown. I'd say no one had to do anything – the
advantage was there from day one.
Ben
Amateur Radio Callsign is A A 7 A S
Ben–
I was talking about claims of "cross processing" that were being bandied
about – killer applications that would use the additional horsepower of the
Intel processor present, if present. Sort of like hamburger helper, I
guess.
Jonathan
– via Whap!
But Jonathan, you don't get any horsepower out of an intel processor.
Maybe that is why there haven't been any of these "cross processing"
applications.
I would rather see somebody take three 68302s and stick them on a Zoro II
card. It would make one heck of a high performance serial card – be about
12 ports in all possible (each 68302 has three Serial Communication
Controllers each one capable of of Interchip Digital Link (IDL), General
Circuit Interface (GCI), Pulse Code Modulation (PCM), and Non-Multiplexed
Serial Interface (NMSI) (Heck, these channels can do HDLC, BISYNC, DDCMP,
V.110, and UART modes), plus one Serial Communications Port, a 68000 core,
timers, DMA controller, etc). Neat Stuff!!
If you want real horsepower, you should start looking at multiprocessing.
I don't beleive the Amiga's design allows for true multiprocessing, since a
Zorro II board can not take over the bus (except to do DMA transfers), but
it should be possible to have slave CPU boards. There was going to be a
Transputer board from europe, but it was expensive, and required new
compilers. What should be possible is stick a 68030/882 on a board with a
few meg of ram, maybe a couple of serial ports (a slave 68302 would do real
fine here), an optional SCSI port, then a person could take a very
processor heavy application, such as ray tracing, port it to the slave when
doing rendering, but leave the user interface/editor on the main CPU. I
know the OS does not support this, but if the slave cpu boards were not
doing multitasking in their own domain (I mean running a number of slave
applications, not overhead that may be required by the slave for
communications with the system), then only one application at a time would
be dealing with the slave board, so the application would only have to
"own" the slave while it is using the board to keep other hands off.
Heck, I sure ramble at times!
73, Kelly
Kelly–
Sleep, perchance to dream…I wouldn't bank on seeing anything like
this, except using '040/'030 combo thang I mentioned earlier.
Jonathan
– via Whap!
Kelly,
I like your slave processor idea. Let me suggest a twist I'd thought
up. Make a card with a boxfull of 68000's or 68302's on it. Give each
processor some memory and tweak the OS so that each slave thinks it's a
full-blown amiga. System call can be handled a whole bunch of different
ways: (1) insert dummy routines that transfer control momentarily to the
master CPU for execution. (2) add contention-prevention hardware and hope
that all system code is re-entrant. (3) swap code back and forth between
the master and slave CPU on the fly, depending upon what the unit is doing.
[big headaches with that one. Never mind.]
The idea behind this is that the individual progs don't know that
they're doing anything different and thus don't require recompilation to
function. Ray-tracing won't go any faster, but it won't slow down the BBS
that you're running in the backround. As the system gets more tasks, the
OS just spreads them out amongst the processors. Since each processor
still multi-tasks, it doesn't matter if you have more tasks that
processors.
————————————————————TL———-
Trevor, can you say 'Transputer'? 🙂
There are several Transputer systems available for the Amiga that will do
just what you say; except that you'll need to shell out *big* bucks to get
them, and learn a new OS and language to write software for them. But if
that is your thing….
Now, the idea of the Amiga OS actually supporting what you say would be
intriguing, but I'm not gonna hold my breath. I suspect that it would take
more than a 'tweak of the OS'…. 🙂
–jp–seattle–
John:
From the January, 1991 _BYTE_, article by Tim Holloway, "The
object-oriented Amiga Exec", quote from page 334:
"Nothing in the basic design of Exec actually requires only a single CPU to
be present in the system. Exec could be implemented in a multiprocessor
system if access to system lists were properly serialized. Amiga 2500
systems contain a 68000 and a 68020 (or 68030). At present, one or the
other is put to sleep at boot time, but there are possibilities here."
Also, from page 3 of Commodore's "A2286/A2088 Bridgeboard User's Guide":
"One of the most powerful features of the Amiga/Bridgeboard design is the
ability to run software tailored specifically to take advantage of the
combined strengths of the Amiga and PC systems. For example, a hybrid
A2286 system using 80286 and 80287 processors on the PC side could be
performing process monitoring while the 68XXX series processor on the Amiga
side is handling real-time graphics display of the process monitoring."
Why haven't we seen either of these things from either CBM or third party
tech wizards? Or have they been done, but quietly?
?|^] Ray Lewis
I remember all the words about the BridgeBoard/68000 link years ago also.
Can still "Imagine" some uses for such a multiprocessing link 🙂
Daniel Wolf had a good thought…. using somethings like ParNet/SerNet etc
to spawn tasks to other Amigas…. I could certainly see somethings like
that too.
Gotta be enough market, however. Sigh.
–jp–seattle–
John:
What I'd like to know is if there's a way to use the 68000 that's in my
machine rather than having it sleep on the job while the 68030 does all the
work! It sure would be nice is something like say AMAX could run on the
68000 while ADOS is running on the 68030 at the same time rather than
having to devote the whole machine to AMAX or ADOS. Then with a BB it'd be
possible to switch between AmigaDOS/Mac/MS-DOS all in the same session! All
that we'd need after that is some way of having all three talk to each
other, and it'd be like a network all in one box. 🙂 I know there was a
company that made an XT board that was basically an Apple IIC on a card so
that PC's could use Apple II programs, so with that added, it'd be 4
machines, and add the German Atari emulator (the one that really works) and
it's up to 5, get a version of Unix that cooperates with AmigaDOS, and it's
6, gee, this could keep on going and going…
I guess if I could get the 68000 working as well as the 68030 that alone
would be really nice.
-Mike Schiller
In sunny Fort Lauderdale
My understanding is that there is -no- way to access the 68000 in a 68030
powered A2000 (or A500, I guess). They sit on the same bus line or such,
and the 68030 just takes over. Period. (techies, please elucidate)
But, I also understand that in an A3000, when it gets the 68040, that the
68030 will still be usable with fancy programming. If true, then that
could make for some pretty spectacular performance in some programs. I can
just Imagine it 🙂
(above is just what I've read. I guess I -hope- it is true) 🙂
Mike: I picked up an old (discontinued) Orchid 286e Turbo card for my
Bridgeboard. This is a coprocessor card that lets the 8088 in the
Bridgeboard continue along; you switch on the fly between 8088 and "turbo"
286 mode. In the latter, the Orchid card uses the BB's 8088 and 512K RAM as
a super I/O system and cache. The SI on it is around 12. Now, if this can
be done with an 8088/80286, surely it can be done with a 68000/68030 or
other Motorola combo.
–jp–seattle–
I puzzled over the 'how-to-do' part quite a lot last year. Can't
remember all the details anymore, but I seem to recall that the only real
nastiness involved is in preventing RAM contention. You hafta make a
globally acessable table showing what memory is locked out, and set it up
so that only one CPU can access it at once. Memory is addressed linearly,
but each CPU has a mem bank reserved for its use: looks like this–
MASTER CPU SLAVE #1 SLAVE #2 SLAVE #3 …..
0-16M 16-20M 20-24M 24-28M …..
..not that all of the memory need be installed, but less than 1Meg per CPU
would be a waste. The master would need a few Meg extra. When the 680×0
in slave #1 makes a read to its own memory bank, the higher bits of the
address indicate a 'local' read and the data is gotten from the slave's
internal bus. No bus contention, therefore. External reads have different
bits in the high end, and now the chip has to request bus access. The OS
needs to be tweaked to get progs to use RAM inside their own bank as much
as possible. Every read/write to other mem banks including the master bank
slows the system down.
Another version I came up with relied on a 'phasic' bus. This bizarre
creature required a 114.04MHz bus & 16 680×0's. Could never get any of my
E/E friends to buy into the idea as it had horrible switching problems, but
from the OS standpoint, it looked feasible. Would've appeared to the user
to be 16 Amiga's in one box, all thinking that they were independant
machines, despite having overlapping memory and shared hardware. Nifty
stuff, but way too weird. Each 680×0 would THINK that it was the master
and all the others were slave chips…
No, it can be done, but would it sell in Topeka?
————————————————————TL———-
Trevor, how many spare man-years do you have to contribute to the project?
<GRIN>
73, Kelly
Kelly:
"How many spare man-years do you have to contribute to the project?"
–
Not a one…my boss recently calculated the man-years to finish my current
project at work as being around 12 man-years.
Currently, there are two people working on the project and the deadline
for completion is about Nov '92, with development completed Nov '91.
–
Hey buddy, can you spare a Man-Year?
————————————————————TL———-
Gee Trevor;
That sounds like normal planning/scheduling! 🙂
An Amiga message processed by Whap!,
bill
kelly, i think i've heard of that approach – it's called NETWORKING! and
latest rumor I've heard is that Amiga has it! (grin). you can already
parcel out tasks without any new hardware designs by using PARnet, DNET,
Amiga EtherNet, etc. It's probably cheaper to buy some old A2000's than to
create a new board with a 'slave' (risky terminology there, dude)
processor. Add Ethernet and, bingo, 'slave' computers by the handful.
Jonathan, if it's any consolation, I've wondered the same thing.
Seems to me that applications like ray-tracing, etc would benefit by SOME
amount by sending off some of the job to a BridgeBoard? You'd give the top
2/3 of the screen rendering to the 68000/030 and the remainder to the 286
bridgeboard, for instance? Wouldn't be incredible, but would be faster,
no?
But then again, from a developer point of view, how many people are both
ray tracers and have 286 bridgeboards? And having to write the rendering
code in both 68000 and 286 code would almost certainly be more trouble than
the limited sales would support. –jp–seattle–
John–
I agree. Obviously, when the 2000 came out, someone was blowing
vapor…
Jonathan
– via Whap!