單片機(jī)的8位或32位說的是什么呢?
要搞懂這個問題,首先要搞明白8位或32位說的是單片機(jī)的哪一個部件。
這是單片機(jī)的內(nèi)部框圖,你看單片機(jī)內(nèi)部有這么多部件構(gòu)成,并不單單是一個CPU,它內(nèi)部還集成了很多其它部件。
我們平時所說的這個單片機(jī)是多少位的,說的是這個單片機(jī)的CPU是多少位的,而和其它的部件無關(guān)。
而CPU也是由很多部件構(gòu)成的,真正決定這個單片機(jī)或者處理器是多少位的,其實取決于ALU,ALU是Arithmetic logic unit的首字母縮寫,即邏輯運(yùn)算單元。
CPU是單片機(jī)的核心,而ALU是CPU的核心。
CPU所有的運(yùn)算靠的都是ALU,它專門執(zhí)行算術(shù)和邏輯運(yùn)算,例如加減乘除運(yùn)算、與或非。
我們所說的這個單片機(jī)是多少位的,其實說的是的ALU的位數(shù),8位單片機(jī)的ALU是8位的。
A、B是它的數(shù)據(jù)輸入,Y是輸出
8位的ALU一次性最多可以處理8位數(shù)據(jù)。
比如計算兩個8位二進(jìn)制相加,
只需要給A和B輸入兩個8位二進(jìn)制數(shù),它的輸出端就能計算這兩個8位二進(jìn)制相加的和。
而32位單片機(jī)的ALU是32位的,一次可以計算兩個32位二級制數(shù)相加。
那8位機(jī)可以進(jìn)行16位或者32位的計算嗎?
這也是可以的,但是相對麻煩一些,比如當(dāng)我們對8位單片機(jī)編程時,所定義的int型數(shù)據(jù)就是16位的,那么8位機(jī)就需要把這個16位數(shù)分成兩個字節(jié),分別計算。
計算32位數(shù)據(jù)也一樣,在8位機(jī)當(dāng)中,我們定義的long int整型數(shù)據(jù)其實是32位的,這樣8位單片機(jī)就得把32位數(shù)據(jù)分成4個字節(jié)來分別計算。
如果是32位單片機(jī),則它的ALU是32位的,計算32位數(shù)據(jù)只需要一次運(yùn)算就完事了。
這就是32位單片機(jī)的優(yōu)勢所在。
而對于計算8位數(shù)據(jù),8位或者32位單片機(jī)在速度上幾乎差不多。
ALU和其它部件的數(shù)據(jù)傳輸靠的是數(shù)據(jù)總線,所以我們一般的說法是,8位單片機(jī)中的8位指的是數(shù)據(jù)總線的位寬是8位。
但其本質(zhì)上還是它的ALU一次性最多能處理多少位數(shù)據(jù)。
數(shù)據(jù)總線是傳輸數(shù)據(jù)的,比如數(shù)據(jù)總線傳輸?shù)氖?101 0000,那么RAM的某一個字節(jié)就會存儲0101 0000,但是RAM存儲器有很多個字節(jié),我們怎么確定要給哪一個字節(jié)存儲數(shù)據(jù)呢?
這就得靠地址總線了,它可以指定給RAM存儲器的哪一個字節(jié)存儲數(shù)據(jù)。
在RAM存儲器的最開始有一個地址譯碼器的部件。
這是一個兩位譯碼器,它有兩個輸入,四個輸出。
如果我們給它輸入00,它的第一根線輸出1(高電平),此時只有第一個RAM字節(jié)可以被數(shù)據(jù)總線寫入;
而給它輸入10,它的第二根線輸出1(高電平),指向第二個RAM字節(jié)。
以此類推,它可以單獨控制每一根線的輸出1。
它一共有4種不同的輸入,則每一個不同的輸入,對應(yīng)一個輸出線是高電平。
在最開始,8位單片機(jī)的地址總線是8位的,對應(yīng)的RAM存儲器的地址譯碼器也是8位的。
則它最多可以尋址到256個字節(jié),即這種單片機(jī)的RAM值最大可拓展到256字節(jié)。
后來256字節(jié)不夠用了,人們把8位機(jī)的地址總線拓展到了16位,則此時它可以尋址到的65536個字節(jié),也就是64KB的RAM空間,雖然地址總線是16位的,但是數(shù)據(jù)總線是8位的,所以它還是8位單片機(jī)。
隨著技術(shù)的發(fā)展,64KB的內(nèi)存逐漸滿足不了人們的需要。
所以32位CPU就顯現(xiàn)出它的優(yōu)勢來了,它不僅有32位的數(shù)據(jù)總線,地址總線也拓展到了32位。
這樣它可以尋址的內(nèi)存空間就達(dá)到了42億多字節(jié)、即4GB,在嵌入式領(lǐng)域幾乎用不到4GB的內(nèi)存空間。
雖然在嵌入式領(lǐng)域用不到這么多內(nèi)存,但是在電腦端,CPU對RAM要求卻很高,比如32位的電腦處理器,4GB早已不能滿足人們的需求,后來的故事我們也都知道了,32位處理器也慢慢被淘汰了,64位處理器開始大行其道。
好了這就是我對8位單片機(jī)和32位單片機(jī)的理解,希望對你有幫助。
審核編輯:湯梓紅
評論
查看更多