32位單片機的32位是指單片機的“字長”,也就是一次運算中參與運算的數據長度,這個位是指二進制位。
如果總線寬度與CPU一次處理的數據寬度相同,則這個寬度就是所說的單片機位數。
如果總線寬度與CPU一次處理的數據寬度不同,總線寬度小於CPU一次處理的數據寬度,則以CPU的數據寬度定義單片機的位數,但稱為准多少位。比如某CPU是16位但總線是8位,所以它是准16位。
單片機位數與單片機的性能密切相關,通常32位機的性能要高於16位機,而16位機的性能又要高於8位機。為什么會這樣呢?
第一,位數不同,運算效率不同。對於8位機而言,當某個運算的結果或者中間值大於255時,如100+200=300這樣的運算,它不能一次完成。因此,要對這樣的一個式子進行運算,就要編寫一段程序,將運算分步完成,最后合成起來得到一個正確的結果。而如果采用16位單片機來運算的話,那么一次運算就夠了,顯然分步完成所需要的時間要遠遠大於單步完成所需要的時間。
第二,商業因素。通常運算能力越高,表示這個單片機性能越強,當然,價格高一些人們也可以接受,有了價格空間,生產商通常都會在這些芯片中提供更多的其他的功能,使得芯片的整體性能得到更大的提升。
也有數據總線的位數是CPU位數的一半的情況,就稱其是准多少位的計算機。比如CPU是16位,數據總線也是16位,則是16位計算機;CPU是16位,數據總線也是8位,則是准16位計算機。
8位單片機: 80C51系列,PIC系列,AVR系列
16位單片機:80C196、MSP430系列
32位單片機:ARM系列