機器字長的含義是資料通路的寬度。
資料通路是指CPU內部資料流經的路徑以及路徑上的部件(比如資料匯流排,暫存器),這些部件的寬度要一致,才能匹配。
所以字長等於CPU匯流排的寬度=運算器的位數=通用暫存器的寬度。
舉一個例子,MIPS 32結構的計算機,字長32位,即資料匯流排的寬度為32位,即CPU和主存間一次能傳送的資料寬度為32位。
一般情況下,字的長度和字長是一樣的。故一個字的長度=32位。
按字編址是指儲存器中一個儲存單元的大小是一個字,從0開始編址。0號單元大小1個字,1號單元大小1個字。儲存字長就是一個儲存單元的大小。
所以按字編址時,機器字長=儲存字長。此時,CPU一次能取一個單元的資料,即32位。
假如按位元組編址,儲存器一個儲存單元大小為1個位元組,即0號單元1個位元組,1號單元1個位元組。
此時,儲存字長為1個位元組。機器字長!=儲存字長,CPU一次能取4個單元的資料
需要注意的是:上面的樓主講錯了,IA-32架構的字一直是16位,從80386處理器開始,字長為32位。所以!字和字長實際是不一樣的概念!字是度量資料型別的單位,字長是資料通路的寬度,也可以說成CPU一次能處理的資料寬度。
機器字長的含義是資料通路的寬度。
資料通路是指CPU內部資料流經的路徑以及路徑上的部件(比如資料匯流排,暫存器),這些部件的寬度要一致,才能匹配。
所以字長等於CPU匯流排的寬度=運算器的位數=通用暫存器的寬度。
舉一個例子,MIPS 32結構的計算機,字長32位,即資料匯流排的寬度為32位,即CPU和主存間一次能傳送的資料寬度為32位。
一般情況下,字的長度和字長是一樣的。故一個字的長度=32位。
按字編址是指儲存器中一個儲存單元的大小是一個字,從0開始編址。0號單元大小1個字,1號單元大小1個字。儲存字長就是一個儲存單元的大小。
所以按字編址時,機器字長=儲存字長。此時,CPU一次能取一個單元的資料,即32位。
假如按位元組編址,儲存器一個儲存單元大小為1個位元組,即0號單元1個位元組,1號單元1個位元組。
此時,儲存字長為1個位元組。機器字長!=儲存字長,CPU一次能取4個單元的資料
需要注意的是:上面的樓主講錯了,IA-32架構的字一直是16位,從80386處理器開始,字長為32位。所以!字和字長實際是不一樣的概念!字是度量資料型別的單位,字長是資料通路的寬度,也可以說成CPU一次能處理的資料寬度。