2 ms·
CXL doesn't really change anything except for the fact memory is coherent across the bus so you don't have to do your own protocol. "Core complex" is massively
by aseipp 3y ago
CXL doesn't really change anything except for the fact memory is coherent across the bus so you don't have to do your own protocol. "Core complex" is massively oversimplifying it but, generally speaking your accelerator probably needs Serdes and peripherals if it wants to be something more than just a glorified data multiplexor. General purpose PCs barely need this. "Video decoding" is the most common example of where FPGAs would be "awesome" but I'm going to spoil it: it's more efficient to just use an older codec like VP9 or H264, versus introducing a huge piece of silicon that is dead 99% of the time for a new codec, especially when the older codec doesn't suffer from a 100x area/power loss. That area could go to parts of the CPU that are generally useful, again like branch prediction or cache. You could use those many mm^2 of silicon to do other actually useful, general-purpose things, and most importantly, those things can be programmed by software without an absurdly high development and verification cost. Even if it was advantageous, you can just install a PCIe card to do it on the basis that actually skilled programmers will implement the gateware for you. It's not even a good example; new important video codecs come out on the order of once every 7-10 years, which is not worth optimizing entire system designs for.
If you end up doing something like this, it's generally only because your workloads are extremely atypical, e.g. Google's Video Processing Units or whatever might be good as FPGAs but only because they're such outliers. Actually they're just using ASICs because that's more economical. But my point is there isn't actually enough of this to go around in a way that trickles down to the consumer.
It's similar to the question "Why doesn't my x86 CPU have 1,000 cores like a GPU" or "Why isn't all of my memory SRAM." Because it just isn't actually useful or what anyone actually wants and the costs are vastly disproportionate to the actual utility.