Well if you're using a desktop PC you'd have the main processor, a graphics processor, one in the display, one in the keyboard and like as not one in the mouse as well. There'd be one in your desk phone too. That's 6 without even getting out of your chair.
"Japanese company called Kyrocera" - this should be Kyocera (no R). They used to make nice cellphones, but you don't see much of them these days. I had one once, but the speech recognition didn't like Zimbabwean accents.....
You forgot the disk drive. I suspect that I/O Hub chips also commonly contain at least one processor, but I do not recall reading anything confirming that suspicion.
In addition, if separate processors in a SoC are counted separately, then the individual cores of a more recent CPU should be counted separately. PC GPUs also tend to have more than one core (in the sense of independent hardware for instruction fetching, not the execution units which NVIDIA calls "CUDA cores").
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!)
Here are the statistics I found from 2009 (see "Ref" link below). I couldn't find anything newer. However, from my experience, the estimates seems in-line with current vehicles (not including EVs, Hybrids, etc. - they would have more.)
- Most automakers say that today's average car uses between 35 and 45 microcontrollers.
- Luxury automakers employ 40 to 50.
- BMW's 7 Series is said to have topped out at 70.
Based on the article, it sounds like a lot of processors are special purpose (along the lines of one for each power window motor control and door lock). Some of this excess probably comes from a separation of design (intended to reduce communication requirements among design groups).
It is not clear from the article why a centralized control would require more wiring since (I assume) the electricity has a central supply anyway. With a desire for whole-system monitoring (so a single interface could probe faults in any component), a distributed system would seem to require at least as much networking as a more centralized system. It seems extremely unlikely that the designers would do something stupid, though internal politics (e.g., "if we merge these functions, Manager X have fewer workers/less status") and poor communication can breed stupid choices.
Actually, I believe it as to do with the large number of applications and ECUs in vehicles. Yes, there could be some duplication (door zone modules as you mention); however, most people do not realize how many ECUs are in vehicles.
Here's a few lists of application examples.
1) Expand each of the Subcategories at the Infineon link below.
2) Expand the "Automotive Applications" at the Freescale link below.
3) Scroll down to page 2 on the Atmel link below. And note, that doesn't include any chassis ECUs, safety ECUs, driver assistance, ABS/Braking, missing engine/trans under Powertrain category, 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.
Nice article. While multicore and coarse-grained time multiplexed processors (by implication in use of more powerful processors for multiple tasks) were mentioned, I was a little disappointed that fine grained and simultaneous multithreading were not mentioned.
I'm reminded of a Sci-Fi novel I read many years ago, titled "The day the machines stopped" by Christorpher Anvil (sp?), wherein after some catastrophy, all the machines in the wotld stopped working, and no one remembered how to do anything. If we're not careful, we could end up like that someday.
The tite, as well as the theme, reminds me of a short story I had to study in school called "The Machine Stops" by E.M. Forster. Written in 1909 it is remarkably prescient.
It can be found here:
I read recently that a kitchen cook-top had 5! You really can't assume only one per device. In the controls world its amazing how many people think one "controller" should run the entire system. Any more would add cost. A carry-over, I guess, from the mainframe days when any "computer" was crazy expensive. We're still stuck with the idea that one processor should do everything we can cram into it. So we add all sorts of interrupts and complex multitasking software to prevent adding another chip. Its all about smart partitioning.
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.
Blog That A-Ha Moment Larry Desjardin 4 comments Have you ever had an a-ha moment? Sure, you have. The Merriam-Webster dictionary defines it as "a moment of sudden realization, inspiration, insight, recognition, or ...