Welcome, Guest. Please login or register.

Author Topic: in case you are interested to test new fpga accelerators for a600/a500  (Read 39179 times)

Description:

0 Members and 1 Guest are viewing this topic.

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #164 on: March 30, 2015, 01:58:13 PM »
Quote from: biggun;786983
Thomas

you misunderstood my point

With old ISA the FPU is only as fast as 68060 @ 66 Mhz.
With NEW-enhanced-ISA the FPU can offer 68060@400 Mhz speed.

This means NEW ISA makes huge impact.
I can show you example code showing this.

Gunnar, please. Are you telling me that the core runs at a faster speed because you added instructions? I beg your pardon...
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #165 on: March 30, 2015, 02:02:59 PM »
Quote from: IanP;786982
With (large enough) FPGA you can go on extending, the core adding new features and end users can upgrade to the new core. There could be an annual release cycle for improvements in the core for some years to come.

Are you seriously believing a majority of users will do that? And that software X no longer runs because user Y forgot to upgrade the CPU core? Or did upgrade the CPU core? That's a *major* headache for any software provider, and *NO*, I will certainly not do that with my code. That's all 68K-only, with some minor exceptions where it really makes a difference, and I'm not providing an annual software patch because somebody removed a special instruction I was silly enough to use at some point. I'd rather stick to plain 68K instead then.  Let's not make another "DLL Hell" by making software developers shooting at a moving target, even less so on a platform that lives from legacy software.
 

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #166 on: March 30, 2015, 02:08:00 PM »
Quote from: Thomas Richter;786996
Gunnar, please. Are you telling me that the core runs at a faster speed because you added instructions? I beg your pardon...


I'm not sure what is not to understand about this.

For here just accept the truth - new ISA will double and tripple performance in certain areas.

I have the feeling the forum here is not the best place to explain.
Lets go to the whiteboard now..
If you have time just give me a call I'm happily explaining it then to you.
I'm sure on the phone all we be crystal clear for you in matter of minutes.

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #167 on: March 30, 2015, 02:13:51 PM »
Quote from: Thomas Richter;786997
by making software developers shooting at a moving target,


Come on Thomas what wrong here.
Is today "the offical day of misunderstanding people" ?

His point was very clear to me.
And his point makes good sense.

For example:
The situation to get a CPU card today.
And next year install a "flash update" which adds a FPU.
And next year after  install " flash update" which adds some SSE instructions.

This is perfect for the users.
Imagine you could have turned your 68000  per flash update into an 68020 and then into a 68060.
Wouldn't this have been wonderful?


He never said that an update will remove anything.
This is really a silly thought IMHO.

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #168 on: March 30, 2015, 02:50:52 PM »
Quote from: biggun;786999
Come on Thomas what wrong here.
Is today "the offical day of misunderstanding people" ?
You probably use the term "ISA" in a non-standard way. For me, it is the user-observable instruction set, completely with the encoding and the desired outcome and side-effects of each instruction. The ISA does not define the caching, speed, branch-prediction, prefetch-logic and so on because this does not change the programming logic. Any work on these issues is highly appreciated and well-motivated, don't get me wrong. But please, keep your hands from the instruction set, i.e. anything that makes software incompatible - either forwards or backwards.

Quote from: biggun;786999
And next year install a "flash update" which adds a FPU.
And next year after  install " flash update" which adds some SSE instructions.

This is perfect for the users.
And a nightmare for any software provider. Gunnar, we are not talking about the intel enterprise here were we have enough market share to force software companies into using another random extension. It's a very small scene, and as soon as instructions are added, you are also creating incompatibilities.

Thus, in specific, using some "unused encoding" from the existing MC68K instruction set is a big no-no. Instead, Motorola had a clear interface how to extend the programming model,and these are the co-processor instruction slots. Whatever extension there is, it somehow needs to go into a documented set that is available for specifically this particular purpose, and not somewhere else. There need to be a documented way to find such extensions, and register them in the Os. The 68060 PCR register was a good start for that. Just randomly throwing instructions into some unused spots is IMHO a very bad idea.

