??? 02/24/11 19:28 Read: times |
#181310 - I think you missed the point Responding to: ???'s previous message |
I did not claim 16-bit chips are meaningless.
Just that they are squeezed between 8-bit and 32-bit processors and don't have any specific advantage that makes them stand out. Anything a 16-bit chip can do well can be done similarly well with either an 8-bit or a 32-bit chip. Just as you can find 16-bit chips with nice DSP features, you can find 32-bit chips with nice DSP features. And the 32-bit chip have standard register sizes allowing it to pick up the 24-bit or 32-bit values you often want a DSP to work with. The MSP430 is very successful. To a large part because it is very energy efficient which isn't caused by it being 16-bit. And while many of the 16-bit PIC chips are seen as upgrades from smaller PIC chips, Microchip also keeps lots of customers because they have very low-power chips, like the nanoWatt series. But same thing there - ultra low power isn't unique to a specific ALU width. Another thing to consider is that many 32-bit ARM chips can run as either 32-bit chips or pseudo-16 bit chips. With their thumb or thumb-2 instruction set, they get similar code densities as a 16-bit chip, but with the advantage that they still have full 32-bit registers allowing them to reach 4GB of address space and perform 32-bit and 64-bit operations with less number of instructions than a 16-bit or 8-bit chip needs. If they can take advantage of the larger address range or wider registers depends on the specific program - but the chip isn't hurt by having this feature. Originally, 16-bit and 32-bit processors got very much limited by their larger instructions requiring more memory bandwidth to fetch instructions. With internal flash memories with 128-bit or wider interfaces, it no longer costs I/O pins to get very high bandwidth memory transfers. Jan said:
As I said in the "dubious benchmark" thread, there's little comparative advantage or disadvantage of any particular databus-width in the typical embedded world; certainly much less than their promoters like to advertise. One huge advantage with a large databus width is that you also get a large address width. The obvious advantage is that you don't need to bank-switch your programs. 8051 development when 64kB isn't enough is a royal pain. But large address space also means that you can waste address space to fake functionalities you don't have room for in the core or in the instruction set map. Such as the bit banding feature where large memory regions of memory gets a 32 times larger aliased memory range where each bit in the first memory range gets aliased into a full 32-bit word in the second range. Such a simple concept suddenly means that the same instruction set can both optimize every bit for supplying offsets or immediate data to many instructions in the actual instruction. And at the same time these offset bits can also be used for bit indexing. So an ARM core that doesn't have dedicated address instructions can suddenly performed indexed bit addressing - something the 8051 bit mangling champ can't do. In the end, it's quite obvious why not too many companies likes to jump into the 16-bit arena and hear lots of potential customers say "too large" while lots of other customers will say "too small". And an upstart introducing 16-bit chips would get to hear a lot of "too alone" or "to new". |