【組成原理】
1.機器字長,儲存字長,指令字長及其關係
https://blog.csdn.net/qq_34756106/article/details/103524082
-
機器字長:cpu中ALU的輸入端位數,由於ALU的輸入來源通常是通用暫存器或內部資料匯流排,故也是通用暫存器位數和內部資料匯流排根數;同時ALU中運算的是定點數和浮點數,所以也是定點數位數,通常為8位,16位,32位,64位反映的是cpu的運算精度
-
儲存字長:為cpu向記憶體取某個地址資料時一次性取走的資料量,可理解每行/個地址所擁有的資料量,通常為1B,2B,4B。為外部資料匯流排根數,通常機器字長為儲存字長的整數倍,如1倍,2倍等(也就是機器字長比儲存字長大,因為一個能處理32位定點數的cpu必然能處理16位,8位的在主存中的一個定點數,而8位cpu位數處理不了16位定點數)。且決定MDR暫存器位數
-
指令字長:是單指令的長度(指令字長可以為雙,單,半儲存字長指令),若指令字長為雙儲存字長,則取指時需訪問主存2次,指令字長決定IR暫存器位
注意:指令字長可以是儲存字長的0.5,1,2等倍,機器字長可以是儲存字長的1,2,4等倍,但指令字長和機器字長兩者本身無必然倍數關係即互不影響,只是恰巧各自與儲存字長有倍數關係。因為機器字長強調的是參與ALU運算的定點數位數,而定點數位數顯然與指令長度也就是指令字長無關。且機器字長,儲存字長,指令字長都必須是8bit即1Byte的整數倍,也就是當儲存字長為1Byte時,指令字長最小也要1Byte,而不能取0.5倍,而當前者為16Byte時,後者最小可為1Byte
MAR位數由地址個數決定,地址個數=主存空間大小/儲存字長,本題中地址個數=128KB/2B=256K(16位)因為題幹提示 按字編址(字為16位即2B,且“字”預設為儲存字長且與機器字長相同) MDR位數由儲存字長決定
若無特別說明,計算機字長指的是儲存字長,且預設其與機器字長相同,就算不相同也不影響計算,因為32位cpu,必然能處理32位,16位,8位等定點數,最多影響通用暫存器位數和cpu內部資料匯流排根數