Who knows which instruction set Joe User has loaded today? Do I really need to test all the instructions for availability? Do I really need "another move with zero extension to get a job done faster"? Or which job gets faster by this instruction in particular?

I highly doubt that this is a useful exension given that the focus is on legacy software.

I probably need for *some* specific tasks *some* specific extensions. A multiply-add-capable eight-fold vector logic would be a nice addition for a JPEG DCT, for example. But please: Allocate a co-processor ID for that, and do not throw that into the slots of the FPU or we're creating a big mess of incompatible extensions.  
Quote from: biggun;786999
Imagine you could have turned your 68000  per flash update into an 68020 and then into a 68060.
Wouldn't this have been wonderful?
For whom? For me as a software developer, this is a nightmare. Oh, your software does not run today? So which core did you flash now? No, this core does not work... use one with SSE, but the cache we do not need this big? Oh, that's then slowing down your favourite game? Well, bad luck, then I cannot support you....

It's very simple: The more you go towards hardware, the more stable the interfaces you provide have to be. Given that the Os cannot move much carrying all the legacy cruft around, how much do you think can the CPU change? For me this sounds like "almost not at all".

So once again: Extensions - yes. But please, not in the general integer logic by mis-using "spare slots" for neat instruction encodings. No program gets seriously faster by "move.b d0,d(PC)" or "move byte zero-extended into d0". That's just polluting the instruction space and fragmenting the CPU landscape. SSE, yes, vector units, yes, ... but please each in its coprocessor space were it belongs, with a flag I can easily test.
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #169 on: March 30, 2015, 03:00:06 PM »
Quote from: Thomas Richter;786950
Which compilers would support it, which assemblers would? Does it enable any "killer features"?

Matt Hey has been ready for years now, with 1 or more assemblers revved up and ready to go as soon as Gunnar publishes the official bitmap list of all the instructions.


Quote

Instead of adding a series of seemingly nice, but in reality almost useless low-level additions, it would be much more sensible to add higher level functionalities that enable new killer features the Amiga did not have originally, and from which multiple programs could benefit. Say, JPEG decoding or MP3 decoding. None of the new instructions make these tasks simpler, easier or faster - they are too low-level. What it would probably take would be a hardware engine for some of the components of these standards (Huffman decoder, DCT, digital filters... hence, multiply-add instructions, shift-and-mask instructions and so on).

...

I know, there is the cycle counter party whose members would sell their grandma to reduce the number of clock cycles in a totally uninteresting part of a program, and maybe you want to address the demand from those folks. However, beware! The outcome of such activitly is usually less useful than one may hope for, leave alone the stability, and the increased performance is usually not what you have hoped for.


The 2 main ways to speed up a program are A) cycle-counting to cycle-optimize things and B) rewriting the algorithm from the ground up to be more efficient.

We are not allowed to rewrite the mp3 algorithm or the jpeg algorithm or the h264 algorithm or the h265 algorithm.  So the ONLY thing we can do to speed up our software right now is to do the cycle-counting tricks.  The best way is to add new instructions to the ISA.

All the asm coders on the Natami forum asked for "Multiply-add with clipping" instruction(s) because they allow a dramatic speed increase for audio and video codecs.  Iirc it applies to jpeg decoding also.

Does the Apollo Core have a MADD instruction?  When I left off years ago, Gunnar wasn't allowing it.  But maybe he changed his mind now?  I asked to read the instruction manual to find out but Gunnar hasn't provided it yet.

Sadly without a list of the new instructions, and their bitpatterns (sometimes referred to as opcodes) I can't go around saying how great the new ISA is when I don't even know what it is.
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline Crumb

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1786
  • Country: 00
    • Show only replies by Crumb
    • http://cuaz.sourceforge.net
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #170 on: March 30, 2015, 03:09:07 PM »
Quote from: biggun;786998
I'm not sure what is not to understand about this.

