??? 11/30/10 19:59 Read: times |
#179764 - Metric to use depends on past experiences Responding to: ???'s previous message |
Richard said:
Unfortunately, as the implementation prices get closer together the choices are made on a different basis than they once were. Why unfortunately? I would say - fortunately, we get more and more choices. Richard said:
Fewer and fewer designers care whether they use 80 MB of code or 20 KB, since it's cheap enough to use an ARM that supports SDRAM and has internal cache, rather than to put in the effort to figure out how to do the job with a small 805x and internal code space. But the user who did select an ARM chip with 32 or 64kB flash instead of 8 or 16kB for a 8051 has the advantage that if a customer calls and wonders if he can create a custom edition of the device with just a couple of new features will be able to say yes. He got the extra kilobytes of RAM and flash without extra cost. But the extra space means that the unit is extendable without any redesign. I quite often get requests to add significant additions to existing products years after they were released. Then it is very good if I can switch to a pincompatible big brother (alas, that affects the production price since it adds one more article number) or if the already used processor has room to spare and clock cycles to spare. Richard said:
Quick and dirty seems to be more popular than elegant and inexpensive these days. Quick and cheap to design and manufacture, but with spare capabilities for future expansions is often what has best changes of getting a green light for project startup. Remember that the go ahead decision is actually way more important than the name of the chip manufacturer or what instruction set the chip has. For many situations too much elegance means too much cost - not less cost. Saving a week of code optimization may mean 40*$150 in salaries and $5000 in lost sales from a week later market release. If you only sell the 10k units, then a $1 cost reduction from extra work will end in a loss. Besides the fact that the extra week of work means someone wasn't productive with the next product. Bottom line is more important than fewest transistors in the box. And fewest transistors in the box isn't the same as most environmentally friendly. New 32-bit devices have extremely small geometries, so very small chips. That means a huge number of chips on one wafer. And each transistor consumes extremely little power. And once more - having a processor that does the work while being downclocked to 12MHz instead of 72MHz and with 50% of RAM and flash free can be very, very valuable 12 months down the road. It is well-established fact for software engineering that premature optimization is very bad. But optimizing on transistor count is also bad. The transistor count isn't a primary parameter for production cost, sales price, perceived value, current consumption, time-to-market, component availability, reliability, ... So while it is possible to measure the parameter, it's best to just settle for noting the transistor count with a bit of curiosity. Not a parameter to strive for. You happen to know the 8051 architecture and have a lot of code you can copy/paste into a new product. That is all very well. But your experience and code base is totally irrelevant in the general case where a company needs to bring a new product to market. So your personal preferences can't be generally used as a metric to measure the quality of the hw/sw decisions made all around the globe. If you don't know anything about a 8051 chip, it's normally very bad to start with a 8051 chip for a new design or for starting a new career. |