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