Low-cost Reconfigurable Computing (FPGA's)
Anonymous Coward writes: "People at the at Chinese University of Hong Kong have developed a reconfigurable computing card which uses the SDRAM memory slot instead of the PCI bus. Measurements in the paper show greatly improved bandwidth and latency - why aren't more people using this idea?"
well can you?
StarBridge Systems uses these to make their supercomputers that run in Standard ATX case... And I think they charge around $15 million for the low end models. These info came from a slashdot story but I can remember when and I don't have time to verify. I just remember CmdrTaco being very sceptical.
I have also wondered why more people aren't using the memory bus for peripherals. For instance, the VGA adaptor would greatly benefit from that interface (3d work, video games), also, using that bus as a network connection in a renderfarm would probably be nice too. Seriously, the PCI buss can only offer so much (132 MB/S) which is certainly going to be a problem with anything faster than gigabit ethernet... Meanwhile, modern memory busses are upwards of 4.8Gb/s. Imagine multiple machines strung together with that kind of bandwidth between them!
Another question I've had bouncing around in the back of my head is why no one uses MPEG decoder circuitry for MP3 playback? All the players I've tried, windows or linux, take 10-30% of the CPU for noraml playback operation. This is unacceptable when working in big apps like 3DStudio Max, make-ing a big app or running big scripts. I have an old MPEG decoder card from a Creative DVD, also I believe my G-Force has MPEG decoder acceleration... How much trouble would it be to write a driver for Winamp that uses preferred devices like that?
:)Fudboy
I guess I'm only a Fudboy, looking for that real Transmeta
re-configurable computing is very useful in embedded systems with somewhat limited resources and real-estate. Satellite computers, for example.
It is very useful to have a chip to data gathering for a while, then reconfigure to do a DFT on the data, then reconfigure to spit this back to earth through telemetry.
Would there be any speed advantage to useing a reconfigurable chip vs. a programmable DSP for a very processor intensive task, like MPEG encoding or real-time full-screen graphics rendering? (think Fractal Flames as a music visualization plug-in) Assume that all your algorithm code can fit in on-chip cache or high-speed L2 so you don't clog up the memory bus)
There are several FPGA cpu's available already. For loadsadetails, go to http://www.fpgacpu.org/ and see just how easy it is to create a CPU. I've even managed to (starting with Jan's work) build my own without any prior knowledge of verilog.
The main drawback is always going to be speed though - it's simply far and away more complex to have reconfigurable hardware than static h/w. The current "hot" CPU of any generation will almost certainly never be reconfigurable!
Simon.
Physicists get Hadrons!
FPGAs are great in prototyping when you want to produce a relatively small number of devices in a relatively short time. Problem is, a conventional microprocessor is always going to beat an FPGA at a comparable VLSI design level in terms of flexibility, and an ASIC will draw less power and perform a specific task more quickly. Limiting factor for an ASIC is cost (minimum production runs often in thousands) and design-production latency.
If you want to emulate an Athlon, use an Athlon. :-)
Stuff like high-volume encryption (e.g. Rijndael) is well suited to FPGAs because you've got a shedload of data coming in for a relatively simple series of calculations. Note that the AES contestants were evaluated partly on their ease of implementation in FPGA-like devices.
This SDRAM link might be a useful thing to increase bandwidth between a conventional microproc/bus/memory system and multiple FPGAs, bumping up performance by a factor of 2-3 maybe (on bandwidth-limited computations), but it won't change the world. IMHO, obviously.
Check out my review of the FPL 2000 and FPGA 2001 conferences for summaries of the current research in FPGAs.
Adrian
Adi: Inveterate mathmo, Christian, BOFHlet hubbie and Perl lover.
Basically what they needed to do was an extension of ray-tracing. This device would have gone a long way in making it faster.
Picture all the algorithms required to ray-trace one pixel. Now picture all those algorithms made into one small portion of an FPGA. Now picture many many such portions occupying a single FPGA.
Suddenly you have a device that encompasses your entire process, and can execute that process much faster than a normal CPU can. To give you an idea of the scale involved, picture a thousand CPU instructions compressed into one clock cycle.
Kinda cool, huh?
What's this Submit thingy do?
If you're trying to explore new coprocessor architectures, it's an interesting thing to try - certainly better than hanging coprocessors out on a PCI bus somewhere. Of course, these days, CPUs are fast enough that it's difficult to find applications that really need enough more horsepower than general-purpose processors can provide, but there are still enough edgy things to try that it could be worthwhile.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Memory has become ridiculously large and cheap. 512MB boards are under $50. I'm sure there are people who need more than 1GB on a non-production machine (obviously production machines like database servers need all they can fit), but for most applications, by the time you need to fill the third memory slot on your box, you could just as well buy a new card that's 4X larger than the old one you're rolling out.
If you've only got two slots, you may have problems, but usually the main time you need the third slot is if you're upgrading a machine and want to keep the old memory as well. And sometimes you've got a board that doesn't have enough address lines or has a BIOS that doesn't understand them (my home machine *says* it can use 3x256MB memory, but it looks like I'll have to flash a new BIOS to do it, and so far 192MB has been plenty.) :-)
If you don't have something else special to do, like FPGA, you might as well keep the old RAM - doesn't hurt, and more memory is always usable as long as it doesn't force you to a lower speed. I recently added 512MB to a 128MB maachine at work, giving 640MB. Bill Gates says that ought to be enough for anybody
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Well, while I was doing my final year project at Department Of Computing, Imperial College London we have the actual card made by Chinese University of HK. Bascially it is just a matter of having a SDRAM contoller "programmed" onto the FPGA, and wired correctly(it uses Xilinx Virtex series of FPGA, and Xilinx has implemented a SDRAM controller on it - see their tech notes - their sites is down when I write this). Having done my project with FPGAs, I would say the problem with this thing is that it is very fiddly to program the thing - it requires the understanding of software as well as hardware. I also agreed with some comments above that it lacks interrupts on SDRAM bus - therefore it is even more difficult to program the card.
Anyway, PCI FPGA cards has always been available, and they are hugely expansive. But they are getting down in price. One of the problem of FPGA is that the speed of the chips are slow (depends on the complexity of the circuit, you can only clock it to around 1Ghz for very simple cores, lot slower for complex circuit) so consider the speed of microprocessor it is not worthwhile to use them in normal computer systems - but a new niche is open up in embedded market.
Notice the name of the university is right! Chinese name of the university suggested that the "Chinese" in the university name is actually means Chinese language, not China the country.