For here just accept the truth - new ISA will double and tripple performance in certain areas.

I have the feeling the forum here is not the best place to explain.
Lets go to the whiteboard now..
If you have time just give me a call I'm happily explaining it then to you.
I'm sure on the phone all we be crystal clear for you in matter of minutes.


Hi Gunnar

First of all congratulations for your progress with your Apollo core.

I think Thor means that existing software won't be rewritten (as the rest of 99% of Amiga software) to use the new ISA so it won't take advantage of newer instructions.

Matthey prefers to take a conservative approach with ISA changes making it more similar to Coldfire etc so compiler changes are accepted in main GCC tree.

Most demanding 1% software like video players and web browsers may be rewritten to use your newer ISA so adding it may be useful as long as it's incorporated in main GCC tree.

I would love 68060 compatibility including MMU support (as long as it's supported by MMU.library I don't care if it's not 060 compatible). I guess that for emulators and monitoring screen updates it's more interesting to have small memory pages like 030 but I'm clueless about MMUs.

when you talk about SSE do you think that making the ISA 56002 compatible may make sense? or something like Altivec?

BTW, I think your team should perform benchmarks with existing optimized 060 software

Good luck
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline ChaosLord

  • Hero Member
  • *****
  • Join Date: Nov 2003
  • Posts: 2608
    • Show only replies by ChaosLord
    • http://totalchaoseng.dbv.pl/news.php
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #171 on: March 30, 2015, 03:13:04 PM »
Quote from: Thomas Richter;787000
A multiply-add-capable eight-fold vector logic would be a nice addition for a JPEG DCT, for example.


Well at least we can all sit around the campfire singing kumbaya because we all can agree on that 1 sentence. :)
Wanna try a wonderfull strategy game with lots of handdrawn anims,
Magic Spells and Monsters, Incredible playability and lastability,
English speech, etc. Total Chaos AGA
 

Offline biggun

  • Sr. Member
  • ****
  • Join Date: Apr 2006
  • Posts: 397
    • Show only replies by biggun
    • http://www.greyhound-data.com/gunnar/
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #172 on: March 30, 2015, 03:15:02 PM »
Quote from: Thomas Richter;787000

Who knows which instruction set Joe User has loaded today? Do I really need to test all the instructions for availability?


hmm you seem to got it wrong again.
No one said that stuff get ever removed or replaced.
We talk here about the possibility to complete and improve while keeping all previous features.

We spoke here about shipping core today as Integer core.
Then in 6 month provide FPU upgrade.
The interger core does not "loose" anything then.
Then maybe 6 month later add "mmu" including both FPU and full Integer core.

So "the only way is up" - nothing gets removed here.

Offline kolla

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #173 on: March 30, 2015, 05:07:10 PM »
So, MacOS in emulator works now?
B5D6A1D019D5D45BCC56F4782AC220D8B3E2A6CC
---
A3000/060CSPPC+CVPPC/128MB + 256MB BigRAM/Deneb USB
A4000/CS060/Mediator4000Di/Voodoo5/128MB
A1200/Blz1260/IndyAGA/192MB
A1200/Blz1260/64MB
A1200/Blz1230III/32MB
A1200/ACA1221
A600/V600v2/Subway USB
A600/Apollo630/32MB
A600/A6095
CD32/SX32/32MB/Plipbox
CD32/TF328
A500/V500v2
A500/MTec520
CDTV
MiSTer, MiST, FleaFPGAs and original Minimig
Peg1, SAM440 and Mac minis with MorphOS
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #174 on: March 30, 2015, 05:40:35 PM »
Quote from: biggun;787004
So "the only way is up" - nothing gets removed here.

I'll keep this quote for the time you make some incompatible change. But honestly, why all the "extended integer unit". What's that stuff good for?
 

