看板 Grad-ProbAsk 關於我們 聯絡資訊
有錯請指正,謝謝。 ※ 引述《wsx02 ()》之銘言: : 1. http://ppt.cc/txxl 張凡的書在48頁 : 請問第3題是甚麼意思? 1跟2我會 只是第3題看不懂 第三題應該是要問為什麼這些改變可能減少或增加程式的大小。 a. 會縮短 R-type ,因為 register 需要的 bit 數從 5 -> 3 , 所以 R-type 可以從 32 bits 變為 26 bits 。 b. 會縮短 I-type ,因為 immediate 從 16 bits -> 10 bits , 所以 I-type 可以從 32 bits 變為 26 bits 。 如果用了 a. 和 b. ,那麼 R/I-type 的 instruction 就會變短, 如此一來存放這些 instruction 所佔的空間也會變小, 就可以讓程式變得比較小。 但這樣作同時也會有副作用,因為 register 變少, 所以當 register 不夠用時,可能需要作 register spilling 。 就會需要更多的 instruction 才能完成一樣的動作。 immediate 變短也有一樣的問題, 原本 assign 16-bit data 只要一個 instruction , 現在可能要三個。 jump 距離上限變短, 原本跳一次現在可能要跳兩次。 基於這些可能增加 instruction 數的理由。 這樣的改變也可能會使程式變大。 : 2. http://ppt.cc/Ri2X 張凡的書在49頁 : 1跟2我會 : 請問第3題 為什麼是 : a. jump跟beq都是no : b. jump跟beq都是yes : 謝謝 jump (J-type) 的距離上限是 26 bits , beq (I-type) 是 16 bits 。 0x2000 0000 和 0x0000 1000 的距離要 29 bits 才能表示,所以都跳不到。 0x2000 0000 和 0x2000 1400 的距離只要 13 bits 就能表示,所以都跳得到。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.169.122.198