Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What are the differences between 8, 16 and 32 bit microcontroller programming? [closed]

Tags:

embedded

I believe that the greatest difference is in speed and optimizations of math functions, and of course, the size of internal buses, but can you post more differences between these platforms?

like image 237
RHaguiuda Avatar asked Jul 19 '10 18:07

RHaguiuda


People also ask

What is the difference between an 8-bit microcontroller and a 32-bit microcontroller?

Compared to an 8-bit microcontroller, the 32-bit microcontroller takes fewer instruction cycles to execute a function due to its wider data bus. With its superior performance, a 32-bit microcontroller is often built with more peripherals and memory.

What is the difference between 16-bit and 32-bit microprocessor?

16-bit stack processors in general have lower costs than 32-bit processors. Their internal data paths are narrower, so they use fewer transistors and cost less to manufacture. They only need 16-bit paths to external memory, so they have half as many memory bus data pins as 32-bit processors.

What is the meaning of 8 16 32-bit microcontroller?

The term 8/16/32 bit may be used to refer to devices with various combinations of data bus, address bus, register and instruction set widths; so by itself it is a poor taxonomy. You have to compare specific devices and their associated compilers to draw any concrete conclusions.

What determines that microcontroller is an 8 16 or 32-bit?

The word size(8-bits, 16-bits or 32-bits) of a microprocessor is the size of the data path in the execution unit. Typically, this is the size of the accumulator. This is the execution unit size. An example where this matters is the 8088, which is a 16 bit computer running on an 8 bit bus.


2 Answers

This is a complicated question. Different families of micros vary in their capabilities. The number of bits just refers to the width of the data pipe, which limits the precision of math, although many micros will either emulate higher order math or have special HW that can perform higher precision math functions.

The historic difference has been price: 8-bit was cheapest, 32-bit was expensive. This is still true in generally, but the price of 16-bit parts have come down significantly.

Most 8-bit processors are old and run on old architectures, so they tend to be slower. They are also made more cheaply, since that is where the competition is at the 8-bit point, and this makes them tend towards slowness. They also tend to have a low limit on supported RAM/other storage, but the actual amount depends on the family.

16-bit processors tend to focus on price as well, but there is a large range of parts available, some of which have fairly high performance and large amounts of on-chip peripherals. These parts usually perform faster than 8-bit parts on math where the precision is greater than 8 bits, and tend to have more addressable memory.

32-bit chips compete primarily on performance for an application. There is a considerable range of 32-bit parts available, each targeted at some specific application. They tend to come loaded with peripherals and compete on feature completeness. They have a large amount of addressable memory and the performance tends to be better than 16-bit parts.

like image 81
Adam Shiemke Avatar answered Nov 02 '22 23:11

Adam Shiemke


The term 8/16/32 bit may be used to refer to devices with various combinations of data bus, address bus, register and instruction set widths; so by itself it is a poor taxonomy. You have to compare specific devices and their associated compilers to draw any concrete conclusions.

From a software point of view, data sizes and address range are the most obvious variations. For example in C the sizeof an int may vary and is typically 16 bit on 8 and 16 bit compilers.

Fundamentally, an 8 bit device will require a greater number of bus accesses and more instructions to perform 16 or 32bit arithmetic operations so may be slower by more than its basic clock speed for that reason.

While not related to architecture width, 16 and 8 bit devices are unlikely to incorporate an FPU or MMU, or even cache memory whereas these are more common in 32bit devices.

like image 38
Clifford Avatar answered Nov 03 '22 01:11

Clifford