Offline psxphill

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #175 on: March 30, 2015, 05:51:51 PM »
Quote from: biggun;786983
With old ISA the FPU is only as fast as 68060 @ 66 Mhz.
With NEW-enhanced-ISA the FPU can offer 68060@400 Mhz speed.

 It seems like a bait and switch. Yeah you can have 400mhz 68060 speed, except you need to port your code to it and the new code won't run on a real 68060.
 
If you can only make it faster by changing the instruction encoding and therefore having to rewrite all the apps, then putting an x86 or arm in there would make more sense as they could then run at ghz speeds.
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #176 on: March 30, 2015, 05:56:50 PM »
Quote from: ChaosLord;787001
All the asm coders on the Natami forum asked for "Multiply-add with clipping" instruction(s) because they allow a dramatic speed increase for audio and video codecs.  Iirc it applies to jpeg decoding also.

Yes, sure. So that's a useful addition, and welcome. There is a use-case, there are requirements, so add it as a special unit near the FPU.

However, can anyone explain me the use case for "move.l dx,d(PC)", or the use case for "move zero extended to register"? Sure, that's probably all neat, but the number of applications where such an instruction is useful to increase the speed by an amount that makes an observable difference is near zero. Leave alone without new compilers or assemblers around. Yes, I can imagine that for special applications like decoding a hand-tuned inner decoder logic could be tremendously useful and worth the manual work. But seriously, is anyone saying "Ok, I'll now rewrite my application because I have now a move to dx with zero-extend instruction available, and THAT was exactly what I was missing?".

IOW, the integer instruction set has been polluted by a lot of mostly useless stuff that doesn't help anyone a bit, instruction space that could probably been used for something more sensible. Extensions, yes. But then please, make sure that they are good for something and there are clear requirements what these extensions are good for.
 

Offline Lurch

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Dec 2003
  • Posts: 1716
    • Show only replies by Lurch
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #177 on: March 30, 2015, 07:07:58 PM »
Quote from: biggun;786999
Come on Thomas what wrong here.
Is today "the offical day of misunderstanding people" ?

His point was very clear to me.
And his point makes good sense.

For example:
The situation to get a CPU card today.
And next year install a "flash update" which adds a FPU.
And next year after  install " flash update" which adds some SSE instructions.

This is perfect for the users.
Imagine you could have turned your 68000  per flash update into an 68020 and then into a 68060.
Wouldn't this have been wonderful?


He never said that an update will remove anything.
This is really a silly thought IMHO.



I would love to be able to do that, I don't see the issue with this. Why are we even saying this is a bad thing?

I don't understand the negativity, price is right, performance is right and being able to slowly add features by firmware update?

A Amiga owners dream.
-=[LurcH]=-
A500 Plus Black 030@40MHz 128MB | A1200T 060@80MHz 320MB | Pegasos II G4@1GHz 1GB  | Amiga Future Sub
 

Offline xboxOwn

  • Jr. Member
  • **
  • Join Date: Mar 2015
  • Posts: 97
    • Show only replies by xboxOwn
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #178 on: March 30, 2015, 08:07:49 PM »
Quote from: Lurch;787017
I would love to be able to do that, I don't see the issue with this. Why are we even saying this is a bad thing?

I don't understand the negativity, price is right, performance is right and being able to slowly add features by firmware update?

A Amiga owners dream.

Exactly. There is nothing more orgasmic than going to a site, downloading the new firmware and upgrade your card....through workbench screen :D
 

Offline alphadec

  • Full Member
  • ***
  • Join Date: Oct 2003
  • Posts: 118
    • Show only replies by alphadec
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #179 from previous page: March 30, 2015, 08:08:11 PM »
Quote from: Lurch;787017
I would love to be able to do that, I don't see the issue with this. Why are we even saying this is a bad thing?

I don't understand the negativity, price is right, performance is right and being able to slowly add features by firmware update?

A Amiga owners dream.


I totaly agree. I am totaly speechless when reading this negativity that I have been reading in this thread today. Tought every amiga user wanted something new. And now we soon will have it and how does some react.....
Amiga 4Ever