[理工] [計組] CPU對記憶體位置編碼

作者: kyuudonut (善良老百姓)   2016-07-14 00:12:35
HI大家 我想講的題目是張凡課本(上) P82 的第四題(2)
想先請問記憶體的位址是signed還是unsigned
以 32BIT MIPS來講 記憶體從頭到尾的編碼:
(1) signed
可能是 ffffffffh ~ 00000000h ~ 7fffffffh
(2) unsigned
可能是 00000000h ~ ffffffffh
對CPU來說 都是數字 可能沒什麼
但是假如碰到branch
branch有16bit可以跳動的範圍: -20000h ~ 1fffch
假如base是 0000000h
branch的跳動範圍就會變成 fffe0000h ~ 0001fffch
作者: A4P8T6X9 (殘廢的名偵探)   2016-07-14 23:06:00
unsigned 的,跳到另外一邊不合理。
作者: k2shouai (coding....)   2016-07-15 10:54:00
他上課是改yes沒錯,張凡上課是說可以把記憶體想成是一個圓(頭尾相連)。 jump指令才有256mb的區塊限制。
作者: kyuudonut (善良老百姓)   2016-07-19 23:11:00
那邊已經不是code sec,CPU會擋下來
作者: k2shouai (coding....)   2016-07-19 23:12:00
哪一段吧. 這題目出的本來就怪怪的 PC也不太可能在0吧你怎能預期那邊不是code sec, 就不同程式了
作者: kyuudonut (善良老百姓)   2016-07-19 23:19:00
然後感謝糾正XD 有可能是別的code sec
作者: k2shouai (coding....)   2016-07-19 23:27:00
base & limit register->MIPS哪來這二個?
作者: ken52011219 (呱)   2016-07-21 14:37:00
後期很常遇到這種張凡和考試答案給的不一樣的題目這時侯 分數就在一念之間告訴你該怎麼做 你就想著張凡的講解 然後再想 三個字暫時的然後寫上 學校給的正確答案 (拍拍至於這題,翻開第71頁 BEQ為程式計數器相對定址法 從這裡其實就可以知道 它是signed了 不用想太多 instruction 裡的常數加上pc的位址 第二題是yes沒有太大的異議後面學過pipeline就可以更清楚瞭解beq在整個管線流程中 它的常數會在IF時經過加法器 +上pc再傳回去http://i.imgur.com/IGI76dz.jpg 更正是在ID時(Instruction decode)
作者: tomdog12345 (方)   2016-07-23 12:13:00
所以考試時這種有不同講解答案的題目 還是要以學校為主嗎 @@但是我是覺得張凡的答案也有一套道理的說
作者: ken52011219 (呱)   2016-07-23 12:57:00
見仁見智 只不過你確定題目一模一樣 算出來又跟你印象中一樣有爭議 然後又剛好是同間學校考出來的這時 千萬 不要跟這間教授出題過不去 XDD只不過張凡 這類有爭議題目有講到也會這樣跟學生說只不過阿... 往年學校爭議送分題 尤其是資工的不少相信自己 相信自己的答案就好
作者: tomdog12345 (方)   2016-07-24 10:04:00
好的 反正就是相信自己 剩下的聽天由命XD 感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com