Intel Launches Atom CPU With Integrated FPGA
hardware.slashdot.org
hardware.slashdot.org
Several years ago I was looking for a chip we could use in a set-top box design. We wanted low-power high-performance H.264 decoding. We talked to a very interesting company — Stretch Inc. (http://stretchinc.com/), they've been developing something similar for many years now. They basically have a CPU with a tightly-integrated FPGA within.
Problem is, the devil is in the details. While FPGAs can theoretically provide impressive acceleration, what ends up mattering is whether you can get them data to process fast enough, what the latencies are, what the interfaces are, and how much easily-accessible memory you have on the FPGA die. That's for the easier algorithms which are mostly CPU-bound.
For memory-bound algorithms what really matters is the DMA engine. That is something Intel never got right, which is why you see Texas Instruments DSPs in most embedded applications. If you want to have predictable high-throughput data processing, you need to be in control of your caches. That means a multichannel DMA engine that lets you schedule reads ahead of time and precisely control what is in your L1/L2 at any given time. The ubiquitous n-way set associative caches are great for general-purpose code, but end up being wildly unpredictable for DSP-type stuff.
Another factor with FPGAs is how quickly they can be reconfigured — how quickly can you switch the code inside? Can you use the FPGA for several parts of your data pipeline, or does the reconfiguration take so long that it becomes impractical to switch?
So, I will be very interested in what the details are — but for the moment color me skeptical. It took Stretch many years to get to a well-designed architecture and even that wasn't right for all purposes. And Intel isn't known for experience with DSPs, which really matters here.
Note I didn't even mention compiler support, OS support and how the FPGA is actually to be programmed. I consider those to be secondary to actual hardware performance.
That said, why not link to http://www.thinq.co.uk/2010/11/22/intel-launches-fpga-equipp... instead of slashdot?
I'm interested to see where these chips go.
Because the core designs used are generally protected as intellectual property, all of the problems commerce currently has in relation to IP protection, are duplicated in this area of hardware design.
It seems that in the new coming digital age, ideas really are the main currency - and at the moment I can't really understand how things are going to pan out economically. Our traditional economic models (with scarcity driving price upwards) don't seem to sit well with IP (where abundance is unlimited).
I can only imagine that these IP problems will become more complex as time goes by - even more new IP markets are going to be formed in the near future, as rapid-prototyping and 3D printing become more commonplace.
Well, we'll have either that, or rampant piracy...
Seriously, though, if you're an American or citizen of a Western country, you should be careful what you wish for. The fact that the Western world still owns pretty much all IP is a huge economic advantage, as long as everyone honors it. And the so-called "knowledge economy" only works if knowledge can actually be said.
I think its exciting that Intel has started to pay attention to FPGAs, and hopefully with mass production, this FPGA+CPU chip will be priced cheaply---that may yet be the biggest contribution here.
Edit: Just got the product brief. Some more info on the FPGA:
> Features transceiver speeds up to 3.125 Gbps, high-speed LVDS with SERDES at up to 840 Mbps, support for DDR3, DDR2, DDR SDRAM, QDR II, and QDR II+ SRAM memory interfacing, up to four general-purpose PLLs, 312 18 x 18 multipliers and more than 60,000 logic elements and 350 user I/O pins. Each of the high-speed transceiver channels have a clock data recovery (CDR) feature, and support for multiple I/O standards such as 3.3-V LVTTL/3.3-V LVCMOS, single-ended SSTL/HSTL and differential SSTL/HSTL.
Interestingly, Altera has basically end-of-lifed that approach in favor of their NIOS II soft CPU. Atom is definitely a bit higher end than NIOS.
http://www.fpga4fun.com/ is a nice site with stuff that novices can have a go at creating.
There's also a sister site (http://www.knjn.com/) where you get hold of inexpensive FPGAs for tinkering with.
There is a savings in board space, but, otherwise, this solution provides no additional value. You can already connect an Atom processor and FPGA through PCI Express.
I am not yet aware of FPGA-like chip architecture that can be reconfigured dynamically.