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.
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.
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.
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.
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.
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").
A Book For All Reasons Bernard Cole1 Comment Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...