Welcome, Guest. Please login or register.

Author Topic: in case you are interested to test new fpga accelerators for a600/a500  (Read 38660 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 #344 from previous page: April 04, 2015, 12:17:14 PM »
Quote from: psxphill;787372
As long as you don't care about running old software, but as soon as you open up that for debate then why worry about any old software. Just stick a fast x86 in there and run an emulator.

Sorry, I don't get your argument. There are already two incompatible(!) MMU models, the 68030/68851 and the 68040/68060. Even within the same family, subtile differences exist, so a single program cannot depend on a single set of instructions already. Note again that the instructions and the programming logic is already different from MMU to MMU.

Thus, MMU is "system programming" and "supervisor instruction set", whereas the above integer instructions are "user programming" and "user instruction set". A user program has no reason to access the MMU in first place. That's the job of the Os, or in case of the Amiga, of the CPU support library.

The supervisor programming logic is already different from family to family in the 68K land, so nothing new here. The user-land programming did not, or rather, only a single cut was introduced with the 68020.
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #345 on: April 04, 2015, 12:29:02 PM »
Quote from: matthey;787396
This is a good idea in theory but there are problems. A new SIMD/vector unit in an FPGA may only support integer operations because of the cost of even single precision floating point.  
Why is there a difference between eight additional registers in a single FPU and eight additional registers in a dedicated FPU? I don't see one. To save the first set, use FMOVEM with the co-processor ID of the 68881. To save the second set, use the coprocessor ID of the second FPU. Even better, programs only using the first FPU would only store the FPU state of the first FPU on the exec stack frame, and hence the stack frame and the debugging tools would remain untouched.  
Quote from: matthey;787396
1) 8 register FPU with integer only SIMD = slow fp performance
FPU and integer is contradition in terms. (-:  
Quote from: matthey;787396
2) 8 register FPU and wait for an SIMD with single precision fp = slow fp performance now
Why do I need to "wait" for something? That is rather a question how I organize my vector unit. For all the decoding work, two register banks, each representing a vector of eight single precision registers would be rather ideal. But why stop there, I mean, you could also reorganize this as 4x4 unit or 2x8 unit. That's rather a question of organization and not a question of "slowness" or "fastness".  
Quote from: matthey;787396
The 68k FPU would be much more efficient with more scratch registers (the cost of saving and restoring extended precision FPU registers is very expensive).
I would not even work with extended precision in the vector unit. What for? The applications I would have in mind that would allow speedup by the FPU - multimedia decoding, namely - only require single precision. These are "killer applications" where one can really profit from new features and where one can easily implement a dispatcher in a corresponding datatype.  
Quote from: matthey;787396
Keeping the FPU extended precision makes more sense with 16 registers because of the register argument passing and reduced register saves and restores.
Look, 16 registers alone does not buy you much for the applications I have in mind. Despite, it creates potential incompatibilities because you need to save and restore the registers.  
Quote from: matthey;787396
Which do you think would cause the least incompatibility?
Have a dedicated unit that is only enabled for programs that use it. It is easy to add this as a flag on the exec stack frame that indicates whether the second FPU is busy or not, and programs that do not use it would use the same old stack frame.

Thus, a scalar FPU, 80 bits precision, as today. A vectorial unit, only enabled when required and whose context is only saved and restored when required, single precision only. Vectors of size eight or four, probably two sets of them.
 

Offline psxphill

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #346 on: April 04, 2015, 01:35:23 PM »
Quote from: Thomas Richter;787400
Sorry, I don't get your argument. There are already two incompatible(!) MMU models, the 68030/68851 and the 68040/68060. Even within the same family, subtile differences exist, so a single program cannot depend on a single set of instructions already. Note again that the instructions and the programming logic is already different from MMU to MMU.

The argument is, don't create another incompatible MMU model and let us run all of the 68060 software that exists already. Anything worth running already works on a 68060.

Essentially I want to be able to run all 68060 software at the fastest speed possible (but no faster that it causes incompatibilities). Like I want my car to go as fast as possible but I'm not going to take out the seat belts, brakes, roll cage etc to save weight.

If after it's possible to run all 68060 software there is a future mode that can be enabled that is faster but only works with new age software then I don't have a problem with that (I probably won't use it but I won't care).
« Last Edit: April 04, 2015, 01:37:33 PM by psxphill »
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #347 on: April 04, 2015, 03:14:37 PM »
Quote from: psxphill;787402
The argument is, don't create another incompatible MMU model and let us run all of the 68060 software that exists already. Anything worth running already works on a 68060.

Essentially I want to be able to run all 68060 software at the fastest speed possible (but no faster that it causes incompatibilities). Like I want my car to go as fast as possible but I'm not going to take out the seat belts, brakes, roll cage etc to save weight.
May I ask which software you currently use that goes down to the MMU directly?
 

Offline wawrzonTopic starter

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #348 on: April 04, 2015, 03:38:17 PM »
Quote from: Thomas Richter;787404
May I ask which software you currently use that goes down to the MMU directly?

some versions of voodoo warp3d drivers? maybe shapeshifter for updating the display..
 

guest11527

  • Guest
Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #349 on: April 04, 2015, 03:45:53 PM »
Quote from: wawrzon;787405
some versions of voodoo warp3d drivers? maybe shapeshifter for updating the display..

I can't tell you about the voodoo stuff. But for the Shapeshifter, we have at least MuEVD, so there is a well-defined compatibility layer for this kind of stuff.
 

Offline psxphill

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #350 on: April 04, 2015, 04:45:49 PM »
Quote from: Thomas Richter;787404
May I ask which software you currently use that goes down to the MMU directly?

I don't have a 68060 currently, assume that when I do then I want to be able to run all software that runs on a 68060 and don't want to have to run new versions. I hoped that this would meet my needs, but it appears it won't.

I want the confidence that if I submit a bug report that it won't get closed as a won't fix because the software isn't popular enough & right now I don't have that confidence because the stated goal isn't to run all software.
« Last Edit: April 04, 2015, 05:52:31 PM by psxphill »
 

Offline kolla

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #351 on: April 04, 2015, 06:34:56 PM »
Back in the days when I did lots of animation, VMM was a must. And it's no secret that I will want to run Linux on a fast new 68k, hehe.
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
 

Offline kolla

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #352 on: April 04, 2015, 06:38:22 PM »
Psxphil: also no fun to have bug reports in software closed as "won't fix" because author "only" has a real 68k system and you as user and customer has a 68k CPU that is ridden with all kinds of incompatibilities.
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
 

Offline kolla

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #353 on: April 04, 2015, 06:44:51 PM »
Something in the back of my head says that A3000 uses the MMU for Zorro3 bus initialization, but I could be all wrong about this.
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 #354 on: April 04, 2015, 07:55:20 PM »
Quote from: kolla;787416
Something in the back of my head says that A3000 uses the MMU for Zorro3 bus initialization, but I could be all wrong about this.

No, that's just a regular Kickstart, or - in case of the RAM-based kickstart - a patched version thereof that runs from a different start address.
 

Offline psxphill

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #355 on: April 04, 2015, 09:14:04 PM »
Quote from: Thomas Richter;787419
No, that's just a regular Kickstart, or - in case of the RAM-based kickstart - a patched version thereof that runs from a different start address.

No, zorro 3 requires an mmu to work properly when Kickstart is in rom too. But you know that.
Exec uses the transparent translation registers, which are arguably part of the mmu even though they exist on parts that don't have an mmu (enabled at least). Then 68040.library/SetPatch/whatever takes over to make it fast (as long as you have an mmu).

http://amigadev.elowar.com/read/ADCD_2.1/AmigaMail_Vol2_guide/node0161.html

Quite what will happen if the mmu isn't compatible but you use the standard 68040.library is anyones guess. What happened when 68060's turned up and people only had commodores 68040.library?

The a600 is the simplest Amiga, the only expansions possible are on the other side of gayle & IIRC there is no fast ram dma. Dealing with zorro 2/3 is going to be much more complex.
« Last Edit: April 04, 2015, 09:55:25 PM by psxphill »
 

Offline kolla

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #356 on: April 05, 2015, 01:24:23 AM »
With CBM 68040.library and 68060 CPU it is crash party on bootup, from what I remember.

Oh well, this essencially says that current Phoenix... I mean apollo design plans do not fit well for A3000 and A4000 systems.
« Last Edit: April 05, 2015, 01:32:20 AM by kolla »
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 #357 on: April 05, 2015, 09:56:23 AM »
Quote from: psxphill;787423
No, zorro 3 requires an mmu to work properly when Kickstart is in rom too.
Excuse me, but: No. Zorro III is just a bus technology. It does not require an MMU. The 68040 requires an MMU, but that is taken care of by the CPU library (and there is/would be one for the Phoenix). The 68030 should also enable its MMU due to a CPU bug (and there is a CPU library for the 68030). But that is all not related to Zorro III.  
Quote from: psxphill;787423
Quite what will happen if the mmu isn't compatible but you use the standard 68040.library is anyones guess.
I cannot tell you what happens with other people's library, but if the MMU is not accessed like an 68040 CPU, then mine will detect the CPU as an 68EC040, i.e. an MMU-less processor. Or rather, it is not even the CPU library which does that, but rather the mmu.library which does. Thus, in case I add low-level support to *that* library, everything is fine.  
Quote from: psxphill;787423
 What happened when 68060's turned up and people only had commodores 68040.library?
SetPatch is quite able now to distinguish a 68040 from a 68060 and loads the right stuff.    
Quote from: psxphill;787423
The a600 is the simplest Amiga, the only expansions possible are on the other side of gayle & IIRC there is no fast ram dma. Dealing with zorro 2/3 is going to be much more complex.

Not really. There is an established subsystem to deal with it, namely expansion.library. There is no need to worry about it. And no, Zorro itself does not require an MMU.
 

Offline psxphill

Re: in case you are interested to test new fpga accelerators for a600/a500
« Reply #358 on: April 05, 2015, 01:55:23 PM »
Quote from: Thomas Richter;787432
Excuse me, but: No. Zorro III is just a bus technology. It does not require an MMU.

I suspect you'll find that in practise it will, but time will tell eh.

Zorro 3 is flakey as hell, I don't envy anyone trying to make something compatible with everything (unless that too is not a priority), especially if you're going to deviate from all the established methods.
« Last Edit: April 05, 2015, 02:25:17 PM by psxphill »
 

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 #359 on: April 05, 2015, 02:26:13 PM »
Quote from: psxphill;787436
I suspect you'll find that in practise it will, but time will tell eh.
 
 Zorro 3 is flakey as hell, I don't envy anyone trying to make something compatible with everything (unless that too is not a priority).


What exactly does the MMU do to the Zorro bus?
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