8、16、32位單片機概念與尋址空間
玩了接近三年的單片機,8位、16位、32位的都玩過,突然間一個問題就讓我發(fā)現(xiàn)我就是一個渣!!!
8位、16位、32位都代表什么意思呢?我就根據(jù)搜集的知識,簡單的對自己科普一下:
1)、 從CPU的發(fā)展史來看,從以前的8位到現(xiàn)在的64位,8位也就是CPU在一個時鐘周期內(nèi)可并行處理8位二進字符0或是1,那么16就以此類推是64位就64位二進制。
2)、8位、16位、32位單片機的區(qū)別還有就是寄存器位數(shù)的區(qū)別,8位的單片機其寄存器也是8位,以此類推32位的MCU也就是有32位的寄存器(當(dāng)然他也可以有16或者是8位的寄存器)。
還有在學(xué)習(xí)ARM里遇到的一個問題:尋址空間的問題。
尋址空間一般指的是CPU對于內(nèi)存尋址的能力。Intel公司早期的CPU產(chǎn)品的地址總線和地址寄存器的寬度為20位,即CPU的尋址能力為2^20=1024*1024字節(jié)=1024K字節(jié)
=1M字節(jié);286的地址總線和地址寄存器的寬度為24位,CPU的尋址能力為2^24=1024*4*1024*4B=4*1024*4KB=16M;386及386以上的地址總線和地址寄存器的寬度為32位,
CPU的尋址能力為2^32=4096M字節(jié)=4G字節(jié)。 也就是說,如果機器的CPU過早,即使有很大的內(nèi)存也不能得到利用,而對于現(xiàn)在的PⅡ級的CPU,其尋址能力已遠遠超過目前的
內(nèi)存容量。
在這里有一個很重要的概念:CPU的尋址能力以字節(jié)為單位 。以32位的單片機為例(最近在上手K60),對地址0x4000 0001進行賦值也就是對一個字節(jié)進行操作,32位的寄
存器就需要占用4個地址(8*4=32),那它占有的地址就為0x4000 0000----0x4000 0003。32位就代表了2^32的尋址空間也就是4G。
一些簡單的問題寫出來,有什么不對之處,煩請各位過路的朋友指正!
編輯:admin 最后修改時間:2018-05-18