The situation with micro-controllers today reminds me of electric motors 100 years ago. They started as an expensive novelty of which you would have one per factory floor, and ended up ubiquitous and cheap everywhere. Just like counting microcontrollers, you could amuse yourself by counting motors around you: wristwatch, cellphone (buzzer motor), one or two in each disk drive, door locks, windows, timers, etc. etc.
It makes sense: wiring is expensive to make and install, and fault-prone: for instance, a squirrel chewed through half of the wires in my main engine harness.
It's cheaper and more reliable to run a serial connection everywhere (power, ground, data), implying a communication and execution nodes all over the place, including doors, windows and mirrors.
I read that some companies began using microcontrollers instead of timed fuses in individual firecrackers now.
GPUs do not really have that many cores. The "core" count is inflated by counting each SIMD/vector lane as a separate core. NVIDIA's terminology uses "Streaming Multiprocessor" for what I would call a core, and the Fermi GPUs provided 32 "CUDA cores" per "Streaming Multiprocessor" (with up to 16 SMs on a chip).
GPUs also use multithreading, which might be viewed as virtual cores, further increasing the number of contexts available. (Intel's SMT/hyperthreading does present threads as virtual processors. MIPS' MT ASE distinguishes between Thread Contexts and Virtual Processor Elements.)
(You might guess that I like reading about computer architecture!)
As we unveil EE Times’ 2015 Silicon 60 list, journalist & Silicon 60 researcher Peter Clarke hosts a conversation on startups in the electronics industry. Panelists Dan Armbrust (investment firm Silicon Catalyst), Andrew Kau (venture capital firm Walden International), and Stan Boland (successful serial entrepreneur, former CEO of Neul, Icera) join in the live debate.