3 ms·
I have a naive question based in my dreams: Is possible to design a CPU that ON-DEMAND switch between parallel and linear operation? So, if we have a 1000 core
by mamcx 10y ago
I have a naive question based in my dreams:
Is possible to design a CPU that ON-DEMAND switch between parallel and linear operation? So, if we have a 1000 cores, it switch to 10 with the linear power of 10 x 10?
In my dreams this was very usefull, but wonder how feasible clould be ;)
- pcwalton 10y agoSure: it's called a superscalar CPU.
- pjc50 10y agoNo. Basically the limiting factor in most designs isn't so much arithmetic as fetches and branches. Especially cache misses. Theses are inherently linear operations - if you need to fetch from memory and then jump based on the result, for example. Superscalar 'cheats' somewhat by spending area to keep the pipeline fed, through branch prediction and suchlike. The nearest thing is the graphics card, which has a very large number of arithmetic units but less flow control, so you can run the same subroutine on lots of different data in parallel. Highly multicore chips make a different tradeoff: external memory bandwidth is very limited. Ideal for video codecs etc where you can take a small chunk and chew heavily. Very bad for running random unadapted C code, Java etc.
- wmf 10y agoThere has been a bunch of academic research about this topic under names like core fusion and dynamic multicore. A recent sample: https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/2013-hpca-t3.pdf https://www.microsoft.com/en-us/research/wp-content/uploads/...
- flamedoge 10y agoyes. It's called FPGA.
- daurnimator 10y agoThis is sort of what Hyperthreading is. Though you'll notice the ratios are not as good as what you want.