While from a theoretical perspective, I tend to favor the adoption of
32-bit Architectures for their greater flexibility, I also dislike the wasting of resources that universal adoption would imply.Hoping for some comment from informed people (myself not having any direct involvement in embedded systems), I present the following bullet points. (Note that I did not include the include the code size advantage that is sometimes claimed for 32-bit Architectures [Apparently, the older smaller Architectures do have a larger average code size for many uses, but I am not comfortable including such since it seems to be an artifact of such Architectures. On the other hand, I _did_ include Architectural legacy factors in favor of 8-bitters {legacy software, ISA familiarity, vendor relationships, and even lack of patent barriers}, so this might be a bit unfair.]. )
32-bit advantages: *Greater flexibility of use **Potential for future addition of functionality **Reduced pressure to optimize for resource utilization (lower development cost and potential for simpler [more reliable and more provable] design) **Potential for using the same part for multiple products (volume discounts, inventory control benefits [demand variability averaged over more products, parts usable for new products already in stock, less complex inventory--fewer disastrous errors]) **Potential for broader familiarity with ISA and systems within the company and throughout the industry **Potential for higher volume/lower cost from larger market *Larger processor **Encourages use of newer process and greater integration to reduce the fractional cost of the processor ***Potentially lower power consumption ***Smaller end-product form factor and potentially less expensive packaging/shielding ***Potentially greater reliability **Easier programming ***ISA support of more hardware-expensive operations ***Larger, orthogonal register set ***Greater performance (and possibly larger memory) can reduce required optimization effort *Simpler programming **Large flat address space **Reduced need for software extended precision arithmetic (possibly also reduced need for overflow guards with intermediate results)8-bit advantages:
*History **Support of legacy device software **Existing familiarity with ISA and systems **Established vendor relationships **Better vendor understanding of market requirements (ISA and systems tweaked for target markets) **Expiration of patents (as well as simpler processor) reduces barriers to entry, increasing potential for competition *Processor size **Smaller processor encourages less extensive integeration ***Use of older process technology reduces device cost ***Easier to justify cost of custom additions ***Potentially less expensive field replaceable units ***Potentially greater isolation of failures **Potential for lower power consumption by work minimization and lower transistor count (leakage) **Potential for greater reliability (less to go wrong) *Lesser flexibility of use **Greater restraint against feature-creap **Greater incentive to optimize resource utilization (mainly beneficial for higher volume products) **Potentially greater reliability by less emphasis on microarchitectural and device techniques to increase performance, reduce area, and/or reduce power consumptionSince I am not directly involved with embedded systems, the above is doubtless missing some significant points. Let the sharing of information begin!
Paul A. Clayton just a technophile