In what basis a micro controller or a microprocessor is classified as 8bit and 16bit?

  • \$\begingroup\$ An 8 bit uC/uP which can handle 8 bit instruction \$\endgroup\$ – Honeybee Mar 24 '16 at 6:16
  • 1
    \$\begingroup\$ To some extent it has to do with marketing of the product. They mostly focus on the size of the general purpose registers to determine 8/16/32/64. It is not the size of an arbitrary thing like what they define a "word" to be, that would make all x86 processors 8 bit processors. Nor is it the size of the instruction that would make all x86 processors 8 bit. But at the end of the day it is marketing, there is no governing body that defines and enforces some rule. They may want to classify as bigger to compete in that market or classify as lower to outperform in that market. \$\endgroup\$ – old_timer Mar 24 '16 at 11:08
  • \$\begingroup\$ too late to edit, sorry a word in x86 is 16 bits so that would make them 16 bit if it was the arbitrary definition of the term "word". \$\endgroup\$ – old_timer Mar 24 '16 at 12:52

On the basis of the word length. Most instructions will operate on word-sized chunks of data, the data bus is almost always one word wide and most registers have the width of one word.

8-bit microcontrollers have byte-sized (8-bit) words, so while e.g. computing the sum of two bytes is fast and easy with just a single instruction, summing two 16-bit values requires more thought from the programmer and will require multiple instructions.

16-bit microcontrollers have 16 bit words, so they effectively operate on two bytes at the same time. For example, summing 16-bit values will take just a single instruction on a 16-bit processor, yet you can still sum 8-bit values as usual if you want to.

32 bit and 64 bit words are also common in especially higher end processors, and some digital signal processors even have more unconventional word sizes.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.