Tuesday, November 23, 2010

Intel releases x86-FPGA hybrid - app store to follow?

The guys over at Altera have gotta be busting out the champagne - they're officially in bed with Intel, and if history is any indication (Microsoft), that is a good place to be.  Intel is integrating an Altera FPGA with an Atom processor in the same package, and calling it the Atom 600C series.  To do this, the package's small metal box (that gets squished by the heat-sink-fan (HSF) unit) houses two chips, an Intel Atom processor and an Altera FPGA, and connects them with very small wires, presenting the appearance of a single physical chip.  Without cutting open the metal case it would be impossible to tell this apart from an FPGA and processor on the same chip die.  This is the same technique used by Intel to unexpectedly achieve quad-core processors before AMD (even though AMD's SRQ and Hypertransport fabric were demonstrated as superior for multiprocessing).

The 600C-series Atom processor is a single-core Tunnel Creek model, but it is no slouch.  It comes in at a maximum speed of 1.6ghz and supports hyperthreading, whereas the highest performing Atom processor is a 1.83ghz dual-core Pineview Atom processor, also hyperthreaded (this Atom hyperthreading provides a huge performance improvement, as we will show in a future post, with improvements on the order of 66% of a second core).

Despite marketing hype, this is not the first time a processor has been tightly integrated with an FPGA, with RISC-cores coming embedded in FPGAs since Xilinx released the Virtex-II Pro model with on-chip PowerPC cores back in 2002.  What is new is that the processor is x86, allowing execution of code that can't be recompiled (i.e. proprietary libraries) very close to the FPGA.  This closeness should not only increase bandwidth and decrease latency of processor-FPGA intercommunication, but it also definitely results in lower power.  For example, we have used an Altera Cyclone III 65nm FPGA at Cognitive Electronics using Altera's starter kit and the power consumption measured for the FPGA chip was approximately 200 milliwatts whereas the entire board's power consumption was over 3 watts.  Indeed it is hard to think of an add-on card that comes in at less than 2 watts.  So, instead of doubling the power consumption of the Atom processor (TDP 2.7 watts @ 600mhz) the FPGA will increase it by only about 10%.  Even though this improvement becomes less dramatic in the context of total system power, it is still quite significant.

Intel could have designed their own FPGA ASIC pretty easily - they are just millions of very small SRAMs connected together with programmable wiring.  The hardest part of creating a good FPGA product is designing the Electronics Design Automation (EDA) software, which takes in a hardware design written in a hardware description language (HDL) and processes it through many stages, from conversion to a gate-level netlist ("Synthesis"), to mapping the gates onto the resources of the FPGA ("Map"), to determining the location of those components on the FPGA and routing programmable wires to connect them up (Place-and-Route).  Although Intel uses EDA software to design its processor ASICs, after the synthesis stage the FPGA EDA software and ASIC EDA software are quite different.  Furthermore, Intel's internal EDA software might not actually be that good, because they are known to hand-craft most of the components of their processors (a labor-intensive "Full Custom" ASIC design process).

One of the nicest aspects of this new Intel system is its potential to serve as a standard platform.  Currently, the small amount of open cores available for FPGA don't install without recompilation etc. - so Intel's new Atom-FPGA platform may be the first where you can just download binaries of FPGA programs and run them.  Maybe this will be the start of the first FPGA App store?  I can see the commercials now: "Want to perform Fast Fourier Transforms?  There's an app for that."

No comments:

Post a Comment