數(shù)據(jù)總線與字長、地址總線與尋址
n根數(shù)據(jù)總線可以同一時間處理n位二進制‘0’或‘1’,即字長為n。n根地址總線最大可以尋址2^n的地址空間。
本文引用地址:http://m.butianyuan.cn/article/201612/330505.htm字長:一般說來,計算機在同一時間內(nèi)處理的一組二進制數(shù)稱為計算機的一個“字”,而這組二進制數(shù)的位數(shù)就是“字長”。
字長在計算機內(nèi)的不同位置代表的含義也是不同的,計算機字長有以下幾種:
機器字長:計算機能夠同時處理的二進制位數(shù)叫做機器字長。字長總是8的整數(shù)倍,通常PC機的字長(即數(shù)據(jù)總線位數(shù))為16位(早期),32位和64位。通常稱處理字長為16位數(shù)據(jù)的CPU叫16位CPU,處理字長為32位數(shù)據(jù)的CPU叫32位CPU,處理字長為64位數(shù)據(jù)的CPU叫64位CPU,n位CPU就是能在同一時間內(nèi)并行處理字長為n位的二進制數(shù)據(jù),也就是CPU能同時處理2^n以內(nèi)的數(shù)字(對于超過2^n內(nèi)的數(shù)字就需要通過分解來處理)或n位二進制的指令。
64位PC機比32位PC機優(yōu)越的原因就在于它在一次操作中能處理的數(shù)字大,能處理的數(shù)字越大,它的運算能力越強,則操作的次數(shù)就越少,從而系統(tǒng)的效率也就越高。比如如果有兩個48位的數(shù)相加,32位的CPU會先計算低32位,再計算高16位;如果是64位CPU,則可以直接計算,這樣處理的速度就變快了。
存儲字長:一個存儲單元(存儲單元是由若干個存儲基元組成的,每個存儲基元可以寄存一位二進制‘0’或‘1’)存儲的一串二進制代碼叫存儲字,這串二進制代碼的位數(shù)稱為存儲字長。
指令字長:一條指令字所包含的二進制位數(shù)叫做指令字長。指令字長取決于操作碼的長度、操作數(shù)地址的長度和操作數(shù)地址的個數(shù),不同機器的指令字長是不同的。
早期的計算機指令字長、機器字長和存儲字長均相等,因此訪問某個存儲單元,便可以取出一條完整的指令或一個完整的數(shù)據(jù)。這種機器的指令字長是固定的,控制方式比較簡單。
隨著計算機的發(fā)展,存儲容量的增大,要求處理的數(shù)據(jù)類型增多,計算機的指令字長也發(fā)生了很大的變化。一臺機器的指令系統(tǒng)可以采用位數(shù)不相同的指令,即指令字長是可變的,如單字長指令、多字長指令??刂七@類指令的電路比較復(fù)雜,而且多字長指令要多次訪問存儲器才能取出一條完整的指令,因此使CPU速度下降。為了提高指令的運行速度和節(jié)省存儲空間,通常盡可能把常用的指令(如數(shù)據(jù)傳送指令、算術(shù)邏輯運算指令等)設(shè)計成單字長或短字長格式的指令。
CPU尋址空間:如果講處理器的尋址范圍,則要看處理器的地址總線的位數(shù),而不是它的數(shù)據(jù)總線的位數(shù)。存儲單元是以字節(jié)(byte)為單位,n根地址總線能訪問2的n次方個存儲單元。于是有32位地址總線可以訪問2^32個存儲單元,即4GB。8086處理器字長是16位,它的地址總線是20位,所以能訪問2的20次方個存儲單元,即1MB。
尋址范圍:地址總線的位數(shù)為n位,說明可以表達的地址個數(shù)為2^n個,尋址范圍是按地址總線位數(shù)計算得到的地址個數(shù)。
評論