Welcome, Guest. Please login or register.

Author Topic: Using a PC as an accelerator? Had an idea last night....  (Read 10660 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Using a PC as an accelerator? Had an idea last night....
« on: July 30, 2008, 03:21:24 PM »
OK, I am not around here much, and just recently started putting together an amiga.  But as I was browsing ebay and amibay looking for an accelerator, I had a thought.  Someone with more knowledge than me may be able to shoot this full of holes, but maybe im on to something:

Ok, we all know UAE works great, is very fast, faster than the fastest accelerator by quite a bit.  And speed upgrades are regularly released. However its not completely compatible and not "real" hardware, often in the sound/ custom chips area.  They never made any faster 68060's than 100mhz, and these were never used on amiga accelerators.  I have read threads about trying to use "Coldfire" chips, etc. but these all have varying issues.



With modern busses and interfaces in a pc so fast, and atleast the 68k processor emulation probably nearly perfected, why could we not use a PC as an accelerator?  Follow me through here:  Software program basically emulates the 68k40/60, whichever model + Co-Processor.  Build an interface (Should be easy enough) to fit the CPU slot on the amiga, a short cable (Don't know the technicalities of sending CPU data on a cable?) and connect it to the pc via?  I would guess PCI Express would have plenty of bandwidth.  So have a small card in the pc which should be cheap enough, all it really needs to do is convert modern signals to 68k amiga compatible signals, then put these out to the cpu slot of the amiga.  

As far as the amiga is concerned it would just be talking to an accelerator board, even though its a seperate pc.

Advantages? Well, you could allocate as much memory to the accelerator as you want, and adjust as needed.  You can tweak the code etc quickly and easily, no need for revamping hardware / etc.  You could change processor types / speeds with a simple reboot of the amiga.  Obviously it would be price competitive with current accelerator cards, as you can buy a brand new high speed pc for 300$ many times.  And most of us have them anyways. So price is a big advantage, if you could produce the hardware interface for 100$ish bundled with the software to make it all work.

Negatives?  Well, you would have to have the pc on anytime you used your amiga ACCELERATED (Don't see any reason you could not have a switch of sorts to simply boot your amiga stand alone stock), so power would be greatly increased (Of course in this day and age pcs are faster and great on power consumption, and alot of us, myself include run a pc 24/7 so it would not make much difference).  Size?  I imagine though with some of the smaller form factor pc's you could make something a little bigger than a mac mini and just dedicate it beside the amiga as a sort of "External" accelerator.  Or plug it into your regular pc and just use it as needed?  

So anyone with some real knowledge want to tell me why it won't work?  It seems feasible, but I am not a real good hardware guy.  Perhaps timing issues would be insurmountable?  Anyone?
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #1 on: July 30, 2008, 03:28:36 PM »
Well, it is easier, but this is kinda something different all together.  I am thinking the ultimate application of this would be a 2.5ghz Mac Mini sized box, running this accelerator software on linux / etc, simply sitting beside your amiga.  Turn on the accelerator box, allow it to boot, then turn on the amiga and enjoy a 500mhz ish amiga, which would be unacheivable basically any other way.  Obviously winuae is the easiest way to have a "Fast" amiga, but to many its not real, and the special chips again are not emulated perfectly.  I guess its a different approach.  This way you get that "real amiga" feel with the sound, graphics, etc, because its all being done with the real amiga chipset.  Basically the same as having a 68060 equipped amiga, faster but real.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #2 on: July 30, 2008, 03:31:09 PM »
Wow!  Who sells these and how come noone ever discusses them here?
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #3 on: July 30, 2008, 03:59:48 PM »
Perhaps, but even if it was "As expensive" as any other accelerator, it would be the only one you could buy a faster processor for at new egg.  I mean, it seems to have some obvious advantages in those areas.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #4 on: July 30, 2008, 04:42:58 PM »
Well, I guess the idea would be its a pc + interface card, so you could build the PC anyway you see fit as long as you can put the interface card in it.  Gives alot of flexibility.  
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #5 on: July 30, 2008, 05:44:06 PM »
Thats basically the idea.  Anytime you want to use your amiga accelerated, plug it in the pc, fire up the emu software, then boot the amiga and enjoy.  Should be no aga demo etc problems because you will be using the real deal.  Atleast no more than with any other accelerator.  

I think the software part should be simple, there are a vast number of open source 68k emulators.  Put together a hardware interface would be the hardest part.  What bus, is firewire actually fast enough etc.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #6 on: July 30, 2008, 05:51:21 PM »
Lots of possibilities, but I figured the simplest and one of the most needed was simply a faster processor.  I see no reason you could not also expand it to do rtg, usb, and some other things in the future, just like many accelerator cards did. But for now, simplest would be plugging it in, and just having it do the "Brain work".  

Having it do more down the line is a definite possibility, and probably one of the better things about the idea.  Once the interface is designed, you can do about anything you want on the pc side with the data.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #7 on: July 30, 2008, 05:53:12 PM »
So on this though, does anyone have some information on the cpu slots of different amigas?  Some information on how an accelerator actually works on an amiga?  Etc? I would like to do some reading on it.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #8 on: August 21, 2008, 05:05:02 PM »
Perhaps I was not clear enough:

The info will not be processed using the "X86" processor but an EMULATED 680xx processor.  For example:

Run emulator software on PC - It waits for a "Boot" signal from the amiga hardware, basically connected "In Place" of the 680xx cpu.  When it sees this boot signal, same as the 68000 cpu it replaced, it will do exactly what the 68000 would.  

I mean basically, you would have a connector shaped like the cpu your replacing.  You would plug said connector in in place of the cpu.  The emulator software would then provide the correct signals through a cable to this "Cpu" emulator, in essence allowing the pc to become the processor.  Endian issues should NOT be a problem because the emulation knows what to expect, and will deal with it the same way that a 68000 would, ie basically the core of WINUAE etc.  I mean, a 68000 basically is using +5v and 0 for signals.  You would design a pc card or usb interface (If fast enough) that would do 2 things= read the +5v pins on the cpu connector that the amiga would put out, and in return set +5v or 0 on the pins that the amiga expects from the cpu.  Thats the only connection a 68000 has to the amiga, a series of +5v and 0v, can be duplicated through this interface.

The card then digitizes? the +5v and 0 to provide data to the emulator, which then performs whatever op + memory operation the instruction says to do.  Note, this is "Emulated" memory as well as op codes, so endian conversions should not have to occur, its all done with native signals from the amiga and then back out to the amiga.  

Granted My hardware level understanding is not amazingly great, but basic, but here is how I see it:

Power on, PC sees +5v on a certain line, telling the amiga has been powered on.  At this point, and I don't know the technicalities of it, it likely starts reading from the Amiga Rom chip for hardware level boot info.  The pc just acts like the 68000.  

Am I clear enough? Or am I explaining this wrong.
Quote

Karlos wrote:
Quote

amigaksi wrote:
>Such a design would be totally blighted by endian conversion issues. You'd probably need to use the big-endian memory access tricks they did for amithlon.

But he is suggesting some interface hardware in between to do the CPU signal translation in real-time.



How does this external converter know what size element is being accessed in order to do that?

The CPU core will perform byte/word/long/quad reads and writes on its own caches but the CPU as a whole will perform cache line transfers to/from the main memory. I can't see how any interface in between can have any way of knowing what the data being transferred is in order to to do any swapping. All it will see are long bursts of fixed width accesses.
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #9 on: August 21, 2008, 11:58:18 PM »
Thats exactly what I am thinking - Should not be hard from the hardware level - Some buffer circuitry, a little signal translation, basically reading the states of lines on the cpu slot, and providing the signals back as needed.  100$?  Should be doable, I have a cpu slot pinout chart, but no idea what most of the signals mean.  I also have not had any luck finding a low level boot up sequence for the 68000 in an amiga, and how an accelerator is initialized during this sequence.  

That all said, there are many good open source 68000 emulators, and basically modifying one of those for this project would work quite nicely.  

Basically :

Fetch Data on CPU slot -
Determine what to do with said data -
Perform Said operation -
Put Data on CPU slot -
Rinse and Repeat

I would like to really learn something more about the low level amiga hardware, bootstrapping, etc, any recommended sites?
 

Offline BillHarrisonTopic starter

  • Newbie
  • *
  • Join Date: Aug 2003
  • Posts: 42
    • Show all replies
Re: Using a PC as an accelerator? Had an idea last night....
« Reply #10 on: August 22, 2008, 01:58:21 PM »
I mean, that could be said of this entire forum Bloodline.  Why mess with a slower / fragile / expensive hardware period?  Why not just ALL run winuae and forget the hardware completely?  

Nostalgia, the technical challenge, the feel of real amiga hardware, etc.  Why not stay at home and watch tv instead of climbing a mountain?  Its certainly